Hi all,
I was wondering if anyone has had success at getting hardware decoding on remote play working under Fedora, I always seem to have the following error:
CVDPAUAccel: GL_NV_vdpau_interop not available on current context
ffmpeg verbose: Opened VA display via X11 display :0.
libva info: VA-API version 1.11.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
ffmpeg error: Failed to initialise VAAPI connection: -1 (unknown libva error).
CVAAPIAccel: av_hwdevice_ctx_create() failed
libavcodec software decoding with 4 threads
Which then falls back the streaming to software decoding.
Please let me know if anyone knows how I should go about troubleshooting further
vainfo shows:
libva info: VA-API version 1.11.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.11 (libva 2.11.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSlice
VAProfileVP9Profile2 : VAEntrypointVLD
I get the feeling I may need some 32-bit packages or to set some environmental variables, but I’m not sure.
Update: Fix
To fix this, you have to run Steam under XOrg. You must also have the LIBVA driver packages - some Intel chips use iHD and some use i965, in my case I was able to use iHD drivers for my Kaby Lake chip.
Grab the drivers, you may need to install Steam
to the system for this to work (not in a Flatpak) - but I’m yet to test this:
libva-intel-driver-2.4.1-5.fc34.i686 libva-intel-driver.i686 libva-utils libva-intel-driver intel-media-driver-21.1.3-1.fc34.i686
Start Steam under XORG (not wayland, it will crash/fall back to Software Decoding!) with the driver and path to the driver as enviromental arguments:
VDPAU_DRIVER=va_gl LIBVA_DRIVERS_PATH=/usr/lib/dri LIBVA_DRIVER_NAME=iHD steam
Enjoy VAAPI hardware decoding on Fedora 34!