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.
This commit is contained in:
1 parent
552d1ef8bf
commit
02883d3ed2
116 files changed
+13008
No files matched your search
@@ -0,0 +1,570 @@
|
||||
---
|
||||
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/
|
||||
Reference in new issue
Block a user