View Single Post
Old 05-11-09, 07:57 AM   #1
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default How to execute a script when performance level changes?

Can the nvidia driver be configured to call a user definable script when
it changes the performance level?


Background:

For noise reduction, i purchased a case with a huge fan
http://txetxusoft.es/tienda/images/Sagitta-II_2.jpg

Unfortunately, it seems that this fan is doing it's job way
"too good". Means: the card stays cool on the outside
so that the GPU fan doesn't ramp up. As a consequence,
the GPU gets so hot in the inside so that after a while of 3D
operation, the DVI outputs shut down (black screen). When then
switching to a text console and waiting for a while then the card
typically cools down and the output recovers.

When removing the big fan, then the GPU fan ramps up, providing
enough cooling, but then there is pretty much no noise reduction.

So my idea now is to program a fixed 35% PWM duty cycle
(with nvclock) when the system is in "Desktop Mode" and 100%
when in 3D Mode (since I'm using a head-set, the noise is less of
a problem while gaming) .

I guess the switch could be somehow detected by polling
GPUCurrentPerfLevel with nvidia-settings and setting the fan
speed accordingly. However, there are two issues: first polling
is not a nice mechanism. It would be better if the driver calls
a user-definable script whenever configurable states change.

The other problem for me is that GPUCurrentPerfLevel is always "2"
(highest) for me, no matter if there are any 3D applications running or not.

Any feedback is highly appreciated!

regards

Bernhard
JaXXoN is offline   Reply With Quote