Files
command-center/omp-docs/research/Alienware-M16a2-Linux-sleep-wake-issues.md
T
Frank 02883d3ed2 docs: rebuild KB in OKF v0.1 with live-verified facts
Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center
knowledge base: concept files promoted to path identity, index listings
stripped of frontmatter, all wikilinks/relative links resolved, every
checkable claim verified against the live fleet (Dankserver = Ryzen 7
7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged.
kb-lint exits 0.
2026-08-28 07:57:13 -07:00

18 KiB

type, title, description, tags, timestamp
type title description tags timestamp
reference Alienware M16a2 Linux Sleep/Wake Issues Comprehensive research on NVIDIA GPU driver state corruption during suspend/resume on Alienware M16a2 with Linux.
research
sleep-wake
nvidia
alienware
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.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:

# 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
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

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

6.4 Kernel Documentation

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)

  1. Blacklist nvidiafb:

    echo "blacklist nvidiafb" | sudo tee /etc/modprobe.d/blacklist-nvidiafb.conf
    sudo mkinitcpio -P
    
  2. 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
    
  3. Enable NVIDIA suspend services (if using driver < 595):

    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

# 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):

  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/