Recently bought a new laptop that comes with an AMD Radeon gpu and installed OpenSuse Tumbleweed on it which I had installed on my previous laptop as well but never had issues with suspending and resuming. However, with the new laptop, I am unable to resume after suspending or closing the lid unless I force it to shut down by holding the power button which is a major inconvenience.

I’m also dual booting alongside Windows and have secure boot enabled and have the Linux and Windows partitions encrypted if that’s what’s causing it which I doubt since this is the same setup I had on my old laptop

Any suggestions or advice would be greatly appreciated.

Edit: I was able to figure out that it does not suspend at all when I close the lid or click the suspend button on Gnome. Only found this out because when going through YaST Services Manager and manually starting systemctl suspend, the laptop suspends just fine and wakes back up. So I’m starting to think it’s more of a systemd issue? Any inputs?

Edit: turns out it was an issue with the official opensuse built kernel not sitting well. Downloaded a community version from the opensuse repository and it works fine. Very odd

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    14
    ·
    7 months ago

    If you can’t get the laptop to resume when the OS isn’t even active anymore, either the power management is broken (s0idle issues most likely, possibly after transitioning into another idle state) or the firmware is broken. In some rare cases, the problem is with the ACPI table embedded in the firmware, but you could treat that like a firmware issue because you don’t have any control over it. Either way, your ability to debug this is rather limited, as most hardware is disabled the moment you suspend your laptop.

    You should check if there are updates for your laptop’s motherboard firmware. You’ll have the best chance at this using Windows, because many manufacturers don’t release all that many Linux compatible updates. Previously, AMD has had to release firmware updates for some of their CPUs, as well as kernel patches. Also check for firmware updates for other components (SSD/TPM/what have you) because they could all play a role in the suspend process.

    I don’t know OpenSuse well, but generally attempts to fix this on the Linux side include trying older kernel versions (as Tumbleweed is a rolling release distro). If an older version does work, you should file a regression report so someone can fix it in the current kernel.

    • MagneticFusion@lemm.eeOP
      link
      fedilink
      arrow-up
      3
      ·
      7 months ago

      I was able to figure out that it does not suspend at all when I close the lid or click the suspend button on Gnome. Only found this out because when going through YaST Services Manager and manually starting systemctl suspend, the laptop suspends just fine and wakes back up. So I’m starting to think it’s more of a systemd issue? Any inputs?

      • Skull giver@popplesburger.hilciferous.nl
        link
        fedilink
        arrow-up
        5
        ·
        7 months ago

        I doubt it, Gnome just runs the standard dbus suspend call as far as I know (source).

        However, there are different ways to suspend the system (configured by echoing a magic word to a file in /sys) so it’s possible the GUI is somehow misconfiguting the system based on what the OS reports to be the preferred suspend method. From browsing the source code, it seems like Gnome will do a Dbus call which systemd receives, and after receiving that it seems to start the suspend service? It’s a bit hard to follow with all the dbus interaction.

        This seems to be where sleep is actually requested, This is where the requested command is mapped to a specific action that is then started by the systemd manager, which is defined as a string here.

        As far as I can tell, clicking suspend is the same as running systemctl start suspend.target. But maybe there’s more going on, perhaps something else is intercepting the dbus call to suspend, preventing systemd from doing its job?

  • kusivittula@sopuli.xyz
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    7 months ago

    had the same issue on nobara and i always thought it was nvidia problems. for me the only solution was to use another distro :( sometimes ctrl + alt + F2 or F1 got me back to the login screen.

    • MagneticFusion@lemm.eeOP
      link
      fedilink
      arrow-up
      5
      ·
      7 months ago

      Unfortunately does not work for me because the screen is black and the laptop is suspended and refuses to wake up

  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    7 months ago

    I have/had a similar issue, but for an old nvidia laptop. What happens if you get it to suspend and resume again? Mine would come back the second time.

  • KryptonBlur@slrpnk.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 months ago

    I don’t have any advice, but I just wanted to confirm I have the same issue sometimes with my laptop running fedora.

    • souperk@reddthat.com
      link
      fedilink
      arrow-up
      4
      ·
      7 months ago

      If you use a recent release of Fedora (last 2-3 years). Try disabling WiFi and/or Bluetooth before suspending. There is an issue with some hardware, especially adapters. It doesn’t happen everytime, and it’s hard to accurately reproduce. Also, the symptoms can vary from black screen to sudo being stuck.

  • Gunpachi@lemmings.world
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    I have a similar issue but for me the black screen comes at random times when I open, close or move my windows or mouse.

    I found a temporary fix for it by checking out the archwiki amdgpu page

    But it still occurs , especially when I wake up my computer after suspending it.

  • ShaunaTheDead@kbin.social
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    Are you using the dedicated GPU as your primary GPU or the integrated GPU? I’ve found using the dGPU as the primary can sometimes lead to suspend/resume issues.

  • paradox2011@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    7 months ago

    I know it’s not super helpful, but I’ll add that this happens to me periodically on my EndeavourOS, Intel based desktop as well. Not even all of the time, just sometimes when it suspends. It seemed to get better when I changed my settings to hybrid sleep, but it just happened again yesterday, so I’m back to square one. Bookmarking to check for possible solutions later.

  • Goingdown@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    I have seen this on HP laptop with WWAN device installed. Disabled device from Bios and problem went away.

  • souperk@reddthat.com
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    7 months ago

    It’s a wild guess, but try to disable Bluetooth or WiFi before suspending.

    It’s doesn’t happen with all hardware, but it is a knowing issue.

  • Hector@lemmy.ca
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    It is happening to me too on my surface tablet. Do you have TLP installed? Just out of curiosity

  • olympicyes@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    I have this same problem when passing an AMD GPU to a virtual machine on my Linux desktop. It works the first time and then doesn’t initialize the card on reset. What you’re experiencing sounds an awful lot like the AMD Reset Bug. In my case a host machine restart resets the card. I’d suggest checking the bios to see if it’s got some kind of quick restart feature that is intended for Windows. Not being able to close the lid is unacceptable. You should return it if you can or run windows.