Lenovo LOQ 15ARP9 stuck at 35W or 55W TPG

Lenovo LOQ RTX 4070 locked at 35W or 55W

Lenovo LOQ RTX 4070 locked at 55W on Linux – FIX (nvidia-powerd + performance profile)
It may also involve the 4060 and 4050.

I’m posting this in case it helps someone with a Lenovo LOQ / Legion laptop using an RTX 40-series GPU on Linux. My system:

  • Operating System: EndeavourOS
  • KDE Plasma Version: 6.6.1
  • KDE Frameworks Version: 6.23.0
  • Qt Version: 6.10.2
  • Kernel Version: 6.18.9-zen1-2-zen (64-bit)
  • Graphics Platform: X11
  • Processors: 16 × AMD Ryzen 7 7435HS
  • Memory: 32 GiB of RAM (31.0 GiB usable)
  • Graphics Processor: NVIDIA GeForce RTX 4070 Laptop GPU
  • Manufacturer: LENOVO
  • System Version: LOQ 15ARP9

THE Problem:

GPU was stuck around:

  • 35W default limit (While searching online, I discovered cases of 55w.)

  • 70 fps max under load (for test y run FurMark GUI), FurMark (GL), MSAAx8, 70 FPS, 35W (GPU), system 50W

nvidia-smi showed:

power.default_limit: 55W
power.enforced: 35W
power.max_limit: 115W

That already hinted that the problem was something that restricted and forced me to use my graphics card in safe mode.

Then I try:
sudo nvidia-smi -pl 115

Returned:
Changing power management limit is not supported

Root Cause

Two things were limiting performance: nvidia-powerd was disabled

Check with: systemctl status nvidia-powerd.service

Mine was: Dead

This service is required for:

  • Dynamic Boost

  • CPU ↔ GPU power sharing

  • Unlocking higher TGP on modern RTX mobile GPUs

Without it, the GPU stays near the conservative default limit.

First solution

Enable the NVIDIA power daemon

sudo systemctl enable nvidia-powerd.service

sudo systemctl start nvidia-powerd.service

Verify:

systemctl is-enabled nvidia-powerd.service

It should return:

enabled

Switch the Lenovo profile to Performance mode

Use Fn+Q (or equivalent) until performance mode (red icon) is active.

If you still have problems

Some users may need to expose Windows ACPI features:

Add to kernel parameters:

acpi_osi=! acpi_osi="Windows 2022"

(For systemd-boot users: add to the loader entry.)

This can help if certain ACPI performance methods are hidden from Linux.

Notes:

In addition to checking the nvidea service, you should also check the obvious. There is an option in the BIOS that may be causing this problem:

  • Wireless LAN: Enabled
  • Storage Controller Mode: AHCI
  • Graphics Device: Discrete Graphics (this)
  • AMD ™ technology: Enabled
  • BIOS Back Flash: Enabled
  • Hotkey Mode: Disabled
  • Fool Proof Fn Ctrl: Disabled
  • Disable Built-in Battery: [Enter] Temporarily disable battery service; the system battery will be automatically enabled when AC is reconnected (this)
  • BIOS Self-healing: enabled
  • Restore Default Overclocking: Disabled
  • Battery Level Protection: OFF .Auto (Dynamic balance system power to keep battery cap when AC is plugged in), ON (EC limits system power and performance), OFF (System peak power Performance turbo AC adapter and Battery Hybrid supply) >(THE THING)<
  • GPU Overclocking: enabled
  • Performance Boost Settings Option: enabled

You have to set it to OFF, because if it is ON or AUTO, the EC restricts the power to the graphics card. This also affects Windows, so if you have Dual-Boot, you can check with Windows if this configuration is causing your problem.

To enter the BIOS if you don’t have grub visible, press F2 repeatedly.

Conclution:
Result

After enabling nvidia-powerd + Performance mode:

FurMark (GL)
MSAAx8
~142 FPS
~101W sustained

GPU now dynamically boosts properly.

Lenovo Linux modules

System was using:

  • ideapad_laptop

  • platform_profile

  • lenovo_wmi_*

Linux was NOT the issue.

The GPU was limited because:

  • nvidia-powerd was disabled by default

  • Laptop was in Balanced mode

Once fixed, performance matches Windows behavior. or more.

2 Likes

Im the new guy, if there is a issue i can change the theme. I like help strangers

I don’t have the hardware to verify your guide works but props to you for showing up in a new community and dropping this one

Thank you, I think it’s a very specific error. Few people use a gaming laptop and run EndeavorOS or a distro from the Arch family. If you can see a better solution or an error in my topic, please let me know.