Closed tripzero closed 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.
@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?
@xhaihao , the patch fix the problem. I tested with both yami and gst, both ok now.
Gstreamer to play h264
GST_GL_PLATFORM=egl gst-launch-1.0 filesrc location=media.h264 ! h264parse ! vaapih264dec ! vaapipostproc ! glimagesink
yami to play h264
$tests/yamidecode -i media.h264 –m 5
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.
The patches are workable in ClearLinux with Wayland backend.
Will we make a release containing this fix?
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.