protonscr

Fail to activate hardware accelelation

steamclosed StreamingDistro Family: Ubuntu
ValveSoftware/steam-for-linux#8413 · opened 2022-02-16 by drogeek · updated 2022-02-16 · 2 comments · github
Ddrogeek 2022-02-16 github

Your system information

  • Steam client version (build number or date): Feb 15 2022 22:39:48
  • Distribution (e.g. Ubuntu): Ubuntu 20.04.3 LTS
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

It seems like the steam client is failing at using hardware acceleration when streaming, resulting in high CPU usage.
I find

ffmpeg verbose: libva: VA-API version 1.12.0
[2022-02-16 17:22:01] ffmpeg verbose: libva: Trying to open /usr/lib/i386-linux-gnu/dri/radeonsi_drv_video.so
[2022-02-16 17:22:01] ffmpeg verbose: libva: va_openDriver() returns -1
[2022-02-16 17:22:01] ffmpeg error: Failed to initialise VAAPI connection: -1 (unknown libva error).
[2022-02-16 17:22:01] CGameStreamVideoStageVAAPI: Failed to create device context: Erreur d'entrée/sortie

in logs/streaming_log.txt everytime I set the host to use hardware acceleration from steam UI

Here is the result of calling vainfo

vainfo                                                                                                                                 ⏎
libva info: VA-API version 1.12.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_12
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.12 (libva 2.6.0)
vainfo: Driver version: Mesa Gallium driver 21.3.6 - kisak-mesa PPA for Radeon RX 580 Series (POLARIS10, DRM 3.41.0, 5.13.0-28-generic, LLVM 13.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

and when running mpv I see Using hardware decoding (vaapi), so it seems to be usable

It seems to come from the fact /usr/lib/i386-linux-gnu/dri/radeonsi_drv_video.so does not exist, only /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so

Steps for reproducing this issue:

  1. Activate streaming
Kkisak-valve maintainer 2022-02-16 github

Hello @drogeek, the system installed vainfo tool is checking the health of the 64 bit VA-API render path, while streaming_client is expected to be using the 32 bit VA-API render path. Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Also, please check if libva2:i386 and mesa-va-drivers:i386 are installed with something like apt policy libva2 libva2:i386 mesa-va-drivers mesa-va-drivers:i386 and install them if they are missing. Newer Steam packaging for Ubuntu checks for these system packages at startup, but if you're using a distro-modified variant of the Steam package, then there's a good chance this extra check hasn't reached your system.

Ddrogeek 2022-02-16 github

I was missing the mesa-va-drivers:i386, and I guess I installed Steam via apt.
Now it's working, thanks!

Nothing extracted yet.