Sleep/Wake Issue Investigation Report

Alienware M16 R2 β€’ CachyOS (Kernel 7.1.4) β€’ NVIDIA RTX 4070

Generated: July 22, 2026

OverviewExecutive Summary

Sleep State

s2idle only

GPU Driver

Notifiers enabled

NVIDIA Services

Enabled

ACPI Issues

Multiple errors

Problem Description

Your machine enters sleep when closing the lid, but exhibits issues properly waking from sleep. The screen may remain black, or the system may exhibit partial wake behavior.

πŸ”΄ Root Cause Identified

The primary issue is that the system only supports s2idle (Modern Standby) sleep state, which is fundamentally broken for NVIDIA hybrid GPU configurations on Linux. Deep S3 sleep is available but not enabled by default.

HardwareSystem Configuration

Hardware Specifications

Property Value
Machine Alienware m16 R2 (Model 01HV0T)
BIOS v1.15.0 (08/06/2025)
CPU Intel Core Ultra 7 155H (Meteor Lake-H)
GPU NVIDIA RTX 4070 Max-Q (PRIME hybrid)
Kernel 7.1.4-1-cachyos
Display Manager SDDM with niri Wayland compositor

Current Power Settings

/sys/power/mem_sleep: [s2idle]      ← ONLY s2idle available
/sys/power/state:    freeze mem disk
NVIDIA Driver: 610.43.03 (proprietary)
PreserveVideoMemoryAllocations: 2    ← Enabled
UseKernelSuspendNotifiers: 1        ← Enabled

DiagnosisIdentified Issues

Primary Issues

Kernel Error Logs

Jul 22 19:43:43 workstation kernel: NVRM: RmHandleDNotifierEvent: Failed to handle ACPI D-Notifier event, status=0x11
Jul 22 19:43:43 workstation kernel: spd5118 18-0050: PM: dpm_run_callback(): spd5118_resume [spd5118] returns -6
Jul 22 19:43:43 workstation kernel: spd5118 18-0050: PM: failed to resume async: error -6
Jul 22 19:49:48 cachyos kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.XHCI.RHUB.SS03], AE_NOT_FOUND
Jul 22 19:50:08 workstation kernel: i915 0000:00:02.0: [drm] *ERROR* GT1: GSC proxy component didn't bind within expected timeout

HistoryPrevious Work Completed

Documentation Created

July 9, 2026
Diagnostic script created
/home/dank/.pi/scripts/diagnose-sleep-wake.sh β€” 700+ line comprehensive diagnostic tool
July 18, 2026
Research documentation written
Alienware-M16a2-Linux-sleep-wake-issues.md (424 lines) and Sleep-Fix-Guide.md (260 lines)
July 20, 2026
Repository reorganized
Split documentation into docs/research/ and docs/tools/ directories with proper OKF structure

Files Created

File Purpose Status
scripts/diagnose-sleep-wake.sh Comprehensive diagnostic tool Ready to run
docs/research/Alienware-M16a2-Linux-sleep-wake-issues.md Root cause research Complete
docs/research/Sleep-Fix-Guide.md Step-by-step fix implementation guide Complete
docs/tools/linux-power-management/index.md Configuration reference Complete

What Has Been Done

πŸ“š Extensive Research Completed

Comprehensive research was conducted on NVIDIA GPU driver state corruption during suspend/resume, documenting 10+ GitHub issues from the NVIDIA/open-gpu-kernel-modules repository, identifying patterns across Dell/Alienware systems, and tracking kernel regressions affecting s2idle with NVIDIA hybrid GPUs.

What Has NOT Been Done

⚠️ None of the documented fixes have been applied yet

Despite comprehensive documentation and research, the actual system configuration changes remain pending.

SolutionRecommended Fixes

Implementation Priority

Priority Fix Rationale
CRITICAL Force S3 deep sleep s2idle is fundamentally broken for NVIDIA hybrid GPUs
HIGH Blacklist nvidiafb module Known to cause black screen on resume
HIGH Add kernel parameters Improve ACPI and sleep behavior
MEDIUM Update BIOS/firmware Dell frequently fixes ACPI/suspend bugs in updates
MEDIUM Disable problematic wake sources 8 wake sources enabled, including XHCI (USB)

Detailed Fix Instructions

Fix #1: Force S3 Deep Sleep (CRITICAL)

