jlesage / docker-handbrake

Docker container for HandBrake
MIT License
855 stars 97 forks source link

H.265 (Intel QSV) not showing #265

Closed Qesaru closed 11 months ago

Qesaru commented 1 year ago

Hello everyone, I'm using this container on my Unraid-machine with an i3 12100. When want to encode a video file, I cannot choose the H.265 (Intel QSV) encoder, because it doesn't appear in the list in the Video tab. I have the i915 driver enabled and I have --devices /dev/dri added as an extra startup parameter for the container. H.264 (Intel QSV) is there and works fine, I can also use HW accelerated transcoding in other containers. When I try to use the Hardware>H.265 QSV 1080p preset, the codec option in the Video tab just defaults to the first entry (which is AV1 (SVT))

grafik

jlesage commented 1 year ago

Could you share the activity log (/mnt/user/appdata/HandBrake/ghb/Activity.log.*) ?

Qesaru commented 1 year ago

Could you share the activity log (/mnt/user/appdata/HandBrake/ghb/Activity.log.*) ?

Sure, there you go:

[23:30:07] gtkgui: HandBrake 1.6.1 (2023042900) - Linux x86_64 - https://handbrake.fr
[23:30:07] Compile-time hardening features are enabled
[23:30:07] hb_display_init: attempting VA driver 'iHD'
libva info: VA-API version 1.17.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
[23:30:07] hb_display_init: using VA driver 'iHD'
libva info: VA-API version 1.17.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
[23:30:07] qsv: is available on this system
Cannot load libnvidia-encode.so.1
[23:30:07] hb_init: starting libhb thread
[23:30:07] hb_init: starting libhb thread
[23:30:07] hb_init: starting libhb thread
Qesaru commented 1 year ago

Sadly I didn't find a solution yet. Any help would be much appreciated.

johndong commented 1 year ago

I'm seeing the same problem with the 23.xx tags. QSV for H.264 is there but QSV for h.265 don't show up as options in the UI.

The last working version for QSV H.265 was 1.25.1

johndong commented 1 year ago

New tag, not advertising H.265 support:

[23:00:51] CPU: 12th Gen Intel(R) Core(TM) i9-12900H [23:00:51] - Intel microarchitecture Alder Lake performance hybrid architecture [23:00:51] - logical processor count: 20 [23:00:51] Intel Quick Sync Video support: yes [23:00:51] Intel Quick Sync Video unknown adapter with index 0 [23:00:51] Impl mfxhw64 library path: /opt/intel/mediasdk/lib/libmfxhw64.so.1.35 [23:00:51] - Intel Media SDK hardware: API 1.35 (minimum: 1.3) [23:00:51] - Decode support: h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes) [23:00:51] - H.264 encoder: yes [23:00:51] - preferred implementation: hardware (any) via ANY [23:00:51] - capabilities (hardware): lowpower breftype vsinfo chromalocinfo opt1 opt2+mbbrc+extbrc+trellis+repeatpps+ib_adapt+nmpslice [23:00:51] - H.265 encoder: no [23:00:51] - AV1 encoder: no

Old tag: ` [22:35:57] CPU: 12th Gen Intel(R) Core(TM) i9-12900H [22:35:57] - logical processor count: 20 [22:35:57] Intel Quick Sync Video support: yes [22:35:57] - Intel Media SDK hardware: API 1.255 (minimum: 1.3) [22:35:57] - Decode support: h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes) [22:35:57] - H.264 encoder: yes [22:35:57] - preferred implementation: hardware (any) via ANY [22:35:57] - capabilities (hardware): breftype icq+la+i+downs vsinfo opt1 opt2+mbbrc+extbrc+trellis+ib_adapt+nmpslice [22:35:57] - H.265 encoder: yes (8bit: yes, 10bit: yes) [22:35:57] - preferred implementation: hardware (any) via ANY [22:35:57] - capabilities (hardware): lowpower bpyramid icq vsinfo opt1

`

