Howto make changes to clock / fan speed via preset or command-line

Discussion in 'RivaTuner Advanced Discussion forum' started by tm101, Sep 13, 2005.

  1. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Howto make changes to clock / fan speed via preset or command-line?

    Hey there!

    I'm trying to figure out how to automate changes to clock and fan speed.

    The power-user / preset editor only allows startup values to be set it seems. So are there any command-line options I can use or can I write a preset on my own to access these runtime values?

    I want to use it for thresholds so that I can change fan speed according to temperature and clock speed when starting a game.

    Would also help to quickly change these things via launcher, since Rivatuner offers no profiles for these driver-level settings.

    Thanks for any informations! ;)
     
    Last edited: Sep 13, 2005
  2. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    There are overclocking profiles for low-level overclocking module, which is available on NV1x-NV2x and ATI Rxxx GPUs only.
    There are no profiles either for driver-level clocks or for driver-level fan speeds on NV3x-NV4x as the driver already has own 2D/3D profiling system. It won't be a problem to add it, but I simply see no sense in cloning the driver's possibilities.
    However, even considering that there is no way to do it directly (i.e. to create fan profile and associate it with launcher item), you can still do it after thinking a bit.

    1) Open RivaTuner.rtd database to see RT's own settings in the PowerUser tab. Startup fan speeds will be there too.
    2) Set desired startup fan speeds (e.g. 100%/100%/100%) via fan control tab. The cahnges will be also reflected in PowerUser.
    3) Click save preset button in PowerUser to create a profile, containing these startup speeds (i.e. 100%/100%/100%).

    Now you have everything you need to create launcher item, applying these fan speeds. To do it:

    1) Add new item
    2) Associate it with created preset
    3) Associate it with RivaTuner's startup daemon (i.e. RT's internal routine, applying all OS-startup settings). To do it specify %RT% macro as the path and /S swicth in the command line.
    4) Tick restore settings after terminating application

    Similar technique can be used for clocks.
     
  3. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Hehe, I already tried thinking a bit. :p

    That means I already found the PowerUser settings, saves a preset and tried to apply during runtime.

    But instead of using the startup daemon I tried to call the .rtp file directly and by using it as a command-line option. Both worked for changing the parameter, but did not change the runtime-values.

    So this is exactly the information I need! :D

    The /S switch is mentioned only once in the FAQ and I didn't see the link to my problem there. Coupled with the /L command I was able to set up some nice temperature controlled fan-speed settings by using the monitor with thresholds.

    So thanks alot man! ;)
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    Glad to help ;)
    Well, If at least one more man besides you will demand a possibility of creating fan profiles and associating them with launcher's menu items, I'll add it to the next release. That could make the process much easier and shorter.
     

  5. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Yep that's true. I had to go through the following steps:

    - Save one preset per different fan setting via PowerUser.

    - Create one Launch item per preset, associating it with the corresponding preset plus associating Rivatuner to launch via /S command.

    - Create one threshold per Launch item, associating the upward threshold with the corresponding Launch item (load by Rivatuner vial /L command) and the downward threshold with the Launch item of the next lower setting.

    Now my fan is set for the corresponding temperatures like in the following table. All fan speeds are set the at the same values for 2D and 3D modes, since fan speed now depends on temperature and not on mode anymore.

    Code:
    
    temp | fan
    ----------------
    <40C   15% (with 3D-mode set to default of 43%)
    >40C   20%
    >50C   25%
    >60C   30%
    >65C   35%
    >70C   40%
    >75C   50%
    >80C   100%
    Launch items are set to "high priority" so that they are set quickly when the CPU is all used up in games. I still have to test how it works while games are running.

    But I did some tests using Atitool to enforce higher temperatures in 3D mode.

    At default fan speed of 43% for 3D mode my GPU never reached 70C at all, even after hours of Battlefield2, so these settings should work. :D

    I could not find any corresponding Registry/PowerUser settings for current Core and Memory clocks, nor for my saved Startup values.

    There is "Overclocking/Current Device" with Defaults and current Clks, but the values are empty and it wont affect current clock nor startup clock when changing these.

    So did I miss anything?
     
    Last edited: Sep 13, 2005
  6. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    Driver-level clocks are a bit more tricky than fan speeds. The clocks are stored in the driver's registry key, not in RivaTuner's ones. And they are also applied at OS startup by the driver, not by RT.
    So to create a preset with clocks you'll need to load driver's database (ForceWare xx.rtd), not RivaTuner's one. Startup clocks are encoded in "Simpsons" registry entries (NV driver guys seem to be big fans of Simpsons ;)).
    To apply them in runtime, you may also use RivaTuner's startup daemon, but don't forget to tick "Use alternate startup daemon" in overclocking properties (normally clocks are applied by driver, not by RT, this option forces it to reapply clocks).
     
  7. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Got it working! :)

    Now my 2D/lowpower 3D mode settings are ("Low Clock"):

    GPU: 251/360/400
    MEM: 502

    Performance 3D mode settings ("High Clock"):

    GPU: 270/360/432
    MEM: 1080

    I can overclock higher, upto about 500/1230, but I need to turn up the fan then. So I will stay at these lower settings for the time being, until I got me a VF700 at least or have some game running jerky at 1280 x 1024.

    To change the clocks automatically upon 3D mode I used the following steps:

    - Create 2 profiles for Core and Mem clocks using PowerUser

    - Create 2 LaunchItems and associated the profiles with them, plus associating Rivatuner /S (no "Restore settings after termination!")

    - Create a threshold on Core clock that activates the "High Clock" Launch item on an upward threshold of 400 MHz and activates the "Low Clock" Launch item on a downward event

    In practice this means:

    Whenever the GPU activates Performance 3D mode the "High Clock" profile is activated that pushes my 3D Core to 432 and Mem to 1080.

    As soon as Performance 3D mode is left the "Low Clock" profile is activated that lowers my 2D Core to 252 and Mem to 502.

    LowPower 3D mode stays at 360 for both profiles, so even when the GPU changes from Peformant to LowPower the "Low Clock" profile is activated at once (who needs high Mem clock in LowPower mode anyway).

    Beware anyone who tries this: Neither Fan Lauch items nor Clock Launch items must use "Restore settings after terminating application" when using both the Fan control and Clock control thresholds at once. Else the drivers/Rivatuner always resets to "Startup Settings" for clock whenever you use fan and vice versa.
     
    Last edited: Sep 14, 2005
  8. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    Well, you seem to need that really... Adding profiles for driver-level clocks and fan speeds sepcial for you ;)
     
  9. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Ah c'mon, didn't I say it before? You are the man! ;)

    Hehe, actually it's too late for me since I already finished all the necessary works. But others will surely appreciate profiles since things are easier to handle.

    I noticed a little problem with fan-speed settings at startup. It happened twice now that my fan was running at a higher level (sounds like 3D mode default of 43%, albeit it should be in 2D anyway) even though 20% was set for all modes in Rivatuner. Also I was not able to change anything about it (speed didn't change at all) unless I rebooted. After reboot everything was fine again.:confused:

    Meanwhile I did some minor changes to my settings. Before I had all clock changing Launch items on IDLE priority, but I noticed that under full load the clocks were not changed at all. So now they are on HIGH priority. Therefor I lowered all fan changing Launch items to NORMAL priority, with the exception of 50%/75C (high) and 100%/80C (realtime).

    I would like to have the LOWER priority class as well, since normal is too high (games and my pro audio progs could get jerky at the time of switching) and idle is too low (doesn't react under full load).

    All in all it works well with Battlefield 2 Demo and F.E.A.R Demo! :D According to Statistics Server temperature stays between 65C and 70C, and I can hear the fan turning faster with rising temperatures.

    Though here's another issue I noticed: for no apparent reason Rivatuner loses the "Use alternate Startup Daemon" setting when coming out of games. I could live without it, but then I'd have to overclock in LowPower 3D as well, while atm I can keep the Mem clocks down until starting Performance 3D.
     
    Last edited: Sep 14, 2005
  10. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    It seems like one of thresholds crossing events lunches the preset, which has "Use alternate startup daemon" set to off state.
     

  11. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    I already had a look at that, but none of my preset include that key at all. The Fan presets only include the three fan speeds and the Clock presets only include the Simpson keys.

    To make sure I started all Launcher items manually, nothing unusual happened.

    Can't say yet what's the reason for this to happen, since it doesn't happen everytime. I will watch it, maybe I can find a regular pattern.

    Another little problem I forgot to mention. Yesterday Rivatuner kept popping up for no apparent reason, reboot solved the issue. I suspect some conflict with another prog.

    Here is another question: ;)

    I'd like to start RT with a set profile, so I came up to use the /L option. But obviously RT doesn't allow no other options to be used in conjunction with /S and /T (what does that do anyway?). I tried to put another RT link into my Autostart folder, but that doesn't help since it's started earlier than the two registry entries are finished, thus RT isn't startet at all.
     
  12. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814


    There is one more thing, which can cause it:
    RT's startup daemon is able to "kill" itself in the registry startup key if daemon doesn't actually apply any settings (i.e. if daemon i started and there are no startup fan speeds, clocks, color schemes, AGP settings etc.).
    This feature was added due to user's request, but it can be disabled via PowerUSer, as far as I kan remember.



    Correct. /S cannot be combined with anything else cannot be combined with anything else. /T sends RT to tray after startup, BTW.
     
  13. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    I set "DontUninstallStartupDaemon" to 1 that should do the trick. I'll keep an eye on that one.

    The solution to the startup problem wasn't that easy. Actually /T is the problem, it wont run properly when the PC starts up when you set up another Rivatuner process in the startup-folder/registry. I did run after a logout and relogin, so I suspect the problem is when Windows runs two processes of Rivatuner simutanously.

    To solve this problem I removed Rivatuner from startup and wrote a simple batchfile instead:

    Code:
    rivatuner /l:"Fan Start"
    start rivatuner /t
    
    It's important not to use "start" in the first line, because that forces the batch process to wait until rivatuner is terminated. In the second line "start" has to be used, else the batch-windows wont close until you exit Rivatuner.

    So this batchfile forces the two Rivatuner processes to run one after another instead of simultanously, and it works! :D
     
  14. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    tm101

    Did some more changes to make your life easier. No you can directly specify either application or launch item in the threshold's properties. It is no longer necessary to use /L to start launch items via the command line, and the items are started rather faster now due to this reason.
    Considering that the changes mentioned thi this thread were done special for you, I offer you to join RT's beta testers team and to verify new functionality in action. If you're interested - contact me via email.
     
  15. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    PM on the way... ;)

    Happened two more times now, both times when starting the PC cold after a longer off-time. I don't think it's a RivaTuner issue though.

    Seems more as if the BIOS or driver don't change the fan speed down from 100% when Windows starts and then RivaTuner can't do anything about it either. None of the three sliders work when this happens, but there is a solution.

    A reboot always helps, but the quicker solution is to set the card into 3D mode. Once that is done the fan-controls work flawlessly.

    It could be a conflict between drivers and Rivatuner32 maybe, but I think I also had that at least once before I installed Rivatuner anyway.

    A possible fix could be an option for PowerUser to set the card into 3D mode for just a short moment upon start of Rivatuner.
     

  16. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Another issue, or maybe I'm just doing it wrong:

    Since I don't use fast user switching I thought that setting IODriverUninstallBehavior would be a good idea to save some memory (no idea if I'm right with that anyway, just trying).

    But when I do that I get a message that Rivatuner32 cannot be loaded the very first time RT is started (guess it's due to /L command). It's working flawlessly anyway and the message wont reappear until reboot.
     
  17. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,814
    No chances. It couldn't be a conflict, fan speed control is entirely driver-level, RT does nothing but passes desired fan speeds for each performance level (2D/LP3D/3D) to the ForceWare driver. The sliders of the 'Fan' tab always reflect current driver's fan speeds. If you see changes on the sliders but fan speed is not actually changed - RT did its' job and the values are passed to driver.
     
  18. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Thought so myself, guess it's a driver or BIOS issue then.

    PS: Your inbox is full! :p
     
  19. magilvia

    magilvia Member

    Messages:
    27
    Likes Received:
    1
    First of all I would like to thank you Unwinder for this incredibly useful tool.

    I have followed these instructions and I have succesfully linked my clock/fan speed to temperature.
    I must say that the procedure is really long and error prone.
    But I don't get why I have to associate %RT% to a temperature threshold with a /L switch, which means (I suppose) that while RT monitors temperature and detects a threshold crossing it launches another istances of RT which loads a profiles and launches one more istance of RT with the /S switch. That's not efficent expecially during massive 3d games.
    Unwinder, if you could just add the possbility to associate a profile to a threshold crossing it would be much more easy to set up and efficent to run.

    Thank you again.
     
  20. tm101

    tm101 Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    Club3D 7800GT @ 473/1134
    Already announced by Unwinder for the upcoming version! :D ;)
     
    Last edited: Oct 15, 2005

Share This Page