INC-2026-03-27: Razer Blade 18 Battery Drain (~1 Hour)

Incident Summary

Field Value

Detected

2026-03-27 ~16:56 PST (user report)

Mitigated

Pending

Resolved

Pending

Duration

Ongoing (chronic issue)

Severity

P3 (Medium) - Workaround available (AC power)

Impact

Battery life reduced to ~1 hour instead of expected 4-6 hours

Root Cause

Hyprland compositor routing all processes through RTX 5090 dGPU instead of Intel iGPU

Timeline

Time (PST) Event

~16:56

User reported battery dying in approximately 1 hour

16:56

Ran nvidia-smi - discovered Hyprland, kitty, Firefox all using RTX 5090

16:57

Identified dGPU drawing 12W at idle with 11% utilization

16:58

Discovered Kroki containers running for 8 hours (secondary issue)

16:58

Stopped Kroki containers

TBD

Configure Hyprland to use Intel iGPU

TBD

Verify battery life improvement

Symptoms

  • Battery depletes in approximately 1 hour during normal use (terminal, browser)

  • Expected battery life for light work: 4-6 hours

  • GPU constantly warm even during idle

Investigation

Initial Triage

nvidia-smi
Output
|   0  NVIDIA GeForce RTX 5090 ...    Off |   00000000:02:00.0 Off |
| N/A   56C    P8             12W /  150W |     474MiB /  24463MiB |     11%

Processes:
|    0   N/A  N/A         2149226      G   Hyprland                   6MiB |
|    0   N/A  N/A         2159510      G   /usr/bin/kitty           113MiB |
|    0   N/A  N/A         2164275      G   /usr/lib/firefox/firefox 275MiB |

Secondary Issue: Orphaned Containers

docker ps
Output
CONTAINER ID   IMAGE                              CREATED       STATUS
b4adb3ddcb5b   yuzutech/kroki:latest              8 hours ago   Up 8 hours
0ec14b4c2b92   yuzutech/kroki-mermaid:latest      8 hours ago   Up 8 hours
2fd5e9536c31   yuzutech/kroki-bpmn:latest         8 hours ago   Up 8 hours
1bdff3b2f82b   yuzutech/kroki-excalidraw:latest   8 hours ago   Up 8 hours

Findings

  1. Primary: Hyprland compositor is running on NVIDIA RTX 5090 instead of Intel iGPU

  2. Secondary: All Wayland clients (kitty, Firefox) inherit GPU from compositor

  3. Tertiary: Kroki containers running for 8 hours consuming additional resources

  4. Root cause: No WLR_DRM_DEVICES environment variable set to specify Intel GPU

Root Cause

Technical explanation: Hyprland compositor defaults to the most powerful GPU (RTX 5090) when no explicit device is specified via WLR_DRM_DEVICES. All Wayland clients then render through the compositor’s GPU, causing constant dGPU utilization even for basic desktop tasks.

Why it happened:

  • Immediate cause: Hyprland using RTX 5090 for desktop composition

  • Contributing factors: Default GPU selection behavior in wlroots-based compositors

  • Systemic issues: No power profile configuration for laptop mode

Resolution

Immediate Fix (Option A: envycontrol)

# Install envycontrol
paru -S envycontrol

# Switch to integrated GPU only
sudo envycontrol -s integrated

# Reboot
systemctl reboot

Immediate Fix (Option B: Hyprland config)

# Find Intel GPU device
ls -la /dev/dri/card*
cat /sys/class/drm/card*/device/vendor
# 0x8086 = Intel, 0x10de = NVIDIA

Edit ~/.config/hypr/hyprland.conf:

# Force Intel iGPU for compositor
env = WLR_DRM_DEVICES,/dev/dri/card0

Then reboot.

Secondary Fix: Kill Orphaned Containers

docker stop $(docker ps -q)

Verification

# After reboot - should show no processes
nvidia-smi

# Check current power draw
cat /sys/class/power_supply/BAT0/power_now | awk '{print $1/1000000 " W"}'
# Expected: 8-12W (was 20-30W)
  • nvidia-smi shows no processes

  • Power draw reduced to <15W on battery

  • Battery life extended to 4+ hours

Impact Assessment

Systems Affected

System Status Impact Duration

modestus-razer

Investigating

Unknown (chronic)

User productivity

Degraded

Requires AC power for extended work

Business Impact

  • Users affected: 1 (personal workstation)

  • Data loss: No

  • Workaround: Use AC power

Prevention

Short-term (This Week)

  • Apply envycontrol or Hyprland config fix - Evan

  • Verify battery life improvement - Evan

  • Add power management section to modestus-razer docs - Evan

Long-term (This Quarter)

  • Create Hyprland power management runbook - Evan

  • Add auto-switching based on AC/battery status - Evan

  • Investigate TLP or power-profiles-daemon integration - Evan

Lessons Learned

What Went Well

  • Quick identification via nvidia-smi

  • Clear understanding of wlroots GPU selection behavior

  • Multiple fix options available

What Could Be Improved

  • Should have configured GPU routing during initial Arch setup

  • Need power management documentation for laptops

Key Takeaways

  1. Always check nvidia-smi when battery life is poor on hybrid GPU laptops

  2. Hyprland defaults to powerful GPU - must explicitly set WLR_DRM_DEVICES for battery life

  3. envycontrol is the cleanest solution for switching GPU modes on Arch

Metadata

Field Value

Incident ID

INC-2026-03-27-001

Author

Evan Rosado

Created

2026-03-27

Last Updated

2026-03-27

Status

Investigating

Post-Incident Review

After resolution verified