Modern laptops promise instant-on convenience, but in reality many Linux users run into hiccups: black screens after waking, Wi-Fi that disappears, or systems that never actually go to sleep. These problems almost always come down to a handful of configuration points in the graphics stack, drivers, and firmware.
This guide walks you through a vendor-neutral, reproducible procedure for preparing a Linux laptop so suspend and resume “just work.”
1. Install the Correct Graphics Driver
If your laptop has only Intel or AMD graphics, the kernel’s built-in drivers are usually sufficient.
If your laptop uses hybrid graphics (Optimus) — an Intel internal GPU plus an NVIDIA dedicated or external GPU — you should install video driver:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-XXX # replace XXX with the recommended version
This ensures you get the latest, distribution-tested proprietary driver with the proper ACPI hooks.
2. Resolve Conflicting Modules
On hybrid graphics laptops, both i915 (Intel) and nvidia can try to own the Direct Rendering Manager (DRM) node. That race is one of the most common reasons for failed resume.
Append this kernel parameter so NVIDIA takes control cleanly:
nvidia-drm.modeset=1
Add it to the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub, then run:
sudo update-grub
Reboot to apply the changes.
3. Verify Your Display Manager
Suspend/resume cannot restore your graphical session if the display manager is disabled. After installing or changing graphics drivers, check:
systemctl status gdm # or lightdm, sddm
If it’s inactive, restart or re-enable it:
sudo systemctl enable --now gdm
4. Back Up Your Current Configuration
Before tweaking power management, save the working config so you can roll back if needed:
sudo cp /etc/default/grub ~/grub.backup
sudo cp -r /etc/modprobe.d/ ~/modprobe.backup
This preserves your kernel parameters and any custom module options.
5. Disable Unnecessary Wake-Up Devices
Many laptops wake up instantly because USB devices (mice, docks, Bluetooth dongles) trigger spurious signals. Check which devices can wake the system:
cat /proc/acpi/wakeup
You’ll see something like:
Device S-state Status
XHC S3 *enabled
To toggle a device off (example: USB3 “XHC”):
sudo sh -c 'echo XHC > /proc/acpi/wakeup'
Re-run cat /proc/acpi/wakeup to confirm the change.
6. Run the Latest LTS or HWE Kernel
Kernel power management improves with almost every release. Even on LTS distributions you can install a newer “Hardware Enablement” (HWE) kernel:
sudo apt install --install-recommends linux-generic-hwe-20.04
Reboot into the new kernel and test suspend again. Many driver fixes (especially for NVIDIA) only exist in newer kernels.
7. Update BIOS/UEFI Firmware
Laptop vendors frequently ship ACPI table fixes and device-specific suspend quirks via firmware updates. On most Linux distributions you can use fwupd:
sudo apt install fwupd
sudo fwupdmgr refresh && sudo fwupdmgr update
Reboot after updates. This step alone resolves a surprising number of resume bugs.
8. Optional: Hybrid Sleep Configuration
If you want Hybrid Sleep (suspend-to-RAM plus a hibernation image for safety), edit /etc/systemd/sleep.conf:
sudo nano /etc/systemd/sleep.conf
Add:
[Sleep]
AllowHybridSleep=yes
Then test:
systemctl hybrid-sleep
This gives you instant wake most of the time but falls back to hibernation if the battery dies.
9. Troubleshooting Checklist
If suspend/resume still fails:
- Check logs:
journalctl -b -1 | grep -i suspendto see last resume messages. - Verify kernel parameters:
cat /proc/cmdlinemust shownvidia-drm.modeset=1(if using NVIDIA). - Confirm display manager running:
systemctl status gdm(or your DM). - Retest without peripherals: unplug docks, USB devices, external monitors.
- Try a different NVIDIA driver version:
ubuntu-drivers devicesshows recommended options. - Re-disable USB wake sources: some BIOSes reset them each boot.
- Update firmware again: vendors push small ACPI fixes frequently.
Conclusion
Reliable suspend/resume on Linux laptops isn’t magic — it’s a combination of:
- Correct graphics drivers
- Clean kernel parameters
- Proper display manager setup
- Controlled wake sources
- Up-to-date kernel and firmware
Follow this checklist and your laptop will enter and leave low-power states smoothly, without black screens or lost Wi-Fi, and you’ll gain confidence that closing the lid won’t crash your session.