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
578 lines
19 KiB
Markdown
578 lines
19 KiB
Markdown
---
|
|
type: reference
|
|
title: Alienware M16a2 Linux Sleep/Wake Issues
|
|
description: "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."
|
|
tags:
|
|
- research
|
|
- sleep-wake
|
|
- nvidia
|
|
- alienware
|
|
timestamp: 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 -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/
|