protonscr

Remote Play radeon VA-API decoding artifacting

steamopen AMD driversStreamingDistro Family: Ubuntu
ValveSoftware/steam-for-linux#8508 · opened 2022-03-28 by tw-blob · updated 2026-01-08 · 6 comments · github
Ttw-blob 2022-03-28 github

Your system information

  • Steam client version (build number or date): Mar 14 2022, at 19:49:17 / Steam Link version 1.1.89.255
  • Distribution: Ubuntu 21.10
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

System Information
vainfo
mesa-va-drivers mesa-va-drivers:i386

Please describe your issue in as much detail as possible:

If I start a stream with the radeon GPU the whole screen artifacts and starts flickering. If I force it to use the Intel GPU or software decoding it works as expected.
artifacting
This happens both with the standalone Steam Link application as well as the Steam client.

The log repeats radeon: The kernel rejected CS, see dmesg for more information (-22). until the stream is killed.
dmesg reports the following:
[ 4655.882467] radeon 0000:01:00.0: evergreen_surface_check_linear_aligned:214 texture pitch 1600 invalid must be aligned with 256
[ 4655.882481] radeon 0000:01:00.0: evergreen_cs_track_validate_texture:829 texture invalid 0x18fc31c1 0x10000383 0x0b200000 0x00000000 0x00000000 0x80020001
[ 4655.882488] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !

I've tried both the kisak and oibaf ppas with the same result.

Kkisak-valve maintainer 2022-03-28 github

Hello @tw-blob, this looks like a video driver specific issue. Please also mention it to your video driver vendor if it hasn't been already.

Ttw-blob 2022-03-31 github

I've reported it to mesa over on GitLab.
There hasn't been any movement yet, but if something comes up, I'll let you know.

Ttw-blob 2022-04-02 github

I took another look at this and something struck me as odd.
INFO: ffmpeg verbose: VAAPI driver: Intel i965 driver for Intel(R) Ironlake Mobile - 2.4.1.
It seems to use the Intel driver on the AMD GPU. So of course it isn't working.

Just to confirm I started VLC with DRI_PRIME=0 LIBVA_DRIVER_NAME=i965 and ran into the same kind of artifacting.
dmesg also reports a very similar message:

[ 1737.326269] radeon 0000:01:00.0: evergreen_surface_check_linear_aligned:214 texture pitch 1920 invalid must be aligned with 256
[ 1737.326282] radeon 0000:01:00.0: evergreen_cs_track_validate_texture:829 texture invalid 0x1dfc3bc1 0x10000437 0x0b200000 0x00000000 0x00000000 0x80020001
[ 1737.326291] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream

Unfortunately LIBVA_DRIVER_NAME=radeonsi doesn't work with Steam Link. I'm not sure if this is a configuration issue on my part or not. Though other apps (e.g. VLC) do work.

INFO: ffmpeg verbose: Trying to use DRM render node for device 0.
INFO: ffmpeg verbose: libva: VA-API version 1.12.0
INFO: ffmpeg verbose: libva: User environment variable requested driver 'radeonsi'
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/radeonsi_drv_video.so
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/GL/lib/dri/radeonsi_drv_video.so
INFO: ffmpeg verbose: libva: Found init function __vaDriverInit_1_12
crocus: driver missing
INFO: ffmpeg error: libva: /usr/lib/x86_64-linux-gnu/GL/lib/dri/radeonsi_drv_video.so init failed
INFO: ffmpeg verbose: libva: va_openDriver() returns 2
INFO: ffmpeg error: Failed to initialise VAAPI connection: 2 (resource allocation failed).
INFO: CVAAPIAccelDRM: av_hwdevice_ctx_create() failed: -5
INFO: CVAAPIAccelX11: Couldn't find X11 display and window
INFO: libavcodec software decoding with 4 threads
Kkisak-valve maintainer 2022-04-02 github

The SI in radeonsi is short for Southern Islands, and the common pattern in driver naming with mesa is that a driver which supports multiple generations is named after the first (oldest) generation supported by that driver. The Juniper chipset is part of the Evergreen generation, which is two generations older than Southern Islands, which makes it unsupported by that userspace driver. I'm guessing that you'd want to test something like LIBVA_DRIVER_NAME=r600 instead of radeonsi.

Ttw-blob 2022-04-03 github

Huh, I'll need to dig into what the other apps are doing then. Might be a more systemic issue with my setup that I didn't realize since everything else seemed to work. Unfortunately on the steam side LIBVA_DRIVER_NAME=r600 doesn't seem to be making any difference.

NFO: ffmpeg verbose: Trying to use DRM render node for device 0.
INFO: ffmpeg verbose: libva: VA-API version 1.12.0
INFO: ffmpeg verbose: libva: User environment variable requested driver 'r600'
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/r600_drv_video.so
INFO: ffmpeg verbose: libva: Trying to open /usr/lib/x86_64-linux-gnu/GL/lib/dri/r600_drv_video.so
INFO: ffmpeg verbose: libva: Found init function __vaDriverInit_1_12
crocus: driver missing
INFO: ffmpeg error: libva: /usr/lib/x86_64-linux-gnu/GL/lib/dri/r600_drv_video.so init failed
INFO: ffmpeg verbose: libva: va_openDriver() returns 2
INFO: ffmpeg error: Failed to initialise VAAPI connection: 2 (resource allocation failed).
INFO: CVAAPIAccelDRM: av_hwdevice_ctx_create() failed: -5
INFO: CVAAPIAccelX11: Couldn't find X11 display and window
INFO: libavcodec software decoding with 4 threads
00x90shell 2026-01-08 github

Picking up artifacts and flickering from all AMD host to steam link, similar to this

https://steamcommunity.com/groups/homestream/discussions/1/4290314417250545891/

Error codes