intel / libva

Libva is an implementation for VA-API (Video Acceleration API)

Home Page:http://intel.github.io/libva/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libva error: dlopen of /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so failed: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so: undefined symbol: _ZN6GmmLib16GmmClientContext25CreateCustomResInfoObjectEP32GMM_RESCREATE_CUSTOM_PARA MS__REC

deB4SH opened this issue · comments

commented

Hi all,
currently running into the following issue.
Could someone please help me?

root@jellyfin-67bf84f4c7-ljwck:/dev/dri# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva error: dlopen of /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so failed: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so: undefined symbol: _ZN6GmmLib16GmmClientContext25CreateCustomResInfoObjectEP32GMM_RESCREATE_CUSTOM_PARA
MS__REC
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
root@jellyfin-67bf84f4c7-ljwck:/dev/dri# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva error: dlopen of /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so failed: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so: undefined symbol: _ZN6GmmLib16GmmClientContext25CreateCustomResInfoObjectEP32GMM_RESCREATE_CUSTOM_PARA
MS__REC
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
root@jellyfin-67bf84f4c7-ljwck:/dev/dri# ls -al /usr/lib/x86_64-linux-gnu/dri/
total 171832
drwxr-xr-x 1 root root     4096 Jul 13 11:51 .
drwxr-xr-x 1 root root    16384 Jul 13 11:51 ..
-rw-r--r-- 5 root root 10033648 Jan 15  2020 i915_dri.so
-rw-r--r-- 5 root root 10033648 Jan 15  2020 i965_dri.so
-rw-r--r-- 1 root root  8018328 Jun 22 22:08 iHD_drv_video.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 kms_swrast_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 nouveau_dri.so
-rw-r--r-- 3 root root  6225064 Jan 15  2020 nouveau_drv_video.so
-rw-r--r-- 5 root root 10033648 Jan 15  2020 nouveau_vieux_dri.so
-rw-r--r-- 5 root root 10033648 Jan 15  2020 r200_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 r300_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 r600_dri.so
-rw-r--r-- 3 root root  6225064 Jan 15  2020 r600_drv_video.so
-rw-r--r-- 5 root root 10033648 Jan 15  2020 radeon_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 radeonsi_dri.so
-rw-r--r-- 3 root root  6225064 Jan 15  2020 radeonsi_drv_video.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 swrast_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 virtio_gpu_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 vmwgfx_dri.so
root@jellyfin-67bf84f4c7-ljwck:/dev/dri# ls -al /dev/dri
total 0
drwxr-xr-x 2 root root       80 Jul 13 11:31 .
drwxr-xr-x 6 root root      380 Jul 13 11:31 ..
crw-rw-rw- 1 root root 226,   0 Jul 13 11:31 card0
crw-rw-rw- 1 root root 226, 128 Jul 13 11:31 renderD128

Installed: intel-media-va-driver from experimental https://packages.debian.org/experimental/intel-media-va-driver

the issue should be a https://github.com/intel/media-driver/ issue. not a libva issue. so, may I move it to media-driver?

it is related with https://github.com/intel/gmmlib, you could try to build and install gmmlib , then media-driver to fix the issue.

commented

the issue should be a https://github.com/intel/media-driver/ issue. not a libva issue. so, may I move it to media-driver?

Oh. I'm sorry for this. I thought this is the correct repository / issue board for this. Sure, we could move this issue.

you could try to build and install gmmlib , then media-driver to fix the issue.

The service runs inside a container. Interestingly enough that it works with an older version of the driver quite well

root@10941fb4f66f:/# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.4.5 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
libva error: dlopen of /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so failed: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so: undefined symbol: _ZN6GmmLib16GmmClientContext25CreateCustomResInfoObjectEP32GMM_RESCREATE_CUSTOM_PARA
MS__REC

This means that you have wrong version of gmm library inside a container. Likely, older than needed. You need to update or install a newer version:

apt-get install libigdgmm11

or

gti clone https://github.com/intel/gmmlib.git

If this won't help and/or gmmlib seems to be of latest version already - check where gmm .so is taken from via strace - likely you have 2 libs on the system and a wrong one is being picked.

commented

Hi,
thanks for the hints @dvrogozh. Sadly nothing worked out so far.

Currently the following version is installed.

root@jellyfin-67bf84f4c7-ljwck:/# apt list --installed | grep libigdgmm11
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libigdgmm11/experimental,now 21.1.1+ds1-1 amd64 [installed]

Based on strace the following libigdgmm.so is called

openat(AT_FDCWD, "/usr/local/lib/libigdgmm.so.11", O_RDONLY|O_CLOEXEC) = 4

Full dump under: https://gist.github.com/deB4SH/734dfa16caa65d9f7c3b94da5d4a49d0

Beside the libigdm is following installed.

