RTX 4050 Laptop stuck in P3 / low power cap when AC is plugged in during GPU load; restarting nvidia-powerd fixes it

System:

  • Laptop: Acer laptop with Intel iGPU + NVIDIA GeForce RTX 4050 Laptop GPU
  • OS: Arch Linux
  • Desktop: Hyprland / Wayland
  • External monitor connected to the NVIDIA dGPU, so the dGPU remains active
  • NVIDIA driver: 610.43.02
  • NVIDIA packages: nvidia-open-dkms / nvidia-utils 610.43.02
  • Service involved: nvidia-powerd
  • Platform profile: balanced-performance

Problem:
The NVIDIA GPU can get stuck in a low performance state after an AC adapter
transition happens while the GPU is under 3D load.

The GPU remains in P3 with low effective power draw, around 30-45W, and
clocks_event_reasons.sw_power_cap=Active, even after AC power is restored.
Temperatures are low and there is no thermal slowdown.

How to reproduce:
Method 1:

  1. Start with AC connected.
  2. Run a GPU stress test or any relevant 3D workload.
  3. While the workload is running, unplug AC.
  4. Plug AC back in while the same workload is still running, or while another GPU
    workload is running.
  5. The GPU may remain stuck in P3 / low power instead of returning to normal AC
    performance.

Method 2:

  1. Start on battery.
  2. Run a GPU stress test or any relevant 3D workload.
  3. Plug AC in while the workload is running.
  4. The GPU may remain stuck in P3 / low power.

Expected behavior:
After AC is plugged in, the GPU should return to normal AC performance, P0 and around
70-75W sustained power draw on this laptop.

Actual behavior:
The GPU remains stuck in P3 with low power draw, usually around 30W, with
sw_power_cap=Active.

Important observations:

  • If AC is plugged in while the GPU has very low usage / is idle, the bug is
    corrected or does not happen.
  • Restarting nvidia-powerd also fixes the issue immediately, even while the stress
    test is still running:
    sudo systemctl restart nvidia-powerd
  • This suggests the stuck state is related to nvidia-powerd / Dynamic Boost / AC

Evidence from attached CSV:

  • Normal run:
    15:20:50 → 15:21:53

  • Bug triggered:
    AC changed from 0 to 1 at 15:23:09 while GPU load was about 98%.
    After that, GPU stayed in P3, about 29-31W, sw_power_cap=Active, with low
    temperature.

  • Recovery:
    AC changed from 0 to 1 at 15:27:02 while GPU was idle.
    Next stress run returned to P0 and about 73W average.

  • Bug triggered again:
    AC changed from 0 to 1 at 15:30:19 while GPU load was 100%.
    GPU stayed in P3 with sw_power_cap=Active.

This does not look thermal:

  • hw_thermal_slowdown: Not Active
  • hw_power_brake_slowdown: Not Active
  • applications_clocks_setting: Not Active
  • temperatures were low, around 47-50C during the stuck state.

Workaround:
Restarting nvidia-powerd restores performance:
sudo systemctl restart nvidia-powerd

I redacted a few personal identifiers from the attached logs before posting publicly,
including my local username, hostname, home directory path, MAC addresses, and GPU
UUID. Driver versions, kernel logs, PCI IDs, GPU model, power states, clocks,
temperatures, and the relevant nvidia-powerd/NVIDIA messages were left intact.

combined-nvidia-powerd-evidence.txt (574.6 KB)

gpu-ac-transition-active.csv.txt (653.8 KB)

gpu-ac-transition-summary.txt (3.3 KB)

nvidia-bug-report.log.gz (743.8 KB)

Also wanted to pop in and confirm doing a sudo systemctl restart nvidia-powerd fixes power draw issues on my Lenovo Legion Gen 7. My flow has been even more simple:

  1. Start laptop in a non-performance mode (Auto or Quiet)
  2. Switch laptop to performance mode
  3. Start game
  4. Watch power draw, but it never reaches above the default power limit
  5. nvidia-smi reports a higher than default max available:
    GPU Ceiling Power Limit
    Current Power Limit : 175.00 W
    Requested Power Limit : N/A
    Default Power Limit : 115.00 W
    Min Power Limit : 1.00 W
    Max Power Limit : 175.00 W

If I perform a sudo systemctl restart nvidia-powerd between steps 2 and 3 (restarting the service AFTER switching laptop to performance mode) OR even restarting the service while a game is running with performance mode active, power draw exceeds 115w.

Edit to add:

NVIDIA-SMI 615.71.09
KMD Version: 615.71.09
CUDA UMD Version: 13.4
xorg-x11-drv-nvidia-power-615.71.09-3.fc44.x86_64

Operating System: Ultramarine Linux 44
KDE Plasma Version: 6.7.5
KDE Frameworks Version: 6.30.0
Qt Version: 6.11.2
Kernel Version: 7.2.5-200.fc44.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 24 × 12th Gen Intel® Core™ i9-12900HX
Memory: 64 GiB of RAM (62.5 GiB usable)
Graphics Processor 1: NVIDIA GeForce RTX 3080 Ti Laptop GPU
Graphics Processor 2: Intel® UHD Graphics
Manufacturer: LENOVO
Product Name: 82TD
System Version: Legion 7 16IAX7

Running nvidia-smi prints out the current power cap and is reliable to let me know when it has switched over to the higher cap. However, it does require restarting the powerd service to change the power cap. I can not get it to dynamically update when changing my laptop’s power profile in any direction quiet/auto → performance or performance → auto.

I am hit by the same problem (Alienware 18 Area-51 AA18250 with a 5080, Gentoo Linux).

For now, I can reproduce with both drivers 595.99.02 and 615.71.09. Power limits are too low right after boot (80 W instead of 175 W), and sometimes also after profile switching, in some cases profile switch works… This smells like some race condition.

This issue was not present from the start with this setup. I can not fully disentangle whether this started when upgrading to a 7.1.x/7.2.x kernel or after a BIOS update, but the kernel seems more likely.