Unable to run an RTX 4060 laptop GPU at more than 80W on Linux

Unable to change power limit with nvidia-smi

NVIDIA Open GPU Kernel Modules Version

565.77

Does this happen with the proprietary driver (of the same version) as well?

Yes

Operating System and Version

Bazzite

Kernel Release

6.12.8-201.bazzite.fc41.x86_64 (64-bit)

Hardware: GPU

NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] (rev a1)

Describe the bug

Unable to execute:
sudo nvidia-smi --power-limit 140

This is followed by an output:
Changing power management limit is not supported in current scope for GPU: 00000000:01:00.0.
All done.

Changing power limits caused observable changes both in temperature and in performance, I am pretty sure my GPU supports it as its max limit is 140w but it is capped to around 50w.

To Reproduce

~# nvidia-smi --power-limit 140

Bug Incidence

Always

For more context

nvidia-powerd is installed:

~$ systemctl status nvidia-powerd
● nvidia-powerd.service - nvidia-powerd service
     Loaded: loaded (/usr/lib/systemd/system/nvidia-powerd.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf, 50-keep-warm.conf
     Active: active (running) since Mon 2025-01-13 12:46:29 WET; 26min ago
 Invocation: ecb4fb785850481c9405da91c75c86be
   Main PID: 1471 (nvidia-powerd)
      Tasks: 3 (limit: 18303)
     Memory: 856K (peak: 1.1M)
        CPU: 37.928s
     CGroup: /system.slice/nvidia-powerd.service
             └─1471 /usr/bin/nvidia-powerd

Jan 13 12:46:29 bazzite systemd[1]: Started nvidia-powerd.service - nvidia-powerd service.
Jan 13 12:46:29 bazzite /usr/bin/nvidia-powerd[1471]: nvidia-powerd version:1.0(build 1)
Jan 13 12:46:29 bazzite /usr/bin/nvidia-powerd[1471]: Dbus Connection is established

In addition power-profiles-daemon is also installed and is set on performance mode.

Edit 1

I have discovered that even though the power draw is low, while running cs go 2 the performance was good.

Every 1.0s: nvidia-smi                                                        bazzite: Mon Jan 13 23:36:48 2025

Mon Jan 13 23:36:48 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77                 Driver Version: 565.77         CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4060 ...    Off |   00000000:01:00.0  On |                  N/A |
| N/A   49C    P0             18W /  137W |    7237MiB /   8188MiB |	  2%	  Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

I was able to run at max settings in game with around 150ish fps. The power draw limit is not solved so I am quite confused how my power draw is low and performance is so high, only 5.8% of my cpu is being used at all and the game has an allocated physical memory of 4.3 gib.

On some laptops it’s also required to switch to performance mode in bios. For example on my Dell G15 5510 there are several power profiles in bios. In balanced mode even with nvidia-powerd up and running GPU power goes only up to 85W (max is 90W by design). I need to switch to Ultra performance mode to get 90W.

That perhaps is a solution to laptops that have such an option in the bios, however my bios doesn’t have anything relevant to power profiles/settings.

So it is safe to assume it is handled by the OS and the driver settings in my case.

I had also double checked and confirmed there is no power profiles/settings, however I did find that I can switch to use dgpu instead of igpu but by default it’s already on dgpu.

For further context my bios is called ez flash by asus.