johndong commented 1 year ago

I was able to get this working on a bare Ubuntu 22.04 LTS host with a self-compiled HandBrake but only after updating all the Intel Media Drivers to the ones from Intel's repo, version 23. Before that, same behavior, claims H.264 supported but H.265 not supported. After, this is the output from the host-installed Handbrake:

[21:51:50] Compile-time hardening features are enabled libva info: VA-API version 1.18.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 libva info: VA-API version 1.18.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 [21:51:50] hb_display_init: attempting VA driver 'iHD' libva info: VA-API version 1.18.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 libva info: VA-API version 1.18.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 libva info: VA-API version 1.18.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 [21:51:50] hb_display_init: using VA driver 'iHD' libva info: VA-API version 1.18.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function vaDriverInit_1_18 libva info: va_openDriver() returns 0 [21:51:50] qsv: is available on this system Cannot load libnvidia-encode.so.1 [21:51:51] hb_init: starting libhb thread [21:51:51] thread 7f75c3fff640 started ("libhb") HandBrake 1.6.1 (2023052800) - Linux x86_64 - https://handbrake.fr 20 CPUs detected Opening K2F9vGAiUVuFLoW0.mkv... [21:51:51] CPU: 12th Gen Intel(R) Core(TM) i9-12900H [21:51:51] - Intel microarchitecture Alder Lake performance hybrid architecture [21:51:51] - logical processor count: 20 [21:51:51] Intel Quick Sync Video support: yes [21:51:51] Intel Quick Sync Video integrated adapter with index 0 [21:51:51] Impl mfx-gen library path: /usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2.8 [21:51:51] - Intel Media SDK hardware: API 2.8 (minimum: 1.3) [21:51:51] - Decode support: h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes) [21:51:51] - H.264 encoder: yes [21:51:51] - preferred implementation: hardware (any) via ANY [21:51:51] - capabilities (hardware): lowpower breftype vsinfo chromalocinfo opt1 opt2+mbbrc+extbrc+trellis+repeatpps+ib_adapt+nmpslice [21:51:51] - H.265 encoder: yes (8bit: yes, 10bit: yes) [21:51:51] - preferred implementation: hardware (any) via ANY [21:51:51] - capabilities (hardware): lowpower bpyramid vsinfo masteringinfo cllinfo opt1 [21:51:51] - AV1 encoder: no

jlesage commented 1 year ago

Thanks for this input. I will update the libraries.

Did you use/compile the Intel Media SDK (https://github.com/Intel-Media-SDK/MediaSDK) ? I think it should no longer be used by HandBrake, so I would remove it at the same time.

johndong commented 1 year ago

Sorry, it's hard for me to tell for sure. I basically followed the instructions to add this repo on the host: https://dgpu-docs.intel.com/installation-guides/ubuntu/ubuntu-jammy-arc.html

And then built the Handbrake 1.6.1 tag using their instructions at https://handbrake.fr/docs/en/latest/developer/build-linux.html, installing all of the packages under "Ubuntu".

I think you're right about the media SDK being no longer used. I tried messing with your build script a little to pull in new things but I still couldn't get the "Media SDK hardware API" version to bump up to 2.8, which I think is the key.

I'm happy to help you test new Docker tags if you don't have Alder Lake hardware, I think your current stack should work up to the 10th gen Intels.

I'm just not very familiar with Alpine in the base image and also can't tell exactly what the Intel Ubuntu repos pull in exactly. But it's definitely something doable in your Docker image, as all this Jammy experimenting I'm doing is in an unprivileged ProxMox LXC container so it's not doing anything special at the kernel or GPU firmware level.

johndong commented 1 year ago

I also want to caution: Don't use the old tags mentioned above that "work". Yes the encoder works, but the quality of H.265 10-bit is horrifying, including random flickering of solid backgrounds like the sky.

The properly compiled / updated driver stack mentioned above does not have that issue, on the same hardware.

jlesage commented 1 year ago

Can you try the image tag v23.05.1-pre.1 to see if it is better?

johndong commented 1 year ago

Unfortunately, still missing the H.265 encoder. Here's the log output:

[00:26:28] CPU: 12th Gen Intel(R) Core(TM) i9-12900H [00:26:28] - Intel microarchitecture Alder Lake performance hybrid architecture [00:26:28] - logical processor count: 20 [00:26:28] Intel Quick Sync Video support: yes [00:26:28] Intel Quick Sync Video unknown adapter with index 0 [00:26:28] Impl mfxhw64 library path: /opt/intel/mediasdk/lib/libmfxhw64.so.1.35 [00:26:28] - Intel Media SDK hardware: API 1.35 (minimum: 1.3) [00:26:28] - Decode support: h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes) [00:26:28] - H.264 encoder: yes [00:26:28] - preferred implementation: hardware (any) via ANY [00:26:28] - capabilities (hardware): lowpower breftype vsinfo chromalocinfo opt1 opt2+mbbrc+extbrc+trellis+repeatpps+ib_adapt+nmpslice [00:26:28] - H.265 encoder: no [00:26:28] - AV1 encoder: no

