ublue-os / bazzite

Bazzite is a custom 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
3.19k stars 167 forks source link

[Steam Deck OLED] Always boots to unresponsive black screen #771

Open pippaine opened 4 months ago

pippaine commented 4 months ago

Describe the bug

The system will boot into one of two states:

  1. Black screen with a single white "_" (underscore) character in the top left. Other TTYs cannot be accessed in this state -- any keyboard or gamepad inputs do not do anything. The system is still accessible through SSH.

  2. Black screen with no underscore character i.e. completely blank. Other TTYs can be accessed in this state, but attempting to run steamos-session-select plasma or gamescope causes the screen to freeze and the system to become unresponsive to any keyboard or gamepad inputs. The system is still accessible through SSH.

Once, after running ujust toggle-autologin, rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:39-20240205, systemctl reboot, the system entered this state:

  1. Black screen with no underscore character i.e. completely blank. Other TTYs can not be accessed in this state. The system is not accessible through SSH.

The system returned to intermittently booting between states 1 and 2 after three force-shutdowns.

What did you expect to happen?

I expect the system to be accessible in gaming mode upon startup.

Output of rpm-ostree status

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:latest
                   Digest: sha256:cc09fb538f3d06d1d62b12733e43f06b53ab305c5733c0bc04ca73dbdbb87f7c
                  Version: 39.20240213.0 (2024-02-14T09:29:32Z)
                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:39-20240214
                   Digest: sha256:cc09fb538f3d06d1d62b12733e43f06b53ab305c5733c0bc04ca73dbdbb87f7c
                  Version: 39.20240213.0 (2024-02-14T09:29:32Z)
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf"'

Hardware

Steam Deck OLED

$ cat /sys/devices/virtual/dmi/id/product_name
Galileo

Extra information or context

I do not know a workaround for this issue. My device has been rendered completely unusable.

I noted this issue first about 16 hours ago. In the ~24 hour period between when:

  1. I last used the device in a working state
  2. I first experienced the issue after running ujust update then systemctl reboot

the device sat on my desk undisturbed.

I have tried restarting the system after running the following commands:

The issue persisted across every version. This is particularly odd, because the device did not have this issue on 39-20240212 and prior.

Running gamescope in tty2 provides this output before the screen freezes:

vblank: Using timerfd.
wlserver: [backend/headless/backend.c:67] Creating headless backend
wlserver: [libseat] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
wlserver: [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
_
KyleGospo commented 4 months ago

I am not successful in reproducing this on my OLED, I'll see if I can get any other hardware to do it.

pippaine commented 4 months ago

Thanks. I'm baffled by this issue. I've spent some man-hours trying to inspect further into this but never really got anywhere since I lack domain knowledge

Fortunately I've at least figured out a workaround to un-brick my device.

To enter gaming mode from ttyN:

gamescope-session-plus steam

To enter desktop mode from ttyN:

XDG_SESSION_TYPE=wayland dbus-run-session gnome-session

"Switch to Desktop Mode" and "Return to Gaming Mode" buttons no longer work (stuck on "Switching to Desktop Mode" forever; logging out to tty instead of entering gaming mode) so this requires plugging in a keyboard to return to tty but I was able to launch a game and adjust audio with device buttons.

Notably, /usr/bin/gnome-session does seemingly nothing and has no output

journalctl output after running gnome-session: 771-1.log (no stdout, still in tty prompt)

journalctl output after running XDG_SESSION_TYPE=wayland dbus-run-session gnome-session: 771-2.log (opens gnome desktop mode successfully)

pippaine commented 4 months ago

User Alex&Indie on the #bazzite discord channel notes this same issue happening on their LCD model

sean-work commented 4 months ago

I'm on the discord as bear.fox, I'm having the same issue as above on my LCD Deck. Been on Bazzite since August last year. I was on a December or January bazzite-deck build before I decided to system update via gamemode system settings. Since that update, it showed updating kargs (on bootup) and now every boot I have had a black screen or blank tty. I can use the controls to navigate menus and boot into desktop mode. I have tried rollbacks and a rebase to bazzite-deck39:20240113.0 (used the exact command from the docs actually). Unfortunately the issue still prevails. Here is my .gamescope-stdout.log https://pastebin.com/5ePZB3UP

Thanks for your time.

sean-work commented 4 months ago

On a cold boot after rebasing to the Jan 13th build, I'm actually getting a message that Jupiter fan control service failed to start. I unhid grub and am able to boot into the more recent deployment build released yesterday, but the black screen gamescope issue persists. My only additional layered package is sunshine-0.21.0-1.x86-64 and that package is working fine still.

After ujust toggle-autologin (thought I could have the deck image boot to desktop automatically instead) I am now unable to get a working tty at all or a navigate gamescope behind the black screen. So flashing a new image via USB seems to be my only recourse. Which I'd hate to do as I have so much custom configuration setup for apps etc

sean-work commented 4 months ago

Upgraded to latest build (24th Feb), same behavior. Rebased to 5th Feb build, same behavior. Disabled decky loader, same behavior.

I have found that if I enter desktop mode via blind menu navigation or tty, then from there the .desktop file to return to gamemode will consistently load gamescope/gamemode successfully.

dnkmmr69420 commented 4 months ago

I am having issues with this as well

dnkmmr69420 commented 4 months ago

A reinstall reduced this error happening dramatically. It only appears once in a while.

Kidswiss commented 4 months ago

I also have this issue on an all AMD PC.

However it seems to happen a lot more with DisplayPort than with HDMI. I'm using the deck-gnome image.