ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

Ubuntu/Mint AMDGPU Black Screen (hear Audio/control Mouse) #7463

Open OdinVex opened 3 years ago

OdinVex commented 3 years ago

Hardware decoding with an AMD GPU results in a black screen. Audio can be heard, mouse can be seen during initial splash, mouse moves on host PC, but black video. Tried host software/hardware encoding, tried Steam Beta (both, host and client), tried with and without Overlay (both, host and client). No packet loss (10GbE, host and client) , LAN <1ms). Seems only client software decoding works for now.

Remote Play host: Windows, RX 5700 XTX-flashed (AMD).

Screen Stats: Encoder: Game Delayed OpenGL NV12 + AMF H264 Decoder: VDPAU hardware decoding

Running Steam from console: ffmpeg verbose: Successfully created a VDPAU device on X11 display :0 VDPAU hardware decoding

OdinVex commented 3 years ago

Not sure if it is related but Remote Playing Blender (just for testing and big-rig rendering) results in a corrupt picture unless I open a dialogue/window such as Blender Preferences (or anything from Windows), then Blender is fine so long as some other Blender dialogue/window/other program is left open. As soon as all Blender alone has focus (and no other child dialogue/window)...the stream goes back to being corrupt.

OdinVex commented 3 years ago

Another update:

Android Tablet cannot Steam Link from Windows Host unless the Windows Host has Hardware Encoding disabled. Otherwise it disconnects after a few moments of black video. ...Yeah, HOST needs HE disabled. However...Tablet can Steam Link the Ubuntu/Mint regardless of any HE settings on either side (though Ubuntu/Mint only ever encodes via Software...). Windows Host has UEFI, SecureBoot, RX 5700 XT, Windows up-to-date, hardware encoding and decoding works in all software...just Remote Play that seems to take a dump.

Rex-On-GitHub commented 3 years ago

I have the same original problem as OdinVex, though I differ on the additional information provided in the 2nd and 3rd post. Maybe it diverges our issues, but I will tag in in case it is helpful. Host PC

Client PC

As OdinVex describes, there is audio, but no video aside from the mouse cursor, but no packet loss according to the remote play overlay. I show a slightly different encoder message due to the differing GPU make, but I get the same decoder message. Encoder: Game polled D3D11 NV12 + NVENC H264 Decoder: VDPAU hardware decoding

I also show a very similar console message: ffmpeg verbose: Successfully created a VDPAU device (G3DVL VDPAU Driver Shared Library version 1.0) on X11 display :0

Regarding remote playing Blender, I still show a black screen regardless of any menus or windows.

For Steam Link on my iPad tablet, streaming works fine with hardware encoding, though my Windows host uses an Nvidia GPU.

If it becomes clear that OdinVex and I have unique issues, I can start a separate one.

Alexithymia2014 commented 3 years ago

VDPAU does not work on current amdgpu drivers, I'd recommend removing that driver and using vaapi or software decoding

Rex-On-GitHub commented 3 years ago

I like your thinking Alexithymia! Do you know how I can force VA-API over VDPAU? I've uninstalled seemingly all VDPAU packages but the hardware-accelerated remote play still shows VDPAU.

Software decoding does work, but I'm hoping to utilize the gpu if I can.

Alexithymia2014 commented 3 years ago

The other you may have to do is disable hardware encoding on the host pc. I think that's what I had to do when I ran into this issue

Rex-On-GitHub commented 3 years ago

I didn't have luck with disabling hardware encoding on the host. I did find though that I did not uninstall the i386 vdpau packages I had installed (dpkg -l | grep i386), and in removing those I get the steam play to run in VAAPI! I have a different problem though in that it is flickering really hard. I'll do some hunting down that trail.

Alexithymia2014 commented 3 years ago

Good luck! I've been running into the flickering issue myself recently, it didn't do that before. I don't know how to fix that though :(. I've resorted to software decoding

On Fri, Jan 1, 2021, 4:30 PM Rex-On-GitHub notifications@github.com wrote:

