On 2020-11-15 14:04:50 +0100, Christophe wrote:
> 
> ----- Sebastian Ramacher <sramac...@debian.org> a écrit :
> > Control: forwarded -1 https://github.com/intel/media-driver/issues/1081
> > Control: tags -1 = upstream
> > 
> > On 2020-11-14 23:16:35 +0100, Christophe CURIS wrote:
> > > Package: intel-media-va-driver
> > > Version: 20.3.0+dfsg1-1
> > > Severity: important
> > > Tags: ftbfs
> > > 
> > > Dear Maintainer,
> > > 
> > > Since my latest debian update, VLC is crashing when playing video with 
> > > the message:
> > >   Illegal instruction
> > > 
> > > After a bit of debug in GDB, I have confirmed that the crash comes from:
> > >   /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > 
> > > (gdb) bt
> > > #0  0x00007fffa133ba6b in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #1  0x00007fffa133bb8f in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #2  0x00007fffa133b2c8 in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #3  0x00007fffa133bc67 in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #4  0x00007fffa1342a05 in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #5  0x00007fffa12c6597 in ?? () from 
> > > /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
> > > #6  0x00007fffac244e86 in ?? () from /usr/lib/x86_64-linux-gnu/libva.so.2
> > > #7  0x00007fffac245feb in vaInitialize () from 
> > > /usr/lib/x86_64-linux-gnu/libva.so.2
> > > 
> > > I am suspecting it is because the package is compiled from a very recent 
> > > architecture
> > > (i7 with sse4.1 explicitely enabled) which my processor does not support.
> > 
> > That means that you're CPU/GPU is too old and is not supported by
> > intel-media-driver. As a workaround, you can set the environment
> > variable LIBVA_DRIVER_NAME to i915 (or remove intel-media-va-driver from
> > your system). But in any case, the driver should
> > at least bail out if it detects an unsupported platform before running
> > into illegal instructions. This is currently tracked upstream at
> > https://github.com/intel/media-driver/issues/1081
> 
> Hi Sebastian,
> 
> Thanks for your feedback.
> On my side, I have continued investigations and managed to compile something.
> Good news: it looks like it is working now (Well, I mean apps not crashing).
> 
> I had a quick look, it seems impossible to remove this package due to 
> dependancies. Maybe I would have more luck with the "-non-free" alternative 
> but I seriously doubt.

I guess due to va-driver-all. This is a catch all package that installs
all the available drivers. If you know which one you need (and that's
not intel-media-va-driver), you can safely uninstall and keep only the
driver suitable for your machine.

> On your side, what would be good behaviour if I tryed to propose a patch?

FWIW, I patch is currently worked on upstream. In any case, a proper fix
would be to ensure that __vaDriverInit is built without SSE3 and above.

Best

> 
> My current patch is an "ugly hack" that replaces one SSE4.1 instruction by 
> its SSE2 counterpart and changes the "-m" settings (-march=, -msseXX)
> I consider this not ok for the general use, so there could be tradeoffs...
> 
> > 
> > Cheers
> > 
> > 
> > > 
> > > I have tryed compiling the package from source, but after tweaking the 
> > > flags to
> > > set -march=native, the compilation fails:
> > > 
> > > In file included from 
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/linux/common/cm/hal/cm_mem_os.h:30,
> > >                  from 
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_mem.h:128,
> > >                  from 
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_buffer_rt.cpp:33:
> > > /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h: In function ‘void 
> > > CmFastMemCopyFromWC(void*, const void*, size_t, CPU_INSTRUCTION_LEVEL)’:
> > > /usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:582:1: error: 
> > > inlining failed in call to ‘always_inline’ ‘__m128i 
> > > _mm_stream_load_si128(__m128i*)’: target specific option mismatch
> > >   582 | _mm_stream_load_si128 (__m128i *__X)
> > >       | ^~~~~~~~~~~~~~~~~~~~~
> > > In file included from 
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_mem.h:128,
> > >                  from 
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/agnostic/common/cm/cm_buffer_rt.cpp:33:
> > > [...]/intel-media-driver-20.3.0+dfsg1/media_driver/linux/common/cm/hal/cm_mem_os.h:201:53:
> > >  note: called from here
> > >   201 |                         xmm3 = _mm_stream_load_si128(mmSrc + 3);
> > >       |                                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
> > > 
> > > I am wondering what would be a good solution to at least avoid crashes...
> > 
> > 
> > > 
> > > Regards,
> > > Christophe
> > > 
> > > -- System Information:
> > > Debian Release: bullseye/sid
> > >   APT prefers testing
> > >   APT policy: (500, 'testing')
> > > Architecture: amd64 (x86_64)
> > > Foreign Architectures: i386
> > > 
> > > Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU threads)
> > > Kernel taint flags: TAINT_WARN
> > > Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
> > > Shell: /bin/sh linked to /bin/dash
> > > Init: systemd (via /run/systemd/system)
> > > LSM: AppArmor: enabled
> > > 
> > > Versions of packages intel-media-va-driver depends on:
> > > ii  libc6                          2.30-4
> > > ii  libgcc-s1                      10.2.0-16
> > > ii  libigdgmm11                    20.3.2+ds1-1
> > > ii  libstdc++6                     10.2.0-16
> > > ii  libva2 [libva-driver-abi-1.9]  2.9.0-1
> > > 
> > > intel-media-va-driver recommends no packages.
> > > 
> > > intel-media-va-driver suggests no packages.
> > > 
> > > -- no debconf information
> > 
> > -- 
> > Sebastian Ramacher
> 

-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature

Reply via email to