Fixing Suspend / Resume on Lenovo ThinkBook 15 G2 ARE Laptop with AMD in Linux


If you bought the Lenovo Thinkbook 15 G2 ARE with the AMD processor you probably noticed that the suspend option is not working in Linux. After some debugging I finally found a work around. The problem was present even with the latest kernel on a Arch Linux system with Kernel 5.12.14. The issue was also present under Ubuntu, with a slightly older kernel.

This fix has been tested on the 14 and 15 inch with the AMD processor, under Arch and Ubuntu.

Thinkbook 15 G2 ARE

On a GRUB system

If your system uses GRUB, edit the /etc/default/grub file. On the following line :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

add the following :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=soft"

This part can vary a lot between distributions, apply the changes with the following:

sudo grub-update

or

grub2-mkconfig -o /boot/grub/grub.cfg

or

grub-mkconfig -o /boot/grub/grub.cfg

reboot

On a SYSTEMD-BOOT system

edit your config file /boot/esp/loader/entries/<your_config>.conf

Note: on PopOS! the file is called : /boot/efi/loader/entries/Pop_OS-current.conf

In your file you should see something similar as :

options root="LABEL=arch_os" rw

add the new option before the last double quote, like this:

options root="LABEL=arch_os" rw iommu=soft

Note: on PopOS! it will look like this, add the iommu=soft after ro.

options root=UUID=... ro    iommu=soft   quiet loglevel=0 systemd.show_status=false splash 
reboot

Thanks to Man Son Ha for the details about PopOS!


33 responses to “Fixing Suspend / Resume on Lenovo ThinkBook 15 G2 ARE Laptop with AMD in Linux”

  1. Thanks for your help with this Luc.
    On my Thinkbook 14 AMD G2, Suspend via OS now works great, thanks to your fix!

    However, Suspend triggered by closing the lid was still a problem. (did not wake)
    In my case I set HandleLidSwitch=ignore, then I could either manually suspend & close the lid or close the lid (screen blanks) & allow the system to self-suspend after 20 mins (or whatever the sys pref is)

    In case this affects anyone else:
    /etc/systemd/logind.conf

    HandleLidSwitch=ignore
    HandleLidSwitchExternalPower=ignore

  2. Your solution works with Fedora and Pop Os installed on my Lenovo ThinkBook 15 G2 ARE Laptop. But it didn’t work with Manjaro installed.
    in /etc/default/grub
    Line GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash udev.log_priority=3″
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash udev.log_priority=3 iommu=soft”
    I changed it to.
    So what did I do wrong?
    I want to use Manjaro and I don’t want to give up for it.

  3. Hi,
    I finally did.
    sudo grub2-mkconfig -o /boot/grub/grub.cfg
    command was giving an error.
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    It worked when I gave the command.
    Thanks for the feedback.

  4. Thank you a lot!
    On my laptop it’s working (ThinkBook 15 Gen2 ARE).
    I’ve tried everything, but nothing didn’t work. You saved my time and my mood!

    • I need to test it but my current install is not configured with any swap which is a requirement for the hibernation fonctionnality. I will post something when I try it. thanks

      • Hi Luc, just go back here, and thank you for your response ๐Ÿ™‚
        I’ve try your solution and now it’s working on my ThinkBook15! ๐Ÿ˜€
        I think hibernate also work, since i just press hibernate on my ubuntu, and then when turn it on again, it’s just work fine, it goes to desktop normally.
        Now my current issue is the fingerprint, i think the fingerprint is unsupported by Linux.
        Once again, thank you so much! ๐Ÿ™‚

  5. Thank you thank you thank you so much!
    I installed a new nvme, re installed windows, bios got upgraded, etc, and through all this something changed and broke my suspend/resume. Now I am back working again.

  6. On Pop OS,
    There a bit difference.

    1. Edit the config file which located in /boot/efi..
    sudo gedit /boot/efi/loader/entries/Pop_OS-current.conf

    2. Than, paste ‘iommu=soft’ after ‘root=.. ro’
    options root=UUID=41bf0e95-c968-4410-8374-25451a664ff4 ro iommu=soft quiet loglevel=0 systemd.show_status=false splash

    • After 2 weeks, the problem with suspend returned.

      I open `/boot/efi/loader/entries/Pop_OS-current.conf` then learn that `iommu=soft` has already disappeared.
      It’s so weird.

      Adding it again, then problem gone.

      • to protect the file you can make it immutable. Even root can’t delete or replace an immutable file, I wrote the revert code just below too
        chattr +i /boot/efi/loader/entries/Pop_OS-current.conf

        to revert:
        chattr -i /boot/efi/loader/entries/Pop_OS-current.conf

        if you do an ls -a on the directory or file you will see a ‘+’ at the end of the permissions to see that there is an extended Filesystem attribute set for the file that you did it.

        Uou can see a list of all extended attributes by doing an
        lsattr /boot/efi/loader/entries/Pop_OS-current.conf

  7. I had to go into the bios and under power options set the suspend mode to “Linux” instead of “Windows 10”. ( I don’t have the Bios screen to look at right now so I’m not 100% on the names )
    I don’t need to change anything on the boot options. They actually didn’t help. I got an L15 AMD Gen2

    • My T580 and Thinkbook 15 GEN2 don’t have any options for the suspend mode. I know it’s present on some models but I can’t test.

  8. Hi, Thanks for solution. Lenovo ThinkBook 15G2 ARE Ryzen 7 – For me it works on Ubuntu 21.10, however it didin’t work on Ubuntu 20.04 with all updates.

      • No, don’t need 20.04, I wrote this just for information, 21.10 works absolutely fine ๐Ÿ™‚

  9. Hi Luc – thanks so much for that! I wish I found your blog post earlier. Have been constantly switching on and off my thinkbook for the last months. Your ‘fix’ works like a charm. Question – why does it work? I’ve read tons about sleep modes, amdgpu driver problems etc, yet it seems completely unrelated.

    Thanks! Maciej

Leave a Reply

Your email address will not be published.