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 workaround to make the hibernation work. The problem was present even with the latest kernel on an 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 :
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:
grub2-mkconfig -o /boot/grub/grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
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
Thanks to Man Son Ha for the details about PopOS!