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.
Not really related to the issue. If I understand correctly, your device isn’t bricked, but freezes. A bricked device doesn’t boot anymore, a frozen device is unresponsive. Or am I misunderstanding this?
Yeah, had a brain fart. It’s a freeze.
you could edit your post title
Oh, yeah, that’s true! Didn’t know that’s a thing here, good to know!
Yep, not bricked. Just frozen.
There are two forms of bricked:
- hard bricked. This is when a software change (eg, installing a custom firmware) caused the system to fail to boot, and there is no possible way to ever get it to run again.
- soft bricked. Where a software change caused the failure to boot but there is a way (eg, reflashing using UART) to recover back to an older version that does boot.
Both are terms from the Phone modding community (ie, a phone has become as useful as a brick after this update) it’s quite hard to actually brick a modern PC.
It might be due to https://github.com/systemd/systemd/issues/33083.
Try disabling user session freezing when sleeping:
sudo systemctl edit systemd-suspend.service
Add the following to the file:
[Service] Environment="SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false"
Reload systemd:
sudo systemctl daemon-reload
After that, try sleeping and waking again.
Just tried it now. Does it need a reboot first? As in: should I try again?
As long as you ran
systemctl daemon-reload
, you should be able to try sleeping without needing to reboot.Would this part potentially get in the way of the method you suggested?
One fairly recent thread had a proposed solution of adding
"mem_sleep_default=deep"
toGRUB_CMDLINE_LINUX_DEFAULT
in/etc/default/grub
.Should I remove that?
You can leave it.
Did you contact TUXEDO Support Centre?
Haven’t had the time yet, but it’s on my to-do list. Just not sure if they will support this as I’m running it on my own hardware, not their laptop.
Give it a try. Perhaps they may give you at least a hint.
What kernel version? I had similar issues on similar hardware. These have gone away in more recent kernels though.
6.11.0-109019-tuxedo.
Not the latest, right? I guess I’ll wait for an update.
No, but I don’t believe I saw the issue until the 6.13.x kernels either
I would try:
- see if you can get logs of the resume process
- suspend from a text VT and see if that changes the behaviour
- boot into single user mode and try suspend from there
- boot an older LTS or a newer test kernel and see if it has the same problem
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 usefulSo, 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 thestate
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
That exact issue is why I stopped using KDE. I never did figure it out.
Specs for computer havibg the issue ans how long ago did this happen? Seems like a bug that neexs to be reported and more data for devs the better.
Tried it November of 2024, ended up switching to Mint with Cinnamon, zero issues since.
Dell XPS 8930
i7 9700 (no K)
32GB ram
NVidia RTX 2060
240gb ssd
2tb hdd
I’m pretty sure tuxedo support should be able to cover this for you. Its one of the bonuses of buying a Linux laptop.
I’m running it on a desktop PC, so not sure if they’d cover it. But I might poke them about it, good idea.
First, update your computer’s BIOS/firmware. If that doesn’t fix it, then try Arch, or Fedora beta. If the problem exists there too, then it’s a kernel issue in general, and it might get fixed in the future. OR, if the computer BIOS is buggy, Linus has been clear that they won’t do workarounds for buggy firmwares. In which case, you’d need a new computer that’s actually compatible with Linux.
Most of the computers out there have buggy firmwares that go around for Windows, but Linus has been adamant that he wouldn’t do workarounds because they bloat the kernel.
Well, I updated the BIOS - no change so far. I guess I’m stuck without Sleep. :/
You are not alone. There are many laptops that don’t work with sleep on Linux. I used to have one of them, a Dell 3150. I simply disabled sleep in bios, and be done with it. I now buy laptops that I know they work 100% with Linux. It’s impossible for Linux to support every hardware in the world, when these are specifically are made for Windows.