Power Limit on 3000 Mobile Series

Is there a way to increase or decrease power limit on Mobile Ampere series GPUs? I have a laptop with RTX3080M but nvidia-smi says “Changing power management limit is not supported for GPU: 00000000:01:00.0.”. It is very easy to enable/disable turbo boost and other features also set target TGP values on Windows but not on Linux. Why? Is Nvidia planning anything for the next update? At least give an option to disable turbo boost or limit TGP.

Facing the same issue with mobile RTX 3060.

Can you please share the output of cat /proc/driver/nvidia/gpus/0000:01:00.0/power here?

Also, when running a game/benchmark, can you share the power draw, i.e. the output of watch nvidia-smi?

Also please mention the rated limit by the laptop manufacturer. Thanks

This laptop: Stellaris 15 - 15.6'' WQHD IPS + AMD Ryzen 9 5900HX, Intel Core i7-11800H + NVIDIA GeForce RTX 3080 + 2x M.2 NVMe SSD + max. 64GB RAM - TUXEDO Stellaris 15 - Gen3 - TUXEDO Computers
Also should be identical to this: XMG NEO 15 Gaming Laptop with RTX 3080 and Ryzen 9 | bestware

My laptop has Ryzen 5900HX and RTX3080 16GB, and the GPU should be Max-P model. According to the product page I should be able to get 150W+15W TGP with GPU. XMG users report that they get 165W from their GPUs on Windows. On Tuxedo’s page they say:

(NVIDIA currently allows a **maximum of 115 W TGP under Linux** . We are already in close contact with NVIDIA to improve the NVIDIA graphics driver as soon as possible and will deliver it via the system updates!)

Why? :(

Runtime D3 status:          Enabled (fine-grained)
Video Memory:               Active

GPU Hardware Support:
 Video Memory Self Refresh: Supported
 Video Memory Off:          Supported

Power Limits:
 Default:                   115000 milliwatts
 GPU Boost:                 4294967295 milliwatts



Fri Oct 29 17:41:21 2021
| NVIDIA-SMI 495.29.05    Driver Version: 495.29.05    CUDA Version: 11.5     |
| 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 ...  On   | 00000000:01:00.0  On |                  N/A |
| N/A   70C    P3   115W /  N/A |   3816MiB / 16102MiB |     87%      Default |
|                               |                      |                  N/A |

| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|    0   N/A  N/A      1389      G   /usr/lib/xorg/Xorg                 53MiB |
|    0   N/A  N/A      2282      G   /usr/lib/xorg/Xorg                290MiB |
|    0   N/A  N/A      2410      G   /usr/bin/gnome-shell              120MiB |
|    0   N/A  N/A      2873      G   ...AAAAAAAAA= --shared-files        3MiB |
|    0   N/A  N/A     77469      G   /opt/telegram/telegram              3MiB |
|    0   N/A  N/A    172204      G   ...mviewer/tv_bin/TeamViewer       25MiB |
|    0   N/A  N/A    205011      G   ./steamwebhelper                    3MiB |
|    0   N/A  N/A    205107      G   ...token=8225511945696457254      105MiB |
|    0   N/A  N/A    247655      G   ...AAAAAAAAA= --shared-files       98MiB |
|    0   N/A  N/A    275993      G   ...position-1.1/bin/launcher       27MiB |
|    0   N/A  N/A    276479      G   /usr/bin/nvidia-settings            3MiB |
|    0   N/A  N/A    276693      G   ...ion-1.1/bin/superposition     3062MiB |

Also my “inxi -Fxxz” output:

System:    Kernel: 5.14.15-xanmod1 x86_64 bits: 64 compiler: N/A Desktop: Gnome 3.36.9 wm: gnome-shell dm: GDM3 
           Distro: Ubuntu 20.04.3 LTS (Focal Fossa) 
Machine:   Type: Laptop System: TUXEDO product: TUXEDO Stellaris AMD Gen3 (CZN) v: Standard serial: <filter> 
           Mobo: NB02 model: GMxZGxx v: Standard serial: <filter> UEFI: American Megatrends LLC. v: N.1.21A08 date: 06/23/2021 
Battery:   ID-1: BAT0 charge: 93.5 Wh condition: 93.5/93.5 Wh (100%) volts: 12.8/11.4 model: standard serial: <filter> 
           status: Full 
CPU:       Topology: 8-Core model: AMD Ryzen 9 5900HX with Radeon Graphics bits: 64 type: MT MCP arch: Zen 3 
           L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 105403 
           Speed: 1798 MHz min/max: 1200/3300 MHz Core speeds (MHz): 1: 1615 2: 1915 3: 2092 4: 1397 5: 1236 6: 1325 7: 1618 
           8: 2365 9: 2278 10: 1915 11: 2441 12: 1916 13: 1923 14: 2160 15: 1927 16: 1916 
Graphics:  Device-1: NVIDIA GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] vendor: Tongfang Hongkong Limited driver: nvidia 
           v: 495.29.05 bus ID: 01:00.0 chip ID: 10de:249c 
           Display: x11 server: X.Org 1.20.11 driver: none compositor: gnome-shell tty: N/A 
           OpenGL: renderer: NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2 v: 4.6.0 NVIDIA 495.29.05 direct render: Yes 
