Second half of the purge (the first covered the persona, AGENTS.md, README.md, and the distillation of the per-host pages). Every remaining identifier is gone: hostname, both LAN addresses, and the Wi-Fi SSID. 34 count-checked substitutions across 22 files — indexes, tool/research pages, the inventory census, the changelog, one generated HTML report, and five managed skills. Facts kept, names dropped: a history entry keeps its four-page listing as a nameless summary, the syslog excerpts keep every timestamp and line, and the census keeps the .zcompdump rows (the zsh version stamps are the useful part, the hostname was not). Deliberately unchanged: install.sh's --host case list and the packages/<hostname>.pkgs filename, where the hostname is the lookup key. Left out of scope by Frank's call: agent/memories/** — past-session records the learn pipeline rewrites. kb-lint: 0 violations. Residual grep for the hostname, its two IPs, and the SSID across omp-docs/ and agent/managed-skills/: no hits.
571 lines
18 KiB
Markdown
571 lines
18 KiB
Markdown
---
|
|
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) 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/
|