ublue-os / bazzite

Bazzite is a cloud native image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.
https://bazzite.gg
Apache License 2.0
4.12k stars 251 forks source link

Streaming (Sunshine or Steam Link) does not capture Steam UI #1276

Open rcarmo opened 5 months ago

rcarmo commented 5 months ago

Describe the bug

Right now, when streaming to another machine using Steam Link or sunshine, I cannot get the remote machine to see the Steam UI - it is simply not rendered in the stream.

That is, if I am playing a game:

snapshot

...and I hit the Steam button (or equivalent mapped to my remote controller), I will see this on the machine's physical display (captured with a PiKVM):

snapshot-2

...and after pressing "down", the UI becomes translucent:

snapshot-3

However, sunshine/Moonlight/Steam Link will display none of it. On the client machine will always see the game layer, without anything overlaid (although I can hear the UI audio):

snapshot

I have tried Steam Link settings, checked If sunshine is running with setcap, and also tried a number of different images (see #1260 to get an idea), but the issue happens on both deck and non-deck images, on GNOME or KDE.

Am curious to understand if this is a Wayland or AMD thing and if there are any fixes/workarounds.

What did you expect to happen?

I expected the stream to match the physical display.

Output of rpm-ostree status

State: idle
Deployments:
  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:40-stable-20240611
                   Digest: sha256:26b268ec5de0c1618f0618855761b2da934614dfb060fd5d69ffed4fad14d2b9
                  Version: 40.20240611.0 (2024-06-11T16:59:32Z)
                     Diff: 460 removed, 193 added
          LayeredPackages: fio python3.11 python3.11-devel sunshine
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"' 

● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:40-stable-20240611
                   Digest: sha256:6c59a228186bdbd3417580129702a9337c2edadac0206b0d4773df53dca58413
                  Version: 40.20240611.0 (2024-06-11T17:01:53Z)
          LayeredPackages: fio python3.11 python3.11-devel sunshine
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"' 

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:40-stable-20240611
                   Digest: sha256:26b268ec5de0c1618f0618855761b2da934614dfb060fd5d69ffed4fad14d2b9
                  Version: 40.20240611.0 (2024-06-11T16:59:32Z)
          LayeredPackages: fio python3.11 python3.11-devel sunshine
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"'

Hardware

                                            me@bazzite
     %%%%%%====%%%%%%%%%%                
   %%%%%%%%    %%%%%%%%%%%%%%             󱋩  bazzite-deck:stable 
  %%%%%%%%%    %%%%%%%%%%%%%%%%           󰣛  Fedora Linux 40 (Kinoite) x86_64
  %%%%%%%%%    %%%%%%%%%%%%%%%###           Linux 6.8.12-301.fsync.fc40.x86_64
  %%%%%%%%%    %%%%%%%%%%%%%######        󰅐  2 hours, 30 mins
  ==                  =======######       󰔠  Spawned on Feb 27 2024
  ==                  =========#####     
  %%%%%%%%%    %%%%%%%####======#####     󰾰  HCAR6000-MI2
  %%%%%%%%%    %%%%%#######=====#####     󰻠  AMD Ryzen 7 7840HS w/ Radeon 780M Graphics (16) @ 6.08 GHz
  %%%%%%%%%    %%%#########=====#####     󰍛  AMD Radeon 780M @ 0.80 GHz [Integrated]
  %%%%%%%%%    %%##########=====#####       5.15 GiB / 30.60 GiB (17%)
  %%%%%%%%%====###########=====######       384.69 GiB / 475.35 GiB (81%) - btrfs [Read-only]
   %%%%%%%%====#########======######      󰍹  1920x1080 @ 50Hz [External]
    %%%%%%%=====#####========######       󰖺  PiKVM Composite KVM Device
     %%%%###===============#######        󰖺  Mouse passthrough
      %#######==========#########        
        #######################             bash 5.2.26
          ###################               /dev/pts/1
              ###########                 󰏖  2717 (rpm), 79 (flatpak-system), 41 (flatpak-user)

                                           ● ● ● ● ● ● ● ●

Extra information or context

No response

HikariKnight commented 5 months ago

Don't think this is something we can fix as i vaguely remember this also being a problem on SteamOS

rcarmo commented 3 months ago

I've been investigating this with a few friends who have SteamDecks and as it turns out, this week I confirmed this works on SteamOS (with SteamLink). And I have a recollection of it working in earlier releases in both Steam Link and sunshine, although it was almost a year back and in another device.

Darksk0pe commented 3 months ago

Same problem hope you can fix it :)

i tryed the service https://clouddeck.app/ its an Nobara Linux 39 in gamemode .. and all overlays works perfect. they found a way

thekk1 commented 3 months ago

I have this issue too on my UM790pro. Additional the mouse cursor is not rendered, so mouse/keyboard games are impossible at remote play.

This works fine with ChimeraOS and with SteamDeck with original SW.

This tells me that this is a real issue in bazzite.

thekk1 commented 3 months ago

I have done more research and it turns out that there are more issues with remote play than the two above. Here is a complete list:

Game Mode:

Desktop Mode:

kasper-madsen commented 3 months ago

I sort of have this also, but however using mouse mode via Xbox controller brings the overlay up or move the mouse via my iPad also fixes this but when the mouse hides so does the overlay

TeleBooth commented 3 months ago

I’m running into this issue in the same manner that @kasper-madsen is describing. I have tried this on Nobara 40, the latest Bazzite, and even the latest ChimeraOS. All the same.

I have a feeling that something changed around May/June that has affected all of these builds. I can try backdating to an older version of these systems to see if it works.

edit: The issue appears using both Sunshine and Steam Remote Play.

Zaunei commented 2 months ago

When I activate the performance overlay on level 2, I suddenly see the Steam overlay within the Sunshine stream, but the performance overlay is then only displayed on the real monitor.

Otherwise, I also have issues when I set a game to a lower resolution (in the game itself) than the normal resolution used in Steam: Screenshot 2024-09-29 at 10 06 24@2x

As soon as the Steam overlay is displayed, it scales correctly.

Screenshot 2024-09-29 at 10 06 04@2x

WeslyG commented 1 month ago

I tested moonlight on different clients, and found in the native client for mac os that when you press the Esc button, the window turns black, but the steam menus that were previously unavailable are transformed. But only they (left and right). It's funny, and I haven't found a way to get back to regular steam other than restarting the moonlight session.

floppyFK commented 1 month ago

I have the same problem: No Steam overlay is visible in a streamed session (sunshine/moonlight as well as steam link). On the Host PC however, I can see the overlay. I use the bazzite-deck-stable.iso (KDE) image on my desktop PC with an AMD 7900XTX.

Now I have tested also the bazzite-stable.iso (KDE), where i enabled the big picture on startup of Steam and voila: The Steam overlay appears now also in the stream. The problem seems to be related to the deck-specific GUI of Steam.