-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segfault in va_openDriver(): ctx->native_dpy is NULL #479
Comments
have you call vaGetDisplay in the application? suppose vaGetDisplay will send dpy and it will be set to native_dpy |
I've investigated this and found out that application actually calls vaGetDisplayDRM(), which apparently is not supported by the underlying VAAPI driver. |
Yes, the problem is resolved. It's no issue of libva, the problem lies within the libva-vdpau-driver, which always assumes the connection type "X11". If the "DRM" connection type is used, there is no native window and thus |
When using freerdp with VAAPI acceleration, a null pointer occurs in va_openDriver() (see callstack 3-5):
The X11 display handle (ctx->native_dpy) is not initialized, which leads to a segfault in XDisplayString().
As a dirty quick fix I applied following patch which solves the problem:
I'm sure there is a better place within the code to ensure that the native_dpy is set.
SW
libva: 2.9.1 (I also tested with 2.10.0, same issue here)
libx11: 1.7.0
libva-vdpau-driver: 0.7.4
libvdpau: 1.4
ffmpeg: 4.3.1
freerdp: 2.2.0
nvidia: 455.45.01
xorg-xserver: 1.20.10
linux: 5.9.11-arch2-1 (Arch Linux)
HW
gpu: NVIDIA Corporation TU106 [GeForce RTX 2070] (rev a1)
The text was updated successfully, but these errors were encountered: