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.

  • Einar ( original_reader@lemm.ee ) 
    link
    fedilink
    arrow-up
    14
    ·
    2 years ago

    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?

  • Corngood ( Corngood@lemmy.ml ) 
    link
    fedilink
    arrow-up
    6
    ·
    2 years ago

    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
    • Alaknár ( Alaknar@lemm.ee ) OP
      link
      fedilink
      arrow-up
      4
      ·
      2 years ago

      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 in man 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 run sleep. 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

        • Alaknár ( Alaknar@lemm.ee ) OP
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          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 writing mem 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

      • Corngood ( Corngood@lemmy.ml ) 
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        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

        • Alaknár ( Alaknar@lemm.ee ) OP
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          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.

        • catloaf ( catloaf@lemm.ee ) 
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          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.)

          • Alaknár ( Alaknar@lemm.ee ) OP
            link
            fedilink
            arrow-up
            1
            ·
            2 years ago

            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.

              • Alaknár ( Alaknar@lemm.ee ) OP
                link
                fedilink
                arrow-up
                1
                ·
                2 years ago

                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.

    • Alaknár ( Alaknar@lemm.ee ) OP
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      That’s interesting! Might be KDE bug then.

      Could you try going to System Settings → Screen Locking and de-select “Lock after waking from sleep”? I wonder if you’ll get the same result as I’m getting.

      Before I updated the BIOS to the latest version, once I woke it up, I’d see the desktop exactly frozen as it was the moment I pressed the “Sleep” button.

      Now, after the update, that freeze happens BEFORE the PC goes to sleep - the monitors stay on.

  • Eugenia ( eugenia@lemmy.ml ) 
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 years ago

    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.

      • Eugenia ( eugenia@lemmy.ml ) 
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        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.