protonscr

Streaming Intel Hardware Decoding not working

steamopen StreamingDistro Family: Arch
ValveSoftware/steam-for-linux#7947 · opened 2021-07-28 by Bennyhill500 · updated 2021-07-29 · 2 comments · github
BBennyhill500 2021-07-28 github

Your system information

  • Steam client version (build number or date): Jul 20 2021 steam client (pacman install not flatpak) / newest Steam link flatpak app
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: [Yes/No] No
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

With both Steam and Steam link its using Libavcodec software decode instead of using vaapi
i have intel-media-driver installed, removed any other intel drivers (libva-intel-driver / hybrid-driver) and confirmed with vainfo it is using the iHD driver without errors.
Moonlight is also able to use Hardware decoding.

My laptop has a i7-1165G7 with intel XE graphics, only the iHD driver works with this GPU, the other intel drivers (i965/hybrid) do not work.
As Desktop im using Gnome wayland.

Steps for reproducing this issue:

  1. with Detailed info selected in the client options select any game for streaming
  2. it should stream with VAAPI hardware decode but its using libavcodec software decoding with 4 threads instead
Kkisak-valve maintainer 2021-07-29 github

Hello @Bennyhill500, this reads like a similar issue to #7198, however, there's a key difference. In that issue report, something is going wrong with streaming_client and initializing libva, but here, it's not trying that video decode path at all. That's because the intel-media-driver package and vainfo tool you're using is 64 bit, while streaming_client is 32 bit and not compatible with the installed package.

It looks like if you want to give that render path a try, then you'll need lib32-intel-media-driver from the AUR.

BBennyhill500 2021-07-29 github

Hello @kisak-valve i have installed lib32-intel-media-driver but both steam and steamlink still only use software rendering.
if i start steam with LIBVA_DRIVERS_PATH=/usr/lib32/dri LIBVA_DRIVER_NAME=iHD steam it still uses software decoding
if i set these variables for steamlink using flatseal it also uses software decoding with the following terminal output:

INFO: ffmpeg verbose: Opened VA display via X11 display :99.0.
INFO: ffmpeg verbose: libva: VA-API version 1.8.0
INFO: ffmpeg verbose: libva: User environment variable requested driver 'iHD'
INFO: ffmpeg verbose: libva: Trying to open /usr/lib32/dri/iHD_drv_video.so
INFO: ffmpeg verbose: libva: va_openDriver() returns -1
INFO: ffmpeg error: Failed to initialise VAAPI connection: -1 (unknown libva error).
INFO: CVAAPIAccel: av_hwdevice_ctx_create() failed
INFO: libavcodec software decoding with 4 threads

Nothing extracted yet.