# Check if S3 is supported
cat /sys/power/mem_sleep
# Current: [s2idle] β€” need to enable "deep"

# Test S3 temporarily
echo deep | sudo tee /sys/power/mem_sleep

# If successful, make permanent by adding to bootloader:
# GRUB: GRUB_CMDLINE_LINUX_DEFAULT="... mem_sleep_default=deep"
# systemd-boot: Add "mem_sleep_default=deep" to options line

Fix #2: Blacklist nvidiafb Module

# Create blacklist file
sudo tee /etc/modprobe.d/blacklist-nvidiafb.conf > /dev/null <<'EOF'
blacklist nvidiafb
EOF

# Regenerate initramfs
sudo mkinitcpio -P

# Verify
lsmod | grep -q nvidiafb && echo "FAIL" || echo "PASS"

Fix #3: Add Kernel Parameters

# Edit your bootloader config and add these parameters:
mem_sleep_default=deep acpi_backlight=vendor acpi_enforce_resources=lax

# For GRUB, edit /etc/default/grub:
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 update:
sudo update-grub

Fix #4: Update BIOS/Firmware

# Check current version
sudo dmidecode -s bios-version
# Current: v1.15.0 (08/06/2025)

# Check for updates
sudo fwupdmgr get-updates
sudo fwupdmgr update

# Or download from Dell Support

Fix #5: Disable Problematic Wake Sources

# View current wake sources
cat /proc/acpi/wakeup
# XHCI, RP01, RP05, RP07, RP08, RP09, RP12 are enabled (8 total)

# Toggle problematic devices (temporary - resets on reboot)
sudo sh -c 'echo XHCI > /proc/acpi/wakeup'

# For permanent fix, create systemd service:
sudo tee /etc/systemd/system/disable-wake-devices.service > /dev/null <<'EOF'
[Unit]
Description=Disable problematic wake devices
Before=sleep.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo XHCI > /proc/acpi/wakeup'
ExecStart=/bin/sh -c 'echo RP01 > /proc/acpi/wakeup'
ExecStart=/bin/sh -c 'echo RP05 > /proc/acpi/wakeup'

[Install]
WantedBy=sleep.target
EOF

sudo systemctl enable disable-wake-devices.service

VerifyTesting Procedure

Test After Each Fix

  1. Manual Suspend: systemctl suspend β€” System should sleep and wake properly
  2. Lid Close Test: Close lid physically β€” Should sleep and wake on lid open
  3. Automated Test: Run 5 suspend/resume cycles to verify reliability

Verification Commands

# After applying fixes, verify configuration:

# 1. Check sleep state (should show [deep])
cat /sys/power/mem_sleep

# 2. Verify kernel parameters
cat /proc/cmdline | grep -E "mem_sleep_default|acpi_backlight"

# 3. Check NVIDIA services status
systemctl status nvidia-suspend.service nvidia-resume.service

# 4. Verify nvidiafb not loaded
lsmod | grep -q nvidiafb && echo "FAIL" || echo "PASS"

ActionNext Steps

  1. 1
    Force S3 Deep Sleep
    Test with echo deep | sudo tee /sys/power/mem_sleep, then make permanent via bootloader
  2. 2
    Blacklist nvidiafb
    Create /etc/modprobe.d/blacklist-nvidiafb.conf and run sudo mkinitcpio -P
  3. 3
    Add kernel parameters
    Edit bootloader config to add mem_sleep_default=deep acpi_backlight=vendor acpi_enforce_resources=lax
  4. 4
    Check for BIOS update
    Run sudo fwupdmgr get-updates and compare with Dell support site
  5. 5
    Disable wake sources
    Create systemd service to toggle XHCI, RP01, RP05 on suspend

βœ… Expected Outcome

After applying these fixes, your system should properly enter and exit sleep mode without black screen issues. The s2idle→S3 transition is the most critical change, as Modern Standby is known to be incompatible with NVIDIA hybrid GPU configurations on Linux.

LearnReference Documents

Document Location Description
Sleep-Fix-Guide.md docs/research/ Step-by-step implementation guide with verification commands
Alienware-M16a2-*.md docs/research/ Comprehensive root cause research and community reports
diagnose-sleep-wake.sh scripts/ Diagnostic script for collecting system state
linux-power-management/index.md docs/tools/ Configuration reference for power management tools