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.

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”
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
if you permit, can I add this info to the post?
of course!
Ah, with a lenovo yoga slim 7 and fedora 35 on wayland still struggling with this.
What finally works flawlessly is adding a custom keyboard shortcut combination that calls this commands on a script:
loginctl lock-session && systemctl suspend
The first one locks the screen, the second suspends the operating system.
thanks for the tip!
Thanks, this fixed resume on ThinkBook G2 14 ARE
thanks for the feedback!
Thank you, it works on my Thinkbook 14 Gen 2 ARE with KDE Neon. I was so frustated and have tried every distros (live usb) and older version of them, but the problem remains. Luckily I found your article and it helps me to save a lot of time ๐
thanks for letting me know! cheers!
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.
after the modifications on Manjaro, please run upgrade-grub as root or sudo update-grub as non root user.
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.
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!
thanks for letting me know, I’m glad I could help!
hi Luc, will this work also on Hibernate?
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! ๐
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.
Thank you for the feedback Alastair, you can check my other post where I describe how to upgrade bios without having to install/reinstall Windows: https://lucraymond.net/2021/08/16/update-a-lenovo-laptop-firmware-when-you-run-linux/
You saved my life!!!!!!!
Thanks a lot!
thanks for letting me know!! I’ll write more posts soon
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
3. Then, just restart.
No need to ‘mkinitcpio -P’
I have updated the post to include the note for PopOS! , thanks!
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
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.
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.
do you absolutely need it for 20.04? we could possibly troubleshoot through some kind of chat somewhere.
Cheers
No, don’t need 20.04, I wrote this just for information, 21.10 works absolutely fine ๐
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
If you downgrade your BIOS to FACN26WW, the problems will be gone. You can find it here:
https://askubuntu.com/questions/1336889/black-screen-after-suspend-lenovo-thinkbook