Any workaround to the 30% fan speed limitation on newer NVIDIA GPUs?

My goal:
I recently switched from windows 11 to ubuntu 24.04 on a computer with the RTX 4090. Previously on windows the fans where controlled by the GPU which would stop them at temps somewhere below 40C. I would like to achieve the same thing in ubuntu.

What I have tried:
I have until now tested the 550 beta and 535 NVIDIA drivers downloaded from the following PPA since it was recommended over directly downloading from the NVIDIA website on askubuntu.

The first thing I tried was simply to let the GPU control its own fans using: nvidia-settings -a GPUFanControlState=0 which never let the fan speed below 30% even though GPU temps where 26C. Next I tried using a bash script for applying fan curves to replicate the behavior I wanted. Here is the github-link to the script I used. It basically just applies fan speeds for specific GPU temps using the command nvidia-settings -a GPUTargetFanSpeed=x. This did not work because the NVIDIA drivers I am using does not let the user apply fan speeds below 30%. As is discussed in this 2 year old NVIDIA forum post.

What I am wondering about:
What was really weird to me was the difference in the windows drivers (currently running 551.23) allowing the GPU to apply fan speeds lower than 30% but not the linux drivers. A NVIDIA moderator answered this in the NVIDIA forum post which explains the fan speed limitation on the 520 linux driver. The forum post is 2 years old now and I was wondering if anyone has found a solution by installing some other NVIDIA driver or by overriding the 30% manual fan control restriction?

Fan control is auto by default. If fans are spinning, it’s because a temp sensor threshold has been passed.

" If fans are spinning, it’s because a temp sensor threshold has been passed." I did not quite get that (sorry). Do you mean that the fans are being controlled by another program even though GPUFanControlState is set to 0? Because if that was not the case, the fans would idle?

0 is auto, 1 is manual.

Yes, but auto is also limited to the fan speed range [30, 100] on linux drivers in opposition to windows drivers.

There is no difference here between Windows and Linux drivers. The reported fan speed range is what you the user can set, not what VBIOS can set.

hmm, I dont know then. Because my GPU fans wont idle on GPUControlState 0 when using the same version of linux drivers as on windows (even if the temps are as low as 26C).

I know this is almost a year old but did you ever find a solution to this? I’ve been throwing together a local AI server just to play with and installed Debian 12. After first install the fans on my card were completely off at low temps with the default Nouveau drivers. But then when I got the official Nvidia drivers installed, the fan on one card will not run below 23% speed. I can manually control the speed within the range [23,100] but can’t get it to go below 23% even when the card is cold and under no load. It’s obviously not a hardware restriction as the Nouveau drivers were able to have the fan not spinning, but the official drivers have a minimum set for some reason. My other card in the system does not have any minimum set, and so it won’t spin when the card is cold as expected.