--- type: reference title: Alienware M16a2 Linux Sleep/Wake Issues description: Comprehensive research on NVIDIA GPU driver state corruption during suspend/resume on Alienware M16a2 with Linux. tags: - research - sleep-wake - nvidia - alienware timestamp: 2026-01-15 --- # Alienware M16a2 Linux Sleep/Wake Issues — Comprehensive Research ## 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 (this system: dankware) 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 -5` on 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_driver` kernel 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: 1. The NVIDIA driver attempts to restore GPU state 2. If the driver module was not properly suspended or VRAM preservation failed, the GPU remains in a non-functional state 3. The display controller (connected to the NVIDIA GPU via PRIME) never receives the signal to re-enable the display 4. 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=1` to 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=1` instead - Video memory preservation is handled by kernel suspend notifiers - The `nvidia-suspend.service` etc. are **disabled by default** - **This is a critical change** — if kernel suspend notifiers do not work on your hardware, suspend will fail **Verification:** ```bash # 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 `nvidiafb` in `/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: ```bash # 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: ```bash sudo dmidecode -s bios-version sudo dmidecode -s bios-release-date ``` Check for updates: ```bash # 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: ```bash # 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:** ```bash # 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`: ```ini # 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:** ```bash 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:** ```bash # 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: ```bash sudo systemctl enable nvidia-suspend.service ``` ### 5.3 systemd Sleep Configuration `/etc/systemd/sleep.conf.d/mem-deep.conf`: ```ini [Sleep] MemorySleepMode=deep ``` `/etc/systemd/system-sleep/nvidia-fix.sh`: ```bash #!/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: ```bash # 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: ```bash # Disable if using TLP sudo systemctl disable --now power-profiles-daemon ``` ### 5.6 Dell-Specific Tools **smbios utilities:** ```bash # 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):** ```bash # 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 ```bash # 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) 1. **Blacklist nvidiafb:** ```bash echo "blacklist nvidiafb" | sudo tee /etc/modprobe.d/blacklist-nvidiafb.conf sudo mkinitcpio -P ``` 2. **Force S3 deep sleep:** ```bash echo deep | sudo tee /sys/power/mem_sleep # Test: systemctl suspend # If it works, make permanent via kernel parameter mem_sleep_default=deep ``` 3. **Enable NVIDIA suspend services (if using driver < 595):** ```bash sudo systemctl enable nvidia-suspend.service nvidia-resume.service ``` 4. **Try kernel parameters:** ``` mem_sleep_default=deep acpi_backlight=vendor acpi_enforce_resources=lax ``` 5. **Update BIOS** via fwupd or Dell Support website 6. **Try different NVIDIA driver version** (older or newer) 7. **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 ```bash # 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 ```bash # 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): 1. **Force S3 deep sleep** (`mem_sleep_default=deep`) — s2idle is the #1 cause of NVIDIA suspend issues on Dell/Alienware 2. **Blacklist nvidiafb** — Known to cause black screen on resume 3. **Update BIOS** — Dell frequently fixes ACPI/suspend bugs 4. **Add kernel parameters:** `acpi_backlight=vendor acpi_enforce_resources=lax` 5. **Ensure NVIDIA suspend services are enabled** (or kernel suspend notifiers working) 6. **Disable Modern Standby in BIOS** if available 7. **Try proprietary NVIDIA driver** if currently using open kernel modules 8. **Configure TLP** to not conflict with NVIDIA power management --- ## 10. References 1. Arch Wiki - NVIDIA/Tips and tricks: https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks 2. Arch Wiki - Power management/Suspend and hibernate: https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate 3. Arch Wiki - TLP: https://wiki.archlinux.org/title/TLP 4. Arch Wiki - Dell: https://wiki.archlinux.org/title/Dell 5. NVIDIA Open GPU Kernel Modules GitHub: https://github.com/NVIDIA/open-gpu-kernel-modules 6. Kernel Documentation - Sleep States: https://docs.kernel.org/admin-guide/pm/sleep-states.html 7. Dell Support: https://www.dell.com/support/