I didn't have luck with disabling hardware encoding on the host. I did find though that I did not uninstall the i386 vdpau packages I had installed (dpkg -l | grep i386), and in removing those I get the steam play to run in VAAPI! I have a different problem though in that it is flickering really hard. I'll do some hunting down that trail.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/7463#issuecomment-753384974, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH52BU2VLO5YGZQPD3H3BRDSXY5INANCNFSM4TTKWE2A .

Rex-On-GitHub commented 3 years ago

Sick! I installed the proprietary (( :( )) Radeon linux driver, and then removed all vdpau packages (dpkg -l | grep -i vdpau, and then remove each). I am now running in VAAPI with no flickering and great performance! Hopefully this works for @OdinVex as well. Thanks for your help Alexithymia!

kisak-valve commented 3 years ago

Hello @Rex-On-GitHub, it may be worthwhile to also mention the flickering you were seeing with mesa to the mesa devs.

Rex-On-GitHub commented 3 years ago

Sounds good. Playing it a while there is still an eventual frame freeze problem, but that's worth a separate issue.

Alexithymia2014 commented 3 years ago

That issue is due to a bug in the ffmpeg version being used. It desperately needs to be updated in steam from 3.4.2 to 3.4.8 or better.

On Fri, Jan 1, 2021, 5:55 PM Rex-On-GitHub notifications@github.com wrote:

Sounds good. Playing it a while there is still an eventual frame freeze problem, but that's worth a separate issue.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/7463#issuecomment-753400541, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH52BU546FMEQCKCTBZWJXTSXZHHNANCNFSM4TTKWE2A .

OdinVex commented 3 years ago

Sick! I installed the proprietary (( :( )) Radeon linux driver, and then removed all vdpau packages (dpkg -l | grep -i vdpau, and then remove each). I am now running in VAAPI with no flickering and great performance! Hopefully this works for @OdinVex as well. Thanks for your help Alexithymia!

My laptop's distro (Mint) unfortunately calls libvdpau1 a dependency on ****ing everything and I'd be removing the DE to remove that. I won't be able to test that out most likely but I'll try removing all of the other libs.

I have hwaccel working on my Endeavour install, though. I removed any vdpau and it works. A nice option for Steam to allow selecting which libs to load...

Caenhorn commented 3 years ago

I have a same issue. I'm on Manjaro with Ryzen Embedded R1606G Radeon Vega 3 GPU. Sound is ok, but screen is black (statistics show on top of black screen). Bitrate seems to be in normal range. Console output happily reports that VDPAU device was successfully created. steam-vdpau.log

Alexithymia2014 commented 3 years ago

You need to disable hardware encoding on the host for your client to use VA-API.

On Mon, Feb 1, 2021, 10:15 AM Caenhorn notifications@github.com wrote:

I have a same issue. I'm on Manjaro with Ryzen Embedded R1606G Radeon Vega 3 GPU. Sound is ok, but screen is black (statistics show on top of black screen). Bitrate seems to be in normal range. Console output happily reports that VDPAU device was successfully created. steam-vdpau.log https://github.com/ValveSoftware/steam-for-linux/files/5904733/steam-vdpau.log

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/7463#issuecomment-770930131, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH52BU5MZ4THUVTCHIMUUK3S43APTANCNFSM4TTKWE2A .

Caenhorn commented 3 years ago

What about VDPAU? Unfortunately, VAAPI freezes for me after about 10 mins of streaming. Disabling hardware encoding on the host does not help with VDPAU. It just introduces extra latency to my black screen.

Alexithymia2014 commented 3 years ago

Vdpau has never worked with mesa on AMD for me. To fix the freezing issue using VA-API, you need to install a patched version of ffmpeg 3.4.7 to fix the memory leak and delete the steam runtime libs for ffmpeg. Kind of a pain and sometimes I just plain use software decoding

On Mon, Feb 1, 2021, 3:52 PM Caenhorn notifications@github.com wrote:

What about VDPAU? Unfortunately, VAAPI freezes for me after about 10 mins of streaming. Disabling hardware encoding on the host does not VDPAU. It just introduces extra latency to my black screen.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/7463#issuecomment-771149748, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH52BU2MOSBMGRTI4QLADRDS44IBDANCNFSM4TTKWE2A .