root@jellyfin-67bf84f4c7-ljwck:~# apt list --installed | grep intel

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-gmmlib/now 20.3.2 amd64 [installed,local]
intel-igc-core/now 1.0.5435 amd64 [installed,local]
intel-igc-opencl/now 1.0.5435 amd64 [installed,local]
intel-level-zero-gpu/now 1.0.18421 amd64 [installed,local]
intel-media-va-driver-non-free/experimental,now 21.2.2+ds1-1 amd64 [installed]
intel-ocloc/now 20.46.18421 amd64 [installed,local]
intel-opencl/now 20.46.18421 amd64 [installed,local]
libdrm-intel1/now 2.4.97-1 amd64 [installed,upgradable to: 2.4.104-1]
root@jellyfin-67bf84f4c7-ljwck:~# ls -al /usr/lib/x86_64-linux-gnu/dri/
total 199900
drwxr-xr-x 1 root root     4096 Jul 13 16:37 .
drwxr-xr-x 1 root root    16384 Jul 13 16:32 ..
-rw-r--r-- 5 root root 10033648 Jan 15  2020 i915_dri.so
-rw-r--r-- 5 root root 10033648 Jan 15  2020 i965_dri.so
-rw-r--r-- 1 root root 36758872 Jun 22 22:08 iHD_drv_video.so     
-rw-r--r-- 8 root root 12381592 Jan 15  2020 kms_swrast_dri.so    
-rw-r--r-- 8 root root 12381592 Jan 15  2020 nouveau_dri.so       
-rw-r--r-- 3 root root  6225064 Jan 15  2020 nouveau_drv_video.so 
-rw-r--r-- 5 root root 10033648 Jan 15  2020 nouveau_vieux_dri.so 
-rw-r--r-- 5 root root 10033648 Jan 15  2020 r200_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 r300_dri.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 r600_dri.so
-rw-r--r-- 3 root root  6225064 Jan 15  2020 r600_drv_video.so    
-rw-r--r-- 5 root root 10033648 Jan 15  2020 radeon_dri.so        
-rw-r--r-- 8 root root 12381592 Jan 15  2020 radeonsi_dri.so      
-rw-r--r-- 3 root root  6225064 Jan 15  2020 radeonsi_drv_video.so
-rw-r--r-- 8 root root 12381592 Jan 15  2020 swrast_dri.so        
-rw-r--r-- 8 root root 12381592 Jan 15  2020 virtio_gpu_dri.so    
-rw-r--r-- 8 root root 12381592 Jan 15  2020 vmwgfx_dri.so    

I also checked back into my old container running an older version of intel-media-va-driver-non-free, libigdgmm and vainfo.
The old working container uses the follwing.

root@cc038f15339d:/# apt list --installed | grep 'intel\|vainfo\|libigd'

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-media-va-driver-non-free/testing,now 20.4.5+ds1-1 amd64 [installed]
libdrm-intel1/testing,now 2.4.103-2 amd64 [installed,automatic]
libigdgmm11/testing,now 20.4.1+ds1-1 amd64 [installed,automatic]
vainfo/testing,now 2.10.0+ds1-1 amd64 [installed]

Is this maybe an version-issue with the newer releases? Maybe something related to the host itself?
The host-platform is a Intel 10th Gen I7 Nuc with a 10710U.
model name : Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz

I think that OCL driver has installed 2nd gmmlib into /usr/local/lib (intel-gmmlib package of 20.3.2 version) and it gets picked up instead of the gmmlib coming with apt-get install libigdgmm11 (of version 21.1.1+ds1-1). So, the easiest way to check that would be to temporary remove igdgmm copy from /usr/local/lib and try vainfo again.

commented

Thats it! Thank you.
/usr/local/lib contains an another instance of gmmlib

root@jellyfin-67bf84f4c7-ljwck:/usr/local/lib# ls -al
total 200836
drwxr-xr-x 1 root root      4096 Jun 18 02:32 .
drwxr-xr-x 1 root root      4096 May 11 00:00 ..
drwxr-xr-x 2 root root      4096 Jun 18 02:32 igc
drwxr-xr-x 2 1000 1000      4096 Jun 18 02:32 intel-opencl
lrwxrwxrwx 1 root root        13 Oct 30  2020 libiga64.so -> libiga64.so.1
lrwxrwxrwx 1 root root        20 Oct 30  2020 libiga64.so.1 -> libiga64.so.1.0.5435
-rw-r--r-- 1 root root   1542640 Oct 30  2020 libiga64.so.1.0.5435
lrwxrwxrwx 1 root root        11 Oct 30  2020 libigc.so -> libigc.so.1
lrwxrwxrwx 1 root root        18 Oct 30  2020 libigc.so.1 -> libigc.so.1.0.5435
-rw-r--r-- 1 root root  54618944 Oct 30  2020 libigc.so.1.0.5435
lrwxrwxrwx 1 root root        14 Oct 30  2020 libigdfcl.so -> libigdfcl.so.1
lrwxrwxrwx 1 root root        21 Oct 30  2020 libigdfcl.so.1 -> libigdfcl.so.1.0.5435
-rw-r--r-- 1 root root   1634400 Oct 30  2020 libigdfcl.so.1.0.5435
lrwxrwxrwx 1 1000 1000        21 Oct  7  2020 libigdgmm.so.11 -> libigdgmm.so.11.1.905
-rw-r--r-- 1 1000 1000    502368 Nov 16  2020 libigdgmm.so.11.1.905
-rwxr-xr-x 1 1000 1000    628400 Nov 16  2020 libocloc.so
lrwxrwxrwx 1 root root        21 Oct 30  2020 libopencl-clang.so -> libopencl-clang.so.10
-rw-r--r-- 1 root root 113082056 Oct 20  2020 libopencl-clang.so.10
-rw-r--r-- 1 root root  27735840 Oct 30  2020 libSPIRVDLL.so
lrwxrwxrwx 1 1000 1000        28 Nov 11  2020 libze_intel_gpu.so.1 -> libze_intel_gpu.so.1.0.18421
-rwxr-xr-x 1 1000 1000   5872552 Nov 16  2020 libze_intel_gpu.so.1.0.18421

After removing it vainfo reports everything back as expected!

root@jellyfin-67bf84f4c7-ljwck:/usr/local/lib# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so     
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.4.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.2.2 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

Thank you @dvrogozh for that perfect hint!
I'm closing this ticket :)