protonscr

Remote Play black screen with `vaExportSurfaceHandle(18) failed: invalid VASurfaceID`

steamclosed AMD driversStreamingDistro Family: Ubuntu
ValveSoftware/steam-for-linux#8379 · opened 2022-02-02 by jmegaffin · updated 2022-02-02 · 7 comments · github
Jjmegaffin 2022-02-02 github

Host system information

  • Steam client version (build number or date): Jan 16 2022/Jan 31 2022
  • Distribution (e.g. Ubuntu): Windows 10 Professional
  • Opted into Steam client beta?: Tried both
  • Have you checked for system updates?: Yes

Client system information

  • Steam client version (build number or date): Jan 16 2022/Feb 01 2022
  • Distribution (e.g. Ubuntu): Ubuntu 20.04 LTS
  • Opted into Steam client beta?: Tried both
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Streaming any game using VA-API decoding (Ryzen 4300U) results in a black screen on the client with audio and input still working. The detailed overlay shows that VA-API is being used and the stats are normal. Software decoding is fully functional. The host is using AMF H264 for encoding (Radeon 6700 XT). The client has the 64-bit and 32-bit versions of mesa-va-drivers and libva2 installed. I have confirmed that VA-API decoding works in other applications like MPV. Here is my client system info as a gist.

Steps for reproducing this issue:

  1. Enable hardware decoding on the client
  2. Stream any game
Kkisak-valve maintainer 2022-02-02 github

Hello @jmegaffin, it might be interesting to test if a newer version of mesa from a PPA like oibaf or kisak-mesa has any influence over this issue.

Kkisak-valve maintainer 2022-02-02 github

Hello @jmegaffin, it might be interesting to test if a newer version of mesa from a PPA like oibaf or kisak-mesa has any influence over this issue.

Also, please check if ~/.steam/debian-installation/logs/streaming_log.txt has any interesting hints.

Jjmegaffin 2022-02-02 github

Hi @kisak-valve, the streaming_log.txt on my host does have an interesting hint: it is full of error messages reading CLIENT: CVAAPIAccelDRM: vaExportSurfaceHandle(19) failed: invalid VASurfaceID. I will try an updated mesa package and see if that helps.

Jjmegaffin 2022-02-02 github

Here is a full session excerpt from the log.
gist

Jjmegaffin 2022-02-02 github

After adding kisak-mesa and running apt upgrade, VA-API decoding is now working! There are also no more errors in streaming_log.txt.

Kkisak-valve maintainer 2022-02-02 github

Thanks, that's a pretty strong indicator that your issue was with the older mesa version, and it's already been fixed by the video driver developers.

Jjmegaffin 2022-02-02 github

Thanks for the quick assistance!

Nothing extracted yet.