Audio:     Device-1: Advanced Micro Devices [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor 
           vendor: Tongfang Hongkong Limited driver: N/A bus ID: 06:00.5 chip ID: 1022:15e2 
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: Tongfang Hongkong Limited driver: snd_hda_intel 
           v: kernel bus ID: 06:00.6 chip ID: 1022:15e3 
           Sound Server: ALSA v: k5.14.15-xanmod1 
Network:   Device-1: Realtek RTL8125 2.5GbE vendor: Tongfang Hongkong Limited driver: r8125 v: 9.006.04-NAPI port: e000 
           bus ID: 02:00.0 chip ID: 10ec:8125 
           IF: enp2s0 state: down mac: <filter> 
           Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel port: e000 bus ID: 04:00.0 chip ID: 8086:2723 
           IF: wlp4s0 state: up mac: <filter> 
           IF-ID-1: docker0 state: down mac: <filter> 
Drives:    Local Storage: total: 931.51 GiB used: 1.29 TiB (142.1%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 980 1TB size: 931.51 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> 
           ID-2: /dev/nvme1n1 vendor: Samsung model: SSD 980 1TB size: 931.51 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> 
Partition: ID-1: / size: 915.77 GiB used: 687.09 GiB (75.0%) fs: ext4 dev: /dev/nvme0n1p5 
Sensors:   System Temperatures: cpu: 61.0 C mobo: N/A gpu: nvidia temp: 55 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 491 Uptime: 1d 13h 51m Memory: 62.72 GiB used: 7.45 GiB (11.9%) Init: systemd v: 245 runlevel: 5 
           Compilers: gcc: 9.3.0 alt: 8/9 clang: 10.0.0-4ubuntu1 Shell: bash v: 5.0.17 running in: gnome-terminal inxi: 3.0.38

Hi. Dell G15-5510 laptop (RTX 3060), same thing here, 80W max.

It should be able to reach 115W (for Ryzen) or 80W (for Intel). Plus 10W Dynamic Boost. Is it Intel or Ryzen for you?

Intel Core i7 10870H.

Power Limit Default says 80000 mW
GravityMark (vulkan) shows 78-80W

Can you please share also the output of cat /proc/driver/nvidia/gpus/0000:01:00.0/information ? Thanks.

Output of cat /proc/driver/nvidia/gpus/0000:01:00.0/information:

Model: 		 Unknown
IRQ:   		 137
GPU UUID: 	 GPU-749f520f-b6de-8374-5f6c-7b10ed71d70e
Video BIOS: 	 94.04.3e.00.99
Bus Type: 	 PCIe
DMA Size: 	 47 bits
DMA Mask: 	 0x7fffffffffff
Bus Location: 	 0000:01:00.0
Device Minor: 	 0
GPU Excluded:	 No

I was searching a little bit more to find where may be problem. In your laptop (what a beast !) are power levels for dGPU configured and saved in VBIOS (Tongfang ?), default target value is set to only 115W, but limit value says 165W (what technically means: 150W Max. Base + 15W Boost), as shows picture.

Can you please provide PN or ordering number of your laptop (not SN !), it looks like it is Clevo based product, and I will find some possible solutions for you, if there are any…

Yeah, I found that page too. It is possible to reach 165W on Windows, but not on Linux. Also, that’s a Tongfang laptop, not Clevo. I checked that PN is like gm5zg8wXXXXXXXX, but only gm5zg8w gives results on Google.

Yes, but Clevo is OEM laptop manufacturer, and probably brands like Tongfang, XMG, Mechrevo, Eluktronics, Medion and all others are sharing same HW platform, which is good for you, because I have found verified Clevo VBIOS for RTX3080 16GB with 150W Base power level. VBIOS reflashing is possible…

Model: NVIDIA GeForce RTX 3060 Laptop GPU
IRQ: 176
GPU UUID: GPU-1dfdd8a3-609f-ab69-f862-db0ee121b8ce
Video BIOS:
Bus Type: PCIe
DMA Size: 47 bits
DMA Mask: 0x7fffffffffff
Bus Location: 0000:01:00.0
Device Minor: 0
GPU Excluded: No

Sounds good but risky. I would do it if I were to own proper equipment for unbricking. Thanks anyway.

Also, there are power profiles on my BIOS but I think they change target TDP values, not the base TDP. Since the base TDP is hard coded it is not possible to modify it via BIOS settings. Also, I fouınd that there are some acpi calls to change some settings but it doesn’t look possible to modify the current TDP value. It looks possible to hand over responsibility to modify current TDP but not the ability to modify the value itself. And looks like Nvidia Driver is responsible for this task, but this feature has not been implemented for Ampere GPUs yet.

I hope this feature is on Nvidia’s to-do list. Any comments from Nvidia Devs?

I would add my request as well, as the driver should be able to handle undervolt/tgp/frequency, as this is supported on Windows.

Aside, I believe it should be possible to safely modify the VBios when using Optimus, as in case of errors the system would work normally and should be able to restore the backup vbios.
Any idea where to start modifying it? Unfortunately, I don’t have knowledge of Nvidia bios hacking…

Undervolting would be very nice.

About modifying bios; desktop GPUs may have dual BIOS chips and a button to switch between them, but laptops are more complicated. It wouldn’t be wise to risk your GPU in the era of silicon shortage and you may probably end up in a forum opening a post about your bricked mobile GPU if you don’t know what to do.

VBIOS modifications as of Kepler/Maxwell gen are not possible due to:

  1. Lack of HEX editors of .ROM files,
  2. Every VBIOS needs to be signed, if not it will not be loaded into GPU.

Your VBIOS (Dell) shows only 80W Target and 90W Limit, whats technically 80W Base + 10W Boost, and probably there is nothing to gain in terms of Max. TGP…

Modifying VBIOS is a risky route to take and ideally it ought to be handled by the drivers as it is on Windows.

https://www.reddit.com/r/linux_gaming/comments/qjiwxs/psa_if_youre_running_any_of_these_laptops_on/ ← this thread on reddit also reports many such cases

This power limit is also present in my asus rog strix g15 g513qr, my 3070 works as expected in windows but in linux I was surprised to discover it was detected as a max-q gpu when it is a max-p gpu, this should not be the case so I’m posting to help give this issue visibility and to give the information for anyone who would want to install linux in this asus laptop.
Hope it gets a fix quick.