-
Notifications
You must be signed in to change notification settings - Fork 379
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
cant get VA-API running on docker containing running debian stretch #443
Comments
It might be an issue with different VA-API versions.
Likely not. |
hi, |
I am running some tests yet on a debian bullseye host.
If build an image with debian buster, vainfo succeeds although it has a lower vaapi version (but >= 1.0).
It even succeeds with a debian stretch image:
So far, different VA-API versions do not matter.
Your issue is different, vainfo detects an intel driver on host, but it shows something different in the container output. Just to confirm: Please show me the output of |
There might be even more work to do to support VAAPI and VDPAU.
It covers MESA drivers for intel, amd and nouveau.
I wonder how this script might be extended to cover all possible drivers. |
Based on the code above and additional information in https://wiki.archlinux.org/title/Hardware_video_acceleration , I have commited this code that might cover most or even all cases: # support for prime-run / discrete NVIDIA card #394
[ -n "$__NV_PRIME_RENDER_OFFLOAD" ] && store_runoption env "__NV_PRIME_RENDER_OFFLOAD=$__NV_PRIME_RENDER_OFFLOAD" && DRI_PRIME="1"
[ -n "$__VK_LAYER_NV_optimus" ] && store_runoption env "__VK_LAYER_NV_optimus=$__VK_LAYER_NV_optimus" && DRI_PRIME="1"
[ -n "$__GLX_VENDOR_LIBRARY_NAME" ] && store_runoption env "__GLX_VENDOR_LIBRARY_NAME=$__GLX_VENDOR_LIBRARY_NAME" && DRI_PRIME="1"
# Video decoding: VA-API and VDPAU, also DRI_PRIME #443
# Infos at https://wiki.archlinux.org/title/Hardware_video_acceleration
lspci -k | grep -q -e amdgpu -e radeon && {
store_runoption env "LIBVA_DRIVER_NAME=${LIBVA_DRIVER_NAME:-radeonsi}"
store_runoption env "VDPAU_DRIVER=${VDPAU_DRIVER:-radeonsi}"
}
lspci -k | grep -q nouveau && {
store_runoption env "LIBVA_DRIVER_NAME=${LIBVA_DRIVER_NAME:-nouveau}"
store_runoption env "VDPAU_DRIVER=${VDPAU_DRIVER:-nouveau}"
}
lspci -k | grep -q nvidia && {
store_runoption env "LIBVA_DRIVER_NAME=${LIBVA_DRIVER_NAME:-nvidia}" # could also be set to "vdpau"
store_runoption env "VDPAU_DRIVER=${VDPAU_DRIVER:-nvidia}"
}
lspci -k | grep -q i915 && {
[ -n "${DRI_PRIME:-}" ] && {
store_runoption env "DRI_PRIME=${DRI_PRIME:-1}"
} || {
store_runoption env "LIBVA_DRIVER_NAME=${LIBVA_DRIVER_NAME:-i965}"
store_runoption env "VDPAU_DRIVER=${VDPAU_DRIVER:-va_gl}"
}
} The driver The
However, the new iHD likely supports more recent video formats. @ALL: This is tested only with nouveau without prime/optimus/discrete card yet. A Dockerfile for test runs:
Please check if commands |
thank you on your efford on getting this run. im about to get three fresh pcs with non optimus / single gpu and will do testing again. |
x11docker currently defaults to I've made a commit that checks
That is quite appreciated! How do you enable optimus on your current system? |
so i did a fresh install and by using x11docker-master, vainfo works now with your bullseye docker example. but for me personally, it wont solve my issue... i get different kind of errors trying to use those "old" stretch drivers. nvidea driver is also no option as recent proprietary drivers wont work on such an old distro. |
I had a look at the packages; the iHD driver is in package intel-media-va-driver that is not available in stretch but in buster and in bullseye.
The third way using nouveau looks most straightforward. Which issues did you have this way?
(Edit: removed The cleanest way is likely an update of the image to at least buster. Is there a major reason not to do so? |
so you want me to use the proprietary nvidea driver and on guest nouveau? im not on the device right now but the drivers are simply crashing caused by missing functions or buffer errors and so one... i think we both agree that this issue is/seems fixed. that my container does not work is simply because of the lack of compatible drivers on the guest. i have to upgrade the container, i dont think there is another chance. as for now, thank you a lot for your time and professional work. |
No, I think of free nouveau driver on host and in image to use the nvidia card. (Should work. Here it works even with a stretch image.)
I think so, too, at least for the intel card.
And thank you very much for your donation! It is quite appreciated. :-) |
vainfo on host:
ibva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo on docker container (debian stretch)
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iris_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
i tried hours of experimenting with docker and x11docker without any success.
is there any way around it?
and/or is there any way to avoid the need of drivers on guest and somehow use hosts?
The text was updated successfully, but these errors were encountered: