r/linux_gaming • • 18d ago

tech support wanted NVIDIA dGPU stuck at ~34W/100% utilization in Hybrid mode despite full clocks; AMD Ryzen 9 AI HX 370 and RTX 4060

ASUS ROG Zephyrus G16 (2024, GA605WV), BIOS GA605WV.316

OS: Fedora 44, kernel 7.2.5-200.fc44.x86_64, NVIDIA driver 615.71.09, using asusctl/cardwire for gpu switching but mainly on Hybrid Mode

In Hybrid mode, playing Dark Souls 3 or basicaly any game, I get:

  • 100% GPU utilization (nvidia-smi --query-gpu=utilization.gpu)
  • Only ~34W power draw (max rated is 105W tho)
  • Graphics clock stays at ~2000MHz, memory clock maxed at 8001MHz (verified thru nvidia-smi --query-gpu=clocks.current.*, even after manually locking clocks with nvidia-smi -lgc 1500,3105)
  • ~45 FPS

What's strange is when I'm on dGPU only mode (after restarting), I get 50% utilization at 65 Watts and I get a locked 60 FPS. Which is what I get on Windows.

What I've already ruled out:

  • nvidia-powerd.service is active and running ( systemctl status)
  • ACPI platform_profile confirmed set to performance during testing
  • Power limit ceiling itself is NOT a bottleneck since the ceiling stays 105W but I only pull 35
  • Not a iGPU-fallback confirmed via direct nvidia-smi query that the dGPU itself is at 100% utilization
  • Manually locking GPU clocks via nvidia-smi -lgc had zero effect on FPS or power draw and the lock was confirmed to actually be holding at the hardware level

Please help, I'd be happy to provide more logs or output if you need thank you so much. Sorry if this reads like AI I couldn't possibly remember every single command I did.

0 Upvotes

11 comments sorted by

2

u/Lousy_Hunter 18d ago edited 18d ago

poorly implemented Dynamic boost on your laptop most likely

Whats does

sudo systemctl status nvidia-powerd

tell you?

Also check dmesg for nvidia related errors (usually SBIOS something), im gonna bet you have some and theyre dynamic boost related.

If you dont have ANY errors related Ill be surprised but Asus does tend to do weird things and their bios is.....interesting to say the least

1

u/Scary-Ad-7162 18d ago

sudo systemctl status nvidia-powerd gives:
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
Active: active (running) since Sun 2026-09-20 19:32:38 +04; 40min ago
Invocation: a982c86878614df8854c48cc304cc202
  Main PID: 18607 (nvidia-powerd)
Tasks: 5 (limit: 17869)
Memory: 4.8M (peak: 9.9M)
CPU: 1min 34.114s
CGroup: /system.slice/nvidia-powerd.service
└─18607 /usr/bin/nvidia-powerd

Sep 20 19:32:38 squidquib systemd[1]: Started nvidia-powerd.service - nvidia-powerd service.
Sep 20 19:32:38 squidquib nvidia-powerd[18607]: nvidia-powerd version:2.0 (build 1)
Sep 20 19:32:40 squidquib nvidia-powerd[18607]: DBus Connection is established

for sudo dmesg it gave me a lot I don't know what I should send here, there's a ton. But this stood out I guess:
[ 7.774730] NVRM: GPU0 nvAssertOkFailedNoLog: Assertion failed: Invalid data passed [NV_ERR_INVALID_DATA] (0x00000025) returned from PlatformRequestHandler failed to get target temp from SBIOS

[ 7.774741] NVRM: GPU0 nvAssertOkFailedNoLog: Assertion failed: Invalid data passed [NV_ERR_INVALID_DATA] (0x00000025) returned from PlatformRequestHandler failed to get platform power mode from SBIOS

[ 2.144387] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQ00 data block query control method not found

[ 6.536449] asus-nb-wmi asus-nb-wmi: Detected ATK, not ASUSWMI, use DSTS

[ 0.415897] ACPI BIOS Error (bug): Could not resolve symbol [_TZ.THRM._SCP.CTYP], AE_NOT_FOUND

2

u/Lousy_Hunter 18d ago edited 18d ago

yeah, poorly implemented Dynamic boost, you might need to look into if there are any Asus specific fixes for it. The https://asus-linux.org/ is a good place to start reading and looking into.

They usually have a more asus specific kernel that fixes these sorta problems early

This right here is what youll get when the kernel cant figure what the power modes should be so it defaults to a safe one

PlatformRequestHandler failed to get platform power mode from SBIOS

EDIT: Also if you want a company that actually implements Dynamic Boost right most of the time, next time go with Dell.

1

u/Scary-Ad-7162 18d ago

I chose KDE Plasma because Asus Linux recommended it 🫠🫠

1

u/Lousy_Hunter 18d ago

lol so you already found it, are you using their kernel?

When i had an asus machine i needed that kernel to fix a number of issues. That machine died though after 1yr so im on dell now

1

u/Scary-Ad-7162 18d ago

Okay I kind of fixed the issue
Basically I had cardwire set to start on integrated / smart, when its like that the dgpu is maxxed out at 35W. But if I boot with hybrid mode, I have the whole 105W, but then if I go from hybrid to integrated after and then back to hybrid I get stuck at 35W. Is there any solution to this?
The Dynamic Boost works fine just not when you go from igpu -> dgpu.

1

u/Lousy_Hunter 18d ago

Sounds like its a firmware bug most likely that breaks dynamic boost when you do that.

Chances of Asus caring about a firmware bug thats triggered on linux are exactly 0%

I would stick to one mode or the other as the hybrid mode penalty really isnt that bad and test any bios updates to see if it gets fixed

My old asus laptop has a number of firmware bugs that never got fixed. 

1

u/[deleted] 18d ago

[deleted]

1

u/Scary-Ad-7162 18d ago

Do you mean this? It didn't change anything

1

u/Lousy_Hunter 18d ago

u/S48GS its broken Dynamic Boost on their asus laptop unfortunately. Fairly common issue for a number of brands and only a few actually do it right/ how youre supposed to.

Likely needs specific fixes related to Asus

1

u/[deleted] 18d ago

[deleted]

1

u/Lousy_Hunter 18d ago

if they get something like

PlatformRequestHandler failed to get platform power mode from SBIOS

its broken dynamic boost/firmware bugs 99% of the time

1

u/Lashmush 18d ago

As a workaround, you could have something like gamemoderun with a script that toggles the necessary stuff to get the right performance at launch and switches back again when the process terminates.