Hi all!
I recently installed Tuxedo OS with KDE and Wayland. I’m fairly new to Linux and, so far, the distro is great. With one caveat.
As far as power options go, everything works fine EXCEPT for Sleep. I can put the PC to sleep, but when I wake it up, I land on the login screen wallpaper with the login/password fields barely visible, as if frozen around the second frame of a fade-in animation.
Nothing works. The mouse cursor doesn’t move, the keyboard doesn’t do anything. The only way out of this state is to hold the power button until the PC shuts down and then turn it back on again.
I did some digging, but couldn’t find a solution. Some threads mentioned modifying something in systemd, but those were from years ago, so I didn’t want to risk that.
One fairly recent thread had a proposed solution of adding "mem_sleep_default=deep"
to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
.
That didn’t work for me, though.
I’d love to fix this, but I’m out of ideas. Any help welcome!
EDIT
Forgot it might be a driver issue, people were complaining about Nvidia gear!
I currently don’t have a dedicated GPU. I only have Ryzen 7 7800X3D running on MSI B650 Gaming Plus WIFI ATX AM5 MoBo.
Sorry, mate, I’m a Linux noob.
I have no clue where to find the logs for this.
No idea what a VT is.
Don’t know how to boot into single user mode…
logs are mostly at 2 places.
kernel logs are read with the
dmesg
command. use the--follow
parameter if you want it to keep printing new messages.dmesg does not save logs to disk.
broader system logs are read with
journalctl
. use-f
for it to keep printing. the journal records kernel messages, but it only shows them when you specifically request it. you can find the param for that inman journalctl
.the journalctl (journald actually) saves logs to disk. but if you don’t/can’t shut down the system properly, the last few messages will not be there.
some system programs log to files in /var/log/, but that’s not relevant for now.
if you switch to a VT as the other user described, you should see a terminal prompt on aback background. log in and run
dmesg --follow > some_file
, some_file should not be something important that already exists in the current directory. switch to another VT, log in, and runsleep
. try to wake up. see if you could have waken up, and if not check the logs you piped to the file, maybe post it here for others to see.also, what did you do after setting the deep sleep kernel param? did you rebuild the grub config, and reboot before trying to sleep with it? that change only gets applied if you do those in that order.
there’s an easier way to test different sleep modes temporarily, let me know if it would be useful
So, I did a BIOS update, as advised here, and got some interesting results!
The freeze still happens - but it now freezes BEFORE the PC shuts down.
As in: I click the Sleep button, all devices get disconnected (audio, network, BT, input - all of it goes), the OS freezes, but the screens stay on. I cannot switch to a different VT at this point as everything is disconnected.
here is the low-level documentation on sleep on linux, and the ways you can initiate it: https://docs.kernel.org/admin-guide/pm/sleep-states.html#standby
I would try if setting mem_sleep to any of its values and then sleeping fixes the issue. read this file first to know which options are available on your system, and what is the current default.
if none of them works, try to write freeze or standby into the
state
file to see of any of them works, in case your system does not do sleeping by writingmem
into this file.if this is a firmware issue, hopefully one of the ways that don’t involve the firmware could work until a better solution is found.
the Arch Wiki has mostly the same info but with more (or different) details: https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate
it also mentions what are your options if deep sleep (which is real sleep) does not work.
let us know what results you got
Fair enough, most of that isn’t something a user should have to worry about.
VT is just Virtual Terminals. You always have one of them active, and in most distros you can switch to others by Ctrl-Alt-F1 through F12. In some distos it’s just Alt-F1.
So if you press Ctrl-Alt-F2 you should be brought to a text login. For crazy historical reasons you may have to either press Ctrl-Alt-F1 or Ctrl-Alt-F7 to get back to your usual graphical session.
Arch docs for example: https://wiki.archlinux.org/title/Linux_console
OK, I tried that. Ctrl+Alt+F2 gives me a black screen.
Ctrl+Alt+F1 brings me back to my desktop.
Ctrl+Alt+F3-F6 all have a text login screen. F7+ don’t do anything.
I was able to grab the
journalctl
logs. You can find them (and an extra bit about the computer state I was able to get) HERE.What are the crazy historical reasons? As far as I know, running six ttys and one graphical session, in that order, has been standard.
The really crazy historical way to test for crashes is num/scroll/caps lock. That’s handled by a very low-level kernel driver. If those are responsive, it’s probably just your display (gpu, X, wayland, or something) that’s locked up. If they’re unresponsive, your kernel is locked up. (If you’re lucky, it’s just gotten real busy and might catch up in a minute, but I’ve only seen that happen once.)
I was able to make some progress in troubleshooting.
I went to the Screen Locking options and disabled “Lock after waking from sleep”. Now I get to see the screen when I wake the computer back up, frozen as it was when I issued the sleep command.
All devices are disconnected - no network, no Bluetooth, no audio, all the “tray” icons are greyed out and/or showing errors, time is stopped at the moment I clicked the “Sleep” button.
Not sure if that helps at all.
after wake up, does the numlock button change its light when you press it?
No, the keyboard is unresponsive. I also tried Ctrl+Alt+F1…F7, and got absolutely nothing.
I did a BIOS update, as advised here, and the behaviour changed! Now the freeze happens BEFORE the PC goes to sleep. As in: it gets to the frozen state the moment I click the button and the screens remain on.