jlesage commented 1 year ago

Does it change anything when you run the container in privileged mode ?

Also, can you try the following steps:

johndong commented 1 year ago

Privileged mode doesn't make a difference. My /dev/dri is chmodded 666 via udev rules and I have been able to spin up a small Ubuntu docker image in the same container and verify that VAAPI access works. Here's the strace for HandBrakeCLI -- it looks like it is looking for mediasdk libraries

read(3, "/lib\n/usr/lib\n/usr/local/lib\n/op"..., 55) = 55 open("/lib/libass.so.9", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libass.so.9", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libmp3lame.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libmp3lame.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libvpx.so.7", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libvpx.so.7", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libtheoraenc.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libtheoraenc.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libtheoradec.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libtheoradec.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libvorbis.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libvorbis.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libvorbisenc.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libvorbisenc.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libx264.so.164", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libx264.so.164", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libxml2.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libxml2.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libbz2.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libbz2.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libjansson.so.4", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libjansson.so.4", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libopus.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libopus.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libspeex.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libspeex.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/liblzma.so.5", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/liblzma.so.5", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libturbojpeg.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libturbojpeg.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libva.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libva.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libva-drm.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libva-drm.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libnuma.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libnuma.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libfribidi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libfribidi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libharfbuzz.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libharfbuzz.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libfontconfig.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libfontconfig.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libfreetype.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libfreetype.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libogg.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libogg.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libdrm.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libdrm.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libgraphite2.so.3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libgraphite2.so.3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libglib-2.0.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libglib-2.0.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libexpat.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libexpat.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libpng16.so.16", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libpng16.so.16", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libbrotlidec.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libbrotlidec.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libpcre2-8.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libpcre2-8.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libintl.so.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libintl.so.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/lib/libbrotlicommon.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libbrotlicommon.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/lib/x86_64-linux-gnu", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 open("/usr/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 open("/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/usr/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a885f, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc5a7a885f, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a885f, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc5a7a885f, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib64", "lib", 4078) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a885f, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc5a7a885f, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib64", "lib", 4080) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a885f, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc5a7a885f, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) writev(2, [{iov_base="libva info: VA-API version 1.18."..., iov_len=34}, {iov_base=NULL, iov_len=0}], 2libva info: VA-API version 1.18.0 writev(2, [{iov_base="libva info: User environment var"..., iov_len=61}, {iov_base=NULL, iov_len=0}], 2libva info: User environment variable requested driver 'iHD' writev(2, [{iov_base="libva info: Trying to open /opt/"..., iov_len=68}, {iov_base=NULL, iov_len=0}], 2libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so open("/opt/intel/mediasdk/lib/iHD_drv_video.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/tmp/intel-media-driver/build/gmmlib/libigdgmm.so.12", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libigdgmm.so.12", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libigdgmm.so.12", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/local/lib/libigdgmm.so.12", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib64/libigdgmm.so.12", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 writev(2, [{iov_base="libva info: Found init function "..., iov_len=52}, {iov_base=NULL, iov_len=0}], 2libva info: Found init function vaDriverInit_1_18 open("/lib/libX11.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libX11.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libxcb.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libxcb.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libXau.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXau.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libXdmcp.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXdmcp.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libbsd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libbsd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libmd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libmd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libva-x11.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libva-x11.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libxcb-dri3.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libxcb-dri3.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libX11-xcb.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libX11-xcb.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libXfixes.so.3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXfixes.so.3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 open("/lib/libXext.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXext.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 writev(2, [{iov_base="libva info: va_openDriver() retu"..., iov_len=38}, {iov_base=NULL, iov_len=0}], 2libva info: va_openDriver() returns 0 open("/lib/libvplswref64.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libvplswref64.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/local/lib/libvplswref64.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib64/libvplswref64.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/tmp/handbrake/build/contrib/lib/libvplswref64.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/x86_64-linux-gnu", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 open("/usr/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 open("/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/usr/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a87ef, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc5a7a87ef, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a87ef, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc5a7a87ef, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib64", "lib", 4078) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a87ef, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc5a7a87ef, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib64", "lib", 4080) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc5a7a87ef, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc5a7a87ef, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) writev(2, [{iov_base="libva info: VA-API version 1.18."..., iov_len=34}, {iov_base=NULL, iov_len=0}], 2libva info: VA-API version 1.18.0 writev(2, [{iov_base="libva info: User environment var"..., iov_len=61}, {iov_base=NULL, iov_len=0}], 2libva info: User environment variable requested driver 'iHD' writev(2, [{iov_base="libva info: Trying to open /opt/"..., iov_len=68}, {iov_base=NULL, iov_len=0}], 2libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so open("/opt/intel/mediasdk/lib/iHD_drv_video.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 writev(2, [{iov_base="libva info: Found init function "..., iov_len=52}, {iov_base=NULL, iov_len=0}], 2libva info: Found init function vaDriverInit_1_18 writev(2, [{iov_base="libva info: va_openDriver() retu"..., iov_len=38}, {iov_base=NULL, iov_len=0}], 2libva info: va_openDriver() returns 0 open("/lib/libnvidia-encode.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libnvidia-encode.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/local/lib/libnvidia-encode.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib64/libnvidia-encode.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) writev(2, [{iov_base="Cannot load libnvidia-encode.so."..., iov_len=34}, {iov_base=NULL, iov_len=0}], 2Cannot load libnvidia-encode.so.1 writev(2, [{iov_base="", iov_len=0}, {iov_base="[03:36:19] hb_init: starting lib"..., iov_len=42}], 2[03:36:19] hb_init: starting libhb thread writev(2, [{iov_base="", iov_len=0}, {iov_base="[03:36:19] thread 7f7cecccbb38 s"..., iov_len=49}], 2[03:36:19] thread 7f7cecccbb38 started ("libhb") e4db010d2a69:/tmp# open("/usr/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 open("/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/usr/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) open("/opt/intel/mediasdk/lib", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc6ffc3e7f, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc6ffc3e7f, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib", 0x7ffc6ffc3e7f, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc6ffc3e7f, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib64", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/opt/intel/mediasdk/lib64", "lib", 4078) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc6ffc3e7f, 4078) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 4096) = 19 readlink("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", 0x7ffc6ffc3e7f, 4096) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib64", "lib", 4080) = 3 readlink("/opt/intel/mediasdk/lib", 0x7ffc6ffc3e7f, 4080) = -1 EINVAL (Invalid argument) readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1", "libmfxhw64.so.1.35", 4096) = 18 readlink("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", 0x7ffc6ffc3e7f, 4096) = -1 EINVAL (Invalid argument) open("/opt/intel/mediasdk/lib/libmfx-gen.so.1.2.8", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/opt/intel/mediasdk/lib/libmfxhw64.so.1.35", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/etc/libva.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) writev(2, [{iov_base="libva info: VA-API version 1.18."..., iov_len=34}, {iov_base=NULL, iov_len=0}], 2libva info: VA-API version 1.18.0 writev(2, [{iov_base="libva info: User environment var"..., iov_len=61}, {iov_base=NULL, iov_len=0}], 2libva info: User environment variable requested driver 'iHD' writev(2, [{iov_base="libva info: Trying to open /opt/"..., iov_len=68}, {iov_base=NULL, iov_len=0}], 2libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so open("/opt/intel/mediasdk/lib/iHD_drv_video.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 writev(2, [{iov_base="libva info: Found init function "..., iov_len=52}, {iov_base=NULL, iov_len=0}], 2libva info: Found init function __vaDriverInit_1_18

jlesage commented 1 year ago

Thank you. Could you also do the same exercise for your HandBrake version on Ubuntu ?

johndong commented 1 year ago

Sure!

openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libass.so.9", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmp3lame.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libvpx.so.7", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtheoraenc.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtheoradec.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libvorbis.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libvorbisenc.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libx264.so.163", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxml2.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbz2.so.1.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libjansson.so.4", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libopus.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libspeex.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libturbojpeg.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-drm.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnuma.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmvec.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfribidi.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libharfbuzz.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfontconfig.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfreetype.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libogg.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcairo.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libicuuc.so.70", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdrm.so.2", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgraphite2.so.3", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libexpat.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpng16.so.16", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbrotlidec.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpixman-1.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-shm.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-render.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXrender.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXext.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libicudata.so.70", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbrotlicommon.so.1", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbsd.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmd.so.0", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/usr/lib", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1", "libmfxhw64.so.1.35", 1023) = 18 readlink("/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1.35", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 1023) = 19 readlink("/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2.8", 0x7ffd956fae90, 1023) = -1 EINVAL (Invalid argument) openat(AT_FDCWD, "/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/usr/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/usr/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/opt/intel/mediasdk/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/intel/mediasdk/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1.35", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2.8", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigdgmm.so.12", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: Found init function "..., 52libva info: Found init function vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=1366, ...}, 0) = 0 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=1366, ...}, 0) = 0 openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v3/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v3", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib", {st_mode=S_IFDIR|0755, st_size=76, ...}, 0) = 0 openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v3/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v3", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/haswell/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/haswell/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/haswell/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/haswell", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64", 0x7ffd956fb930, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib", {st_mode=S_IFDIR|0755, st_size=76, ...}, 0) = 0 openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so write(2, "libva info: Found init function "..., 52libva info: Found init function __vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: User environment var"..., 61libva info: User environment variable requested driver 'iHD' write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so write(2, "libva info: Found init function "..., 52libva info: Found init function vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libvplswref64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libvplswref64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libvplswref64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libvplswref64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/HandBrake/build/contrib/lib/libvplswref64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 readlink("/usr/lib", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1", "libmfxhw64.so.1.35", 1023) = 18 readlink("/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1.35", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) readlink("/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2", "libmfx-gen.so.1.2.8", 1023) = 19 readlink("/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2.8", 0x7ffd956faec0, 1023) = -1 EINVAL (Invalid argument) openat(AT_FDCWD, "/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/usr/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/usr/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 openat(AT_FDCWD, "/opt/intel/mediasdk/lib", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/intel/mediasdk/lib64", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libmfxhw64.so.1.35", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libmfx-gen.so.1.2.8", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: User environment var"..., 61libva info: User environment variable requested driver 'iHD' write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so write(2, "libva info: Found init function "..., 52libva info: Found init function vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: User environment var"..., 61libva info: User environment variable requested driver 'iHD' write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so write(2, "libva info: Found init function "..., 52libva info: Found init function __vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/libva.conf", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "libva info: VA-API version 1.18."..., 34libva info: VA-API version 1.18.0 write(2, "libva info: User environment var"..., 61libva info: User environment variable requested driver 'iHD' write(2, "libva info: Trying to open /usr/"..., 74libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so write(2, "libva info: Found init function "..., 52libva info: Found init function vaDriverInit_1_18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libva-x11.so.2", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libXfixes.so.3", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxcb-dri3.so.0", O_RDONLY|O_CLOEXEC) = 4 write(2, "libva info: va_openDriver() retu"..., 38libva info: va_openDriver() returns 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libigfxcmrt.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnvidia-encode.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnvidia-encode.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnvidia-encode.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) write(2, "Cannot load libnvidia-encode.so."..., 34Cannot load libnvidia-encode.so.1 write(2, "[04:32:58] hb_init: starting lib"..., 42[04:32:58] hb_init: starting libhb thread write(2, "[04:32:58] thread 7f1fba7fc640 s"..., 49[04:32:58] thread 7f1fba7fc640 started ("libhb")

Qesaru commented 1 year ago

According to the comments in this Reddit thread that I've posted before I asked for help here, the issue seems to be with 12th gen Intel. I don't know about newer CPUs, but older ones don't seem to have this problem.

jlesage commented 1 year ago

From what I can see, there is no missing library in the container. What is different between the container and the Ubuntu installation seems to be the detection of the hardware:

Ubuntu:

[21:51:51] Intel Quick Sync Video integrated adapter with index 0
[21:51:51] - Intel Media SDK hardware: API 2.8 (minimum: 1.3)

Container:

[00:26:28] Intel Quick Sync Video unknown adapter with index 0
[00:26:28] - Intel Media SDK hardware: API 1.35 (minimum: 1.3)

@johndong, are you running the Unbuntu installation on the same unRAID host as the container ? I guess you are running in a VM ?

Qesaru commented 1 year ago

i think might be this intel oneVPL runtime library things for newer intel platform with UHD 7xx series and Iris Xe integrated graphics.

https://www.intel.com/content/www/us/en/developer/articles/guide/onevpl-installation-guide.html

https://github.com/oneapi-src/oneVPL-intel-gpu

maybe you can help to post in the github issues thread as i dont have account yet to post there

u/alvinleongcw on Reddit

ICPGr8Milenko commented 1 year ago

Just wanted to chime in that I'm experiencing this exact issue with a 13900k as well, with the docker running the latest version on my Unraid server (v23.06.1). I recently swapped from a 10900k where it was working fine to the 13900k with the QSV h265 options missing. The iGPU works fine for H264, in Plex, in tdarr, unmanic, etc. For what it's worth, this is on a MSI z790 Meg Ace motherboard if that matters.

Bionic8x commented 1 year ago

I also have this same issue with an i5-13400.

/dev/dri is passed along, and H.264 QSV is present in the UI, but H.265 QSV is missing.

image

mczapala commented 1 year ago

Same issue here with 13100

teedoubleyou commented 1 year ago

Same issue (Handbrake: 23.06.1) here with 13900t on a Unraid-System (Vers. 6.12.4).

burtaverde commented 1 year ago

Seems to me that it's caused by an outdated intel driver. The container is still running v 22 while intel is at 30

jlesage commented 1 year ago

You are talking about which driver exactly ?

burtaverde commented 1 year ago

There. I may be wrong about the way i found it, but it seems others have had the same issue when updating handbrake without updating their intel graphics drivers. image

jlesage commented 1 year ago

I try to keep them up-to-date, but as you said, this generally doesn't help. The problem seems to be with the detection/usage done by HandBrake itself.

burtaverde commented 1 year ago

I'm not too versed in the whole process, but, according to their experience, going to 30.0.101.1660 seems to make it work once again: https://www.reddit.com/r/handbrake/comments/uhkzfo/qsv_no_longer_an_option_for_h265_encodes/

jlesage commented 1 year ago

I think the version30.0.101.1660 you are talking about is for the Windows driver. This container is implements the Linux version of HandBrake, so a whole different story.

burtaverde commented 1 year ago

yeah i wasn't sure if it applied, but it did seem to be strangely similar in symptoms. I bid ye good odds

blaqkatom commented 1 year ago

Can we get an update on this? Need to get AV1 QSV to show now the Intel Arc cards are properly supported in the Linux kernel.

mizzack commented 11 months ago

@jlesage After poking around a bit, this appears to be a lib pathing issue.

Running HandBrake CLI help to see available encoders:

> podman exec handbrake bash -c 'HandBrakeCLI --help | grep -A15 "video encoder:"'                       
[18:35:51] Compile-time hardening features are enabled
Cannot load libnvidia-encode.so.1
[18:35:51] hb_display_init: attempting VA driver 'iHD'
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[18:35:51] hb_display_init: using VA driver 'iHD'
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[18:35:51] qsv: is available on this system
[18:35:51] hb_init: starting libhb thread
[18:35:51] thread 7f23aba96b38 started ("libhb")
   -e, --encoder <string>  Select video encoder:
HandBrake has exited.
                               svt_av1
                               svt_av1_10bit
                               x264
                               x264_10bit
                               qsv_h264
                               x265
                               x265_10bit
                               x265_12bit
                               mpeg4
                               mpeg2
                               VP8
                               VP9
                               VP9_10bit
                               theora
...

Providing LD_LIBRARY_PATH shows the correct encoders:

> podman exec handbrake bash -c 'LD_LIBRARY_PATH="/opt/intel/mediasdk/lib64:/usr/lib" HandBrakeCLI --help | grep -A15 "video encoder:"'
[18:41:50] Compile-time hardening features are enabled
Cannot load libnvidia-encode.so.1
libva info: VA-API version 1.20.0
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
libva info: VA-API version 1.20.0
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[18:41:50] hb_display_init: attempting VA driver 'iHD'
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[18:41:50] hb_display_init: using VA driver 'iHD'
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[18:41:50] qsv: is available on this system
[18:41:50] hb_init: starting libhb thread
[18:41:50] thread 7f37ed96ab38 started ("libhb")
   -e, --encoder <string>  Select video encoder:
HandBrake has exited.
                               svt_av1
                               svt_av1_10bit
                               qsv_av1
                               qsv_av1_10bit
                               x264
                               x264_10bit
                               qsv_h264
                               x265
                               x265_10bit
                               x265_12bit
                               qsv_h265
                               qsv_h265_10bit
                               mpeg4
                               mpeg2
                               VP8

Adding -e LD_LIBRARY_PATH="/opt/intel/mediasdk/lib:/usr/lib" to the container args fixes it in the GUI and I'm able to encode with QSV H265/AV1. For some reason the container segfaults if I stop the encode. That seems related to this https://github.com/HandBrake/HandBrake/issues/5453 , though.

jlesage commented 11 months ago

Thanks @mizzack, this is useful information. I would like to have more information about the libraries that are not found when LD_LIBRARY_PATH is not set.

Could you provide the full output of these 2 commands (to run inside the container):

LD_DEBUG=all HandBrakeCLI
LD_DEBUG=all LD_LIBRARY_PATH="/opt/intel/mediasdk/lib64:/usr/lib" HandBrakeCLI
mizzack commented 11 months ago

That arg didn't really change the output as far as I can tell. The difference between setting the LD_LIBRARY_PATH is apparent, though. It now correctly identifies the GPU (Arc A380) capabilities and uses a different implementation? libmfx-gen vs. libmfxhw64

db0e2bdf4510:/output# unset LD_LIBRARY_PATH
db0e2bdf4510:/output# LD_DEBUG=all HandBrakeCLI -e qsv_av1 -i BigBuckBunny.mp4 -o BigBuckBunny.mkv 2> test1.txt
db0e2bdf4510:/output# LD_DEBUG=all LD_LIBRARY_PATH="/opt/intel/mediasdk/lib64:/usr/lib" HandBrakeCLI -e qsv_av1 -i BigBuckBunny.mp4 -o BigBuckBunny.mkv 2> test2.txt
Encoding: task 1 of 1, 99.99 % (713.68 fps, avg 716.95 fps, ETA 00h00m00s)
 Opening BigBuckBunny.mp4...
-[21:27:55] CPU: Unknown
-[21:27:55]  - logical processor count: 16
-[21:27:55] Intel Quick Sync Video support: yes
-[21:27:55] Intel Quick Sync Video unknown adapter with index 0 and renderD128
-[21:27:55] Impl mfxhw64 library path: /opt/intel/mediasdk/lib/libmfxhw64.so.1.35
-[21:27:55]  - Intel Media SDK hardware: API 1.35 (minimum: 1.3)
-[21:27:55]  - Decode support:  h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes)
-[21:27:55]  - H.264 encoder: yes
-[21:27:55]     - preferred implementation: hardware (any) via ANY
-[21:27:55]     - capabilities (hardware):  lowpower breftype vsinfo chromalocinfo opt1 opt2+mbbrc+extbrc+trellis+repeatpps+ib_adapt+nmpslice
-[21:27:55]  - H.265 encoder: no
-[21:27:55]  - AV1 encoder: no
-[21:27:55] hb_scan: path=BigBuckBunny.mp4, title_index=1
+[21:28:24] CPU: Unknown
+[21:28:24]  - logical processor count: 16
+[21:28:24] Intel Quick Sync Video support: yes
+[21:28:24] Intel Quick Sync Video discrete adapter with index 0 and renderD128
+[21:28:24] Impl mfx-gen library path: /opt/intel/mediasdk/lib/libmfx-gen.so.1.2.9
+[21:28:24]  - Intel Media SDK hardware: API 2.9 (minimum: 1.3)
+[21:28:24]  - Decode support:  h264 hevc (8bit: yes, 10bit: yes) av1 (8bit: yes, 10bit: yes)
+[21:28:24]  - H.264 encoder: yes
+[21:28:24]     - preferred implementation: hardware (any) via ANY
+[21:28:24]     - capabilities (hardware):  lowpower breftype icq vsinfo chromalocinfo opt1 opt2+mbbrc+extbrc+trellis+repeatpps+ib_adapt+nmpslice
+[21:28:24]  - H.265 encoder: yes (8bit: yes, 10bit: yes)
+[21:28:24]     - preferred implementation: hardware (any) via ANY
+[21:28:24]     - capabilities (hardware):  lowpower bpyramid icq vsinfo masteringinfo cllinfo opt1
+[21:28:24]  - AV1 encoder: yes (8bit: yes, 10bit: yes)
+[21:28:24]     - preferred implementation: hardware (any) via ANY
+[21:28:24]     - capabilities (hardware):  lowpower bpyramid icq vsinfo masteringinfo cllinfo opt1 av1bitstream

Full logs attached. test1.txt test2.txt

jlesage commented 11 months ago

So I found some logic in the oneVPL dispatcher, when it finds available libraries. Libraries that are "naturally" found under /opt/intel/mediasdk/ are considered as the old 1.x API runtime implementation. When LD_LIBRARY_PATH is set, this logic no longer applies.

I made some changes that should fix the problem. @mizzack, could you try the jlesage/handbrake:issue-265 Docker image and see if it fixes the issue ?

mizzack commented 11 months ago

I sorta lucked into that one, I guess. :grin:

That tag works as expected 2023-11-29_22-23

Thanks for your hard work on these images!

jlesage commented 11 months ago

Thanks for the try! I will release a new official image.

jlesage commented 11 months ago

This issue should now be fixed with the latest image. Thanks to everyone for your help!