protonscr

AMD GPU Accelerated Decode not working for Remote Play

steamclosed Streaming
ValveSoftware/steam-for-linux#6484 · opened 2019-09-05 by dakupurple · updated 2022-02-01 · 9 comments · github
Ddakupurple 2019-09-05 github
  • Steam client version (build number or date): Aug 21 2019 at 21:56:33
  • Distribution (e.g. Ubuntu): Ubuntu 18.04.3
  • 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:

Describe what you expected should happen and what did happen.

Running game from Windows host, streaming to Linux Client. Hardware Acceleration is showing as available per glxinfo. Hardware Acceleration is enabled in advanced client settings on Steam. Expected on screen stats to show hardware acceleration for decode, but instead it is running software decode. All updates for Ubuntu have been applied, and tried updating to latest kernel and Mesa version as well.
glxinfo.txt

Host PC Specs:
OS: Windows 10
CPU: i7 4790k
GPU: Radeon R9 Fury X
RAM: 16GB DDR3 @ 1600
Network: Gigabit Ethernet connected at 1gbps. No Wi-Fi
Latest drivers have been installed.

Client PC Specs
OS: Ubuntu 18.04.3
CPU: Athlon 200GE
GPU: Integrated Vega 3 (Have tried dedicated Radeon R7 250 as well)
RAM: 8GB DDR4 @ 2666
Network: Gigabit Ethernet connected at 1gbps, No Wi-Fi

Steps for reproducing this issue:

  1. Enable Remote Play on Host and Client.
  2. Enable Hardware Acceleration on Client within Steam.
  3. Click Stream on Client for a game installed to Host.
  4. Once stream launches, stats show that Client is using Software Decoding instead of Hardware Accelerated Decoding.
Hheregoesmarcel 2020-05-07 github

I can confirm that this is also an issue for Linux-to-Linux streaming (at least if the host is running an Nvidia GPU).

The issue seems to appear regardless of beta participation.

Ddakupurple 2020-05-07 github

I have since upgraded my host pc, same behavior is occurring.
Updated specs:
OS: Windows 10 1909
CPU: Threadripper 1920x
GPU: Radeon VII
RAM: 32 GB DDR4 3200 MHz.

The above behavior occurs regardless of hardware or software encoding being used from the host.

JJames-C-000 2020-05-31 github

I've got it to use VAAPI decoding on my end, but the video will freeze every few minutes requiring a pkill -9 streaming_clien
Note that I am using void linux, so you will need to find the equivalent package for your distro.
Packages needed:

  • xf86-video-amdgpu-19.1.0_2
  • libva
  • libva-32bit
  • libva-utils
  • mesa
  • mesa-32bit
  • mesa-dri
  • mesa-dri-32bit
  • mesa-vaapi
  • mesa-vaapi-32bit

Steam settings (client):

  • Beta opt in
  • Quality: Beautiful
  • Performance Overlay: Details
  • Limit bandwidth to: Unlimited
  • Limit resolution to: Display resolution
  • Speaker configuration: Stereo
  • Enable hardware decoding

Steam settings (host)

  • Beta opt in
  • Play audio on host: Disabled
  • Change desktop resolution to match streaming client: Disabled
  • Dynamically adjust capture resolution: Disabled
  • Use NVFBC capture on NVIDIA GPU: Disabled
  • Enable hardware encoding: Enabled
  • Enable hardware encoding on NVIDIA GPU: Enabled
  • Enable hardware encoding on AMD GPU: Disabled
  • Enable hardware encoding on Intel iGPU: Disabled
  • Number of software encoding threads: Automatic
  • Prioritize network traffic: Enabled

Client specs:

  • Linux 5.4.42_1 #1 SMP PREEMPT Thu May 21 07:35:36 UTC 2020 x86_64 GNU/Linux
  • Intel i5-8500
  • AMD Radeon RX 570
  • 16GB DDR4 2666MHz

Host specs:

  • Windows 10 Pro x64 v.1909
  • Intel i5-3470
  • Nvidia GeForce GTX 1070ti w/ driver version 446.14
  • 8GB DDR3 1600MHz

I don't know if this is still needed, but I made sure steam was using system libs for libva. You can check this with pgrep steam | xargs -I {} cat /proc/{}/maps | grep libva. If you are using steam packaged libraries, delete them from your install and soft link your installed libraries instead.
Did some more testing and it should work out of the box. Install the above packages and do steam --reset. Worked first try for me (although I still have the VAAPI decode freeze, see #7150)

JJames-C-000 2020-06-20 github
Kkisak-valve maintainer 2021-12-31 github

Hello, is anyone still experiencing this issue on an up to date system?

Ddakupurple 2022-01-01 github

Just tested again with my current setup:
Host:
Windows 10 21H1
Threadripper 1920x
32GB DDR4 3200
Radeon 6800XT (driver version 21.12.1)
Gigabit ethernet connection

Client:
Debian 11 (5.10 kernel, all current updates installed as of posting, no special packages used outside of steam install via apt)
Ryzen 3 3100
8 GB DDR4 2666
Radeon RX 560 (current version of mesa provided by Debian team, 20.3.5-1)
Gigabit ethernet connection

Both host and client are not opted into beta versions of the Steam client.

Still cannot run gpu acceleration, software decoding is still my only option.

If a different distro with a newer set of software packages is needed for testing, let me know, I'll be happy to try it out.

Kkisak-valve maintainer 2022-01-01 github

Hello @dakupurple, 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.

If you're using the distro-modified Steam package, then I'd expect that it is missing some relatively recently added checks for libva2:i386 and mesa-va-drivers:i386. Please check that those packages are installed with something like apt policy mesa-va-drivers mesa-va-drivers:i386 libva2:i386.

Ddakupurple 2022-01-02 github

Thank you for suggesting the extra packages. I can confirm that hardware accelerated decoding is working after installing the i386 versions of mesa-va-drivers and libva2.

Jjmegaffin 2022-02-01 github

Hello, I'm also not able to utilize hardware decoding (I just get a black screen) even after installing mesa-va-drivers:i386 and libva2:i386 on an otherwise brand new installation of Ubuntu 20.04 LTS. My full system info is here.