intel / intel-vaapi-driver

VA-API user mode driver for Intel GEN Graphics family
https://01.org/linuxmedia
Other
308 stars 127 forks source link

use wl_drm_interface from libva and not libEGL #419

Closed tripzero closed 5 years ago

tripzero commented 6 years ago

intel-vaapi-driver tries to dlopen libEGL.so.1 and find the wl_drm_interface symbol from it. As of libva/c26a187cdff82dc5a360676ef05e6f6d761c2a0a libva provides its own internal implementation. Shouldn't intel-vaapi-driver do the same?

This is particularly a problem because in mesa 6b8657aff0a the symbols are no longer being exported so intel-vaapi-driver will fail to find wl_drm_interface symbol.

jwang11 commented 5 years ago

Is there anybody working on this issue? It block the basic playback function on latest Mesa (libEGL). Test with latest yami

$tests/yamidecode -i media_file –m 5 –low-latency
libva info: VA-API version 1.3.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_3
error: failed to resolve wl_drm_interface(): /usr/lib64/libEGL.so.1: undefined symbol: wl_drm_interface
libva error: /usr/lib64/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
libyami error 15994 (decodeoutput.cpp, 882): vaInitialize: unknown libva error
DecodeOutput init failed
VppInputDecode config failed.
DecodeTest init failed.
xhaihao commented 5 years ago

@jwang11 @tripzero https://github.com/xhaihao/intel-vaapi-driver/commit/654a9e035b4a43e400dc56da0be786a83886aa76 removes the dependency on libEGL, but I just did limited tests on Wayland. Could you give a try with this patch?

jwang11 commented 5 years ago

@xhaihao , the patch fix the problem. I tested with both yami and gst, both ok now.

xhaihao commented 5 years ago

The driver has explicit dependency on libwayland-client.so after applying https://github.com/xhaihao/intel-vaapi-driver/commit/654a9e035b4a43e400dc56da0be786a83886aa76, which is not what we want.

wl_drm_interface in libva (actually in libva-wayland) is not exported too. We should do some changes in libva if we want to use wl_drm_interface from libva.

jwang11 commented 5 years ago

The patches are workable in ClearLinux with Wayland backend.

xry111 commented 5 years ago

Will we make a release containing this fix?