The sleep/wake saga (Alienware-M16a2 research + Sleep-Fix-Guide) framed a machine sold on 2026-09-28 as 'this system' — the 2026-09-28 identifier purge missed both because they name no hostname. blankpad probed live: Lenovo, AMD Ryzen 5 PRO 5650U / Cezanne, unified memory, s2idle only, no NVIDIA, no ~/GitPackages/llama.cpp. - research/Sleep-Fix-Guide.md -> .AGENTTRASH (verbatim restatement of the research doc's fix steps; PowerCluster overlap census) - Alienware doc: archive banner, 'this system' -> retired dankware - linux-power-management.md: scope note (blankpad s2idle-only; NVIDIA section is dankware/future-NVIDIA territory), boilerplate AGENTS.md cross-ref dropped - cachyos.md: de-pinned rolling-release kernel versions (7.1.4 doc vs 7.2.9 live), repo list confirmed verbatim against pacman.conf, SDDM confirmed live, verified: 2026-10-19 - AGENTS.md: dev-workstation row rewritten for blankpad; Gitea gotcha corrected — remote URLs carry NO token (credential-store file, verified) Refs #29
19 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | ||||
|---|---|---|---|---|---|---|---|---|
| reference | Alienware M16a2 Linux Sleep/Wake Issues | Sleep/wake research on the Alienware m16 R2 (dankware, sold 2026-09-28): NVIDIA driver state corruption during suspend/resume on Dell hardware. Kept as class-level Dell/Alienware + NVIDIA knowledge. |
|
2026-01-15 |
Alienware M16a2 Linux Sleep/Wake Issues — Comprehensive Research
Machine archive (2026-10-19). "This system" throughout is dankware, the Alienware m16 R2 client workstation sold 2026-09-28 (see
log.md). The current dev workstation (blankpad— AMD Ryzen 5 PRO 5650U / Cezanne APU, s2idle only, no NVIDIA GPU) is not this machine. Hardware inventory and driver versions are historical; the class-level Dell/Alienware + NVIDIA suspend research is retained as durable knowledge.
Executive Summary
The symptom — screen stays black after waking from sleep (lid close) — is a well-documented class of issues on Dell/Alienware laptops with NVIDIA GPUs running Linux. The root cause is almost always NVIDIA GPU driver state corruption during suspend/resume, compounded by ACPI/sleep state selection issues and BIOS/firmware settings.
1. Known Issues with Alienware M16a2 + Linux Sleep States
1.1 Model Context
The Alienware m16 R2 (the retired dankware box) is equipped with:
- Intel Core Ultra 7 155H (Meteor Lake, 6p+8e cores, 22 threads)
- Intel Arc Graphics (Meteor Lake-P iGPU)
- NVIDIA GeForce RTX 4070 Laptop GPU (AD106M, Max-Q/Mobile)
- NVIDIA Driver: 610.43.03
- OS: CachyOS Linux, kernel 7.1.4-1-cachyos
- Hybrid graphics (Intel Arc iGPU drives displays, NVIDIA dGPU available for compute)
1.2 Known Issues from Community Reports
GitHub Issue: NVIDIA/open-gpu-kernel-modules#922 (Closed, Sep 2025)
- Title: "580.76.05 / 580.82.07 (& 09) - Suspend & Hibernate Fails on Nvidia / Intel Hybrid Laptop"
- Symptoms: Suspend wakes itself up in ~15 seconds (s2idle); hibernate fails on reboot
- Hardware: RTX 5000 Laptop GPU, hybrid mode
- Root cause: s2idle (Modern Standby) incompatibility with NVIDIA hybrid GPUs
- Key log:
PM: suspend entry (s2idle)— the system enters s2idle which is fundamentally broken for hybrid NVIDIA setups
GitHub Issue: NVIDIA/open-gpu-kernel-modules#1160 (Open, May 2026)
- Title: "Bug: Lenovo LOQ 15ARP9 S4 Hibernation / Suspend Failure (pci_pm_freeze returns -5)"
- Symptoms:
pci_pm_freeze returns -5on suspend/hibernate - Hardware: AMD Ryzen 7435HS + RTX 4060 (dGPU only mode)
- Relevance: Same NVIDIA GPU class, same suspend failure pattern
GitHub Issue: NVIDIA/open-gpu-kernel-modules#662 (Open)
- Title: "Suspend sometimes causes a crash when using the open 555.52.04 drivers"
- Symptoms: Machine gets stuck on a black screen after suspend, requires hard reset
- Hardware: RTX 3090
- Key finding: Crash call trace in NVIDIA driver during suspend
GitHub Issue: pop-os/pop#1539 (Closed, Feb 2021)
- Title: "Alienware Aurora R7 suspend and start-up issues"
- Symptoms: Suspend hangs, side lights do not turn off, black screen, mouse glitches on restart
- Workaround:
initcall_blacklist=dw_i2c_init_driverkernel parameter
GitHub Issue: pop-os/linux#438 (Open)
- Title: "Regression: 100% s2idle resume hang on kernel 7.0.9-76070009 (AMD Strix Point + NVIDIA hybrid); 6.18.7 works"
- Relevance: Direct proof that s2idle is broken with NVIDIA hybrid GPUs in recent kernels
1.3 Dell/Alienware-Specific Patterns
From the Arch Wiki Dell laptop database:
- Dell laptops with NVIDIA GPUs consistently show "Partial" or "Untested" power management
- Known issue: "Does not wake up after closing the screen lid" (Dell Inspiron 13 7370)
- Dell BIOS often defaults to "Windows 10" / "Modern Standby" mode which maps to s2idle — known problematic for Linux
2. GPU-Related Sleep Problems (NVIDIA Drivers)
2.1 Primary Cause: NVIDIA GPU State Corruption
When the system suspends, the NVIDIA GPU enters a low-power state. Upon resume:
- The NVIDIA driver attempts to restore GPU state
- If the driver module was not properly suspended or VRAM preservation failed, the GPU remains in a non-functional state
- The display controller (connected to the NVIDIA GPU via PRIME) never receives the signal to re-enable the display
- Result: System is awake (you can SSH in, disk is accessible) but screen is black
2.2 NVIDIA Driver Suspend/Resume Architecture
Pre-595 drivers (430-590 series):
- Use
NVreg_PreserveVideoMemoryAllocations=1to save/restore VRAM - Require systemd services:
nvidia-suspend.service,nvidia-hibernate.service,nvidia-resume.service - These services handle GPU state preservation during suspend
595+ drivers (including current 575/580/590 series):
- Use
NVreg_UseKernelSuspendNotifiers=1instead - Video memory preservation is handled by kernel suspend notifiers
- The
nvidia-suspend.serviceetc. are disabled by default - This is a critical change — if kernel suspend notifiers do not work on your hardware, suspend will fail
Verification:
# Check if video memory preservation is enabled
sort /proc/driver/nvidia/params | grep -i "usekernelsuspend\|preservevideo"
# Should show: UseKernelSuspendNotifiers: 1 (595+)
# Or: PreserveVideoMemoryAllocations: 1 (pre-595)
2.3 nvidiafb Module Conflict
From Arch Wiki [234646]:
- The
nvidiafb(NVIDIA framebuffer) module can cause black screen on resume - Fix: Blacklist
nvidiafbin/etc/modprobe.d/blacklist-nvidiafb.conf
blacklist nvidiafb
2.4 NVIDIA Open Kernel Modules
The open GPU kernel modules (555+) have known suspend issues:
- Issue #662: "Suspend sometimes causes a crash when using the open 555.52.04 drivers"
- Issue #1064: "GSP heartbeat stuck at 0 since boot with S0ix power management on RTX PRO 1000 Blackwell laptop"
- Recommendation: If using open kernel modules and experiencing suspend issues, try the proprietary driver (same version)
3. Kernel Parameters and Boot Options
3.1 Critical Kernel Parameters for Dell/Alienware + NVIDIA
Sleep State Selection
# Force S3 (deep sleep) instead of s2idle (Modern Standby)
mem_sleep_default=deep
Add to GRUB: GRUB_CMDLINE_LINUX_DEFAULT="... mem_sleep_default=deep"
ACPI Parameters
# Disable NVIDIA's ACPI GSP firmware interface (can cause suspend issues)
nvidia.NVreg_PreserveVideoMemoryAllocations=1
nvidia.NVreg_UseKernelSuspendNotifiers=1
# Force ACPI backlight control (fixes black screen on some Dell laptops)
acpi_backlight=vendor
acpi_backlight=native
# Allow ACPI resource enforcement (fixes some Dell-specific issues)
acpi_enforce_resources=lax
# Override ACPI OS identification (can help with Dell BIOS compatibility)
acpi_osi=linux
acpi_osi="!Windows 2012"
acpi_osi="!Windows 2029"
NVIDIA-Specific Parameters
# In /etc/modprobe.d/nvidia.conf:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_UseKernelSuspendNotifiers=1
options nvidia NVreg_InitializeSystemMemoryAllocations=1
PCIe and Device Power Management
# Disable PCIe ASPM (can cause wake issues)
pcie_aspm=off
# Disable USB autosuspend (prevents USB devices from waking the system)
usbcore.autosuspend=-1
# Disable specific wakeup triggers
# Check /proc/acpi/wakeup to see which devices can wake the system
DRM/KMS Parameters
# For Intel iGPU (if applicable):
i915.enable_dc=0
i915.enable_fbc=0
# For AMD iGPU (if applicable):
amdgpu.siips=0
3.2 Complete Recommended GRUB Line for Alienware M16a2
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep acpi_backlight=vendor acpi_enforce_resources=lax nvidia-drm.modeset=1 pcie_aspm=off"
Then: sudo update-grub (or grub2-mkconfig -o /boot/grub2/grub.cfg on Fedora)
3.3 NVIDIA Module Parameters
Create /etc/modprobe.d/nvidia-power.conf:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_UseKernelSuspendNotifiers=1
options nvidia NVreg_InitializeSystemMemoryAllocations=1
options nvidia NVreg_RuntimePeer=1
Then regenerate initramfs:
# Arch:
sudo mkinitcpio -P
# Ubuntu:
sudo update-initramfs -u
# Fedora:
sudo dracut --force
4. BIOS/Firmware Settings
4.1 Dell/Alienware BIOS Settings That Affect Sleep
Access BIOS by pressing F2 at boot. Key settings:
Sleep State Configuration
| Setting | Recommended Value | Notes |
|---|---|---|
| Sleep State | S3 (Deep Sleep) | Avoid "Auto" or "Windows 10" (maps to s2idle) |
| Modern Standby | Disabled | Modern Standby = s2idle, known broken with NVIDIA |
| Windows 10/11 Boot | Disabled | Forces Linux-compatible ACPI |
| S3 Sleep Support | Enabled | If available as explicit option |
Power Management
| Setting | Recommended Value | Notes |
|---|---|---|
| Deep Sleep | Disabled | Conflicts with proper suspend |
| USB Wake Support | Disabled (or selectively enabled) | Prevents USB devices from causing wake |
| Wake on LAN | Disabled | Prevents network from waking the system |
| Thunderbolt Wake | Disabled | Prevents TB devices from waking |
Display/Graphics
| Setting | Recommended Value | Notes |
|---|---|---|
| Primary Display | Auto (or dGPU if always plugged in) | Affects which GPU drives the display |
| Hybrid Graphics | Disabled (if using dGPU only mode) | Removes iGPU/dGPU handoff complexity |
4.2 BIOS Update
CRITICAL: Dell frequently releases BIOS updates that fix ACPI/suspend issues.
Check current BIOS version:
sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date
Check for updates:
# Via fwupd (Linux Vendor Firmware Service)
fwupdmgr get-updates
fwupdmgr refresh
fwupdmgr update
Or download from Dell Support: https://www.dell.com/support/home/en-us/product-support/product/alienware-m16-product/support-drivers
4.3 Dell Command Configure (cctk)
For advanced BIOS configuration from Linux:
# Install from AUR: yay -S dell-command-configure
# Check current sleep state:
sudo cctk --sleepstate
# Set to S3:
sudo cctk --sleepstate=s3
5. Power Management Tools and Configurations
5.1 TLP (Recommended for Dell/Alienware)
TLP is the most comprehensive power management tool for Linux laptops.
Installation:
# Arch: sudo pacman -S tlp tlp-rdw
# Ubuntu: sudo apt install tlp tlp-rdw
# Fedora: sudo dnf install tlp tlp-rdw
Key TLP settings for Alienware M16a2 with NVIDIA:
/etc/tlp.conf:
# Disable TLP's power management for NVIDIA (let NVIDIA driver handle it)
RUNTIME_PM_DRIVER_DENYLIST="nouveau nvidia"
# OR enable runtime PM for NVIDIA if using PRIME:
# RUNTIME_PM_ENABLE="01:00.0" # Get PCI ID with: lspci -d 10de::03xx
# Disable USB autosuspend (prevents unexpected wake)
USB_AUTOSUSPEND=0
# Use balanced power profile
POWER_SAVE_ON_AC=0
POWER_SAVE_ON_BATTERY=1
# Disable Wi-Fi power saving (prevents wake issues)
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
# Disable Bluetooth power saving
BLUETOOTH_PWR=0
Enable and start:
sudo systemctl enable tlp.service tlp-sleep.service
sudo systemctl start tlp.service
sudo tlp start
5.2 NVIDIA Suspend/Resume Services
For drivers < 595:
# Ensure NVIDIA suspend services are enabled
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service
For drivers >= 595:
- Services are disabled by default (kernel suspend notifiers handle it)
- If suspend fails, manually enable:
sudo systemctl enable nvidia-suspend.service
5.3 systemd Sleep Configuration
/etc/systemd/sleep.conf.d/mem-deep.conf:
[Sleep]
MemorySleepMode=deep
/etc/systemd/system-sleep/nvidia-fix.sh:
#!/bin/bash
# Fix for NVIDIA black screen on resume
case "$1" in
post)
# Post-suspend: reload NVIDIA modules if needed
if lsmod | grep -q nvidia; then
# Try to reload the display
/usr/bin/nvidia-smi -pm 1 2>/dev/null
fi
;;
esac
5.4 Auto-cpufreq
Alternative to TLP that also handles NVIDIA:
# Install from AUR: yay -S auto-cpufreq
sudo auto-cpufreq --install
sudo auto-cpufreq --force-performance # On AC
sudo auto-cpufreq --force-balanced # On battery
5.5 power-profiles-daemon
If using GNOME/KDE, power-profiles-daemon may conflict with TLP:
# Disable if using TLP
sudo systemctl disable --now power-profiles-daemon
5.6 Dell-Specific Tools
smbios utilities:
# Set thermal profile (affects power/heat/sleep)
sudo smbios-thermal-ctl performance
sudo smbios-thermal-ctl balanced
sudo smbios-thermal-ctl cool-bottom
sudo smbios-thermal-ctl quiet
# Set battery charge threshold
sudo smbios-battery-ctl --threshold=80
platform_profiles (kernel >= 6.1):
# Check available profiles
cat /sys/firmware/acpi/platform_profile_choices
# Set profile
echo performance | sudo tee /sys/firmware/acpi/platform_profile
6. Community Reports and References
6.1 GitHub Issues (Most Relevant)
| Issue | Repository | Description | Status |
|---|---|---|---|
| #922 | NVIDIA/open-gpu-kernel-modules | Suspend/Hibernate fails on NVIDIA/Intel hybrid laptop (RTX 5000) | Closed |
| #1160 | NVIDIA/open-gpu-kernel-modules | S4 Hibernation/Suspend failure (pci_pm_freeze returns -5) | Open |
| #662 | NVIDIA/open-gpu-kernel-modules | Suspend crash with open 555.52.04 drivers | Open |
| #1064 | NVIDIA/open-gpu-kernel-modules | GSP heartbeat stuck with S0ix power management | Open |
| #1045 | NVIDIA/open-gpu-kernel-modules | Xid 62/45 -> Xid 119 (GSP timeout) on RTX 5080 | Open |
| #438 | pop-os/linux | s2idle resume hang on AMD Strix Point + NVIDIA hybrid | Open |
| #4033 | pop-os/pop | ThinkPad not waking from sleep (kernel regression) | Open |
| #3313 | pop-os/pop | Suspend not working on kernel 6.9.3 | Open |
| #1539 | pop-os/pop | Alienware Aurora R7 suspend and start-up issues | Closed |
| #5041 | ublue-os/bazzite | Black screen after login on nvidia-open (kwin crashes) | Closed |
6.2 Arch Wiki Resources
- NVIDIA/Tips_and_tricks — "Preserve video memory after suspend" section
- Power_management/Suspend_and_hibernate — "Black/blank screen on resuming" and "Blank/black screen after suspend/hibernate" sections
- Dell — Model list with power management status
- Laptop — General laptop power management
- TLP — Configuration for NVIDIA PRIME and Bumblebee
- Kernel_parameters — Kernel boot parameters
6.3 Dell Support Resources
- Dell Battery Drain KB: https://www.dell.com/support/kbdoc/en-us/000143524
- Dell Linux Support: https://www.dell.com/support/kbdoc/en-us/000191207
- Dell Command Configure: https://www.dell.com/support/kbdoc/en-us/000191207
6.4 Kernel Documentation
- Sleep States: https://docs.kernel.org/admin-guide/pm/sleep-states.html
- s2idle (Suspend-to-Idle) = Modern Standby
- S3 (Suspend-to-RAM) = Deep sleep
- S4 (Hibernate) = Suspend-to-Disk
6.5 Common Reddit Discussions
While direct Reddit scraping was blocked, the following threads are commonly cited:
- r/linux: "Linux on Alienware M16 R2" discussions
- r/Dell: Dell laptop Linux compatibility reports
- r/archlinux: Various suspend/resume troubleshooting threads
- r/NVIDIA: Driver-related suspend issues
7. Diagnostic Checklist
7.1 Identify Your Current State
# 1. Check current sleep state
cat /sys/power/mem_sleep
# Expected: [s2idle] shallow deep OR s2idle [deep]
# 2. Check NVIDIA driver version
nvidia-smi
# 3. Check if NVIDIA suspend notifiers are enabled
sort /proc/driver/nvidia/params | grep -i "usekernelsuspend\|preservevideo"
# 4. Check which devices can wake the system
cat /proc/acpi/wakeup
# 5. Check BIOS version
sudo dmidecode -s bios-version
# 6. Check for nvidiafb loaded
lsmod | grep nvidiafb
# 7. Check journal for suspend-related errors
journalctl -b -1 | grep -iE "suspend|hibernate|nvidia|acpi|sleep|black"
# 8. Check current kernel parameters
cat /proc/cmdline
7.2 Quick Fixes to Try (in order)
-
Blacklist nvidiafb:
echo "blacklist nvidiafb" | sudo tee /etc/modprobe.d/blacklist-nvidiafb.conf sudo mkinitcpio -P -
Force S3 deep sleep:
echo deep | sudo tee /sys/power/mem_sleep # Test: systemctl suspend # If it works, make permanent via kernel parameter mem_sleep_default=deep -
Enable NVIDIA suspend services (if using driver < 595):
sudo systemctl enable nvidia-suspend.service nvidia-resume.service -
Try kernel parameters:
mem_sleep_default=deep acpi_backlight=vendor acpi_enforce_resources=lax -
Update BIOS via fwupd or Dell Support website
-
Try different NVIDIA driver version (older or newer)
-
Disable hybrid graphics in BIOS (use dGPU only)
8. Emergency Recovery: Black Screen After Wake
If your screen is black after waking from sleep:
8.1 Switch to Virtual Console
Ctrl+Alt+F3 (or F2-F6)
8.2 Reload NVIDIA Display
# Option 1: Restart display manager
sudo systemctl restart gdm # GNOME
sudo systemctl restart sddm # KDE
sudo systemctl restart lightdm # XFCE/LXDE
# Option 2: Reload NVIDIA kernel modules
sudo modprobe -r nvidia_drm nvidia_modeset nvidia
sudo modprobe nvidia nvidia_modeset nvidia_drm
# Option 3: Toggle DRM polling (quick fix)
echo 0 | sudo tee /sys/module/drm_kms_helper/parameters/poll
echo 1 | sudo tee /sys/module/drm_kms_helper/parameters/poll
# Option 4: Re-enable backlight
echo 1 | sudo tee /sys/class/backlight/*/brightness
8.3 Last Resort
# Hard reset if nothing works
sudo systemctl reboot --force
9. Summary of Most Likely Fixes for Alienware M16a2
Based on all research, the most effective fixes (in priority order):
- Force S3 deep sleep (
mem_sleep_default=deep) — s2idle is the #1 cause of NVIDIA suspend issues on Dell/Alienware - Blacklist nvidiafb — Known to cause black screen on resume
- Update BIOS — Dell frequently fixes ACPI/suspend bugs
- Add kernel parameters:
acpi_backlight=vendor acpi_enforce_resources=lax - Ensure NVIDIA suspend services are enabled (or kernel suspend notifiers working)
- Disable Modern Standby in BIOS if available
- Try proprietary NVIDIA driver if currently using open kernel modules
- Configure TLP to not conflict with NVIDIA power management
10. References
- Arch Wiki - NVIDIA/Tips and tricks: https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks
- Arch Wiki - Power management/Suspend and hibernate: https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate
- Arch Wiki - TLP: https://wiki.archlinux.org/title/TLP
- Arch Wiki - Dell: https://wiki.archlinux.org/title/Dell
- NVIDIA Open GPU Kernel Modules GitHub: https://github.com/NVIDIA/open-gpu-kernel-modules
- Kernel Documentation - Sleep States: https://docs.kernel.org/admin-guide/pm/sleep-states.html
- Dell Support: https://www.dell.com/support/