EVGA

NVIDIA Fan Controller V0.1 For Linux

Author
ShadowsDemise
iCX Member
  • Total Posts : 385
  • Reward points : 0
  • Joined: 2010/12/16 19:27:03
  • Location: California
  • Status: offline
  • Ribbons : 2
2011/03/11 20:27:54 (permalink)
I'm learning how to program (Python) so I wanted to write a program to practice and to help folders.
 
I know some folders build computers just for folding and they don't do anything else on them so I figured that they might want to just install linux so they don't have to spend the money on Windows.

Linux doesn't have a fan controller for the latest NVIDIA cards (at least not one that I have found) so I wrote one. The program lets you set fan speeds for different temperature ranges like MSI Afterburner. The program should work with all cards including and above the GeForce FX series.   
 
TESTER(S) NEEDED: I made (or tried to make) the program work for up to four graphics cards but since I only have one card it's really hard for me to test if it works for more than one. Can somebody that has more than one card please try my program and let me know if it works with all of your cards? Thanks 
 
Priorities:
  • Clean up the code
  • Make it more user-friendly
  • Make it easier to change polling time
  • Adding a GUI
Guide for Ubuntu:
(Should work on all other Linux distros with minor differences)
 
I am not responsible for any damage to your computer or data loss while running this program.

Requirements:
1. NVIDIA Drivers 
2. Python 3
3. Coolbits 5 in xorg.conf file

1: Install NVIDIA drivers:
Step 1: Open up a terminal and enter:
sudo apt-get install nvidia-current

and press enter. Enter password if asked.
 
Step 2: Press "y" (without quotes) if asked to proceed. Let it install.

Step 3: Restart computer after NVIDIA drivers are done installing.

2: Install Python 3:
Step 1: Open up a terminal and enter:
sudo apt-get install python3

and press enter. Enter password if asked.

Step 2: Press "y" (without quotes) and enter if asked to proceed. Let it install.

3: Add "Coolbits" "5" to your xorg.conf file:
Step 1: Open up a terminal and enter:
sudo gedit /etc/X11/xorg.conf

and press enter. Enter password if asked. A text editor should pop up with the xorg.conf file. Your xorg.conf will not look exectly like mine but that's ok.

Step 2: Search for the first
Section "Device"

and then put the line
Option         "Coolbits" "5"

under it.

3.step-1

Step 3: Press "CTRL+S" or go to File>Save to save changes to the file and then close the program and the terminal.
 
Step 4: You need to either log out and log back in or restart your computer.
 
Program Guide:
 
Pre-Setup:

1: Download and untar program:

Step 1: Download the file (a tar.gz file) from the bottom of this post and place it in you're home folder (/home/"your computer name"/).

Step 2: Open up a terminal and enter:
tar -xvf nVidia-Fan-Controller.tar.gz

the file should be untared and in your home folder.

Step 3: Open up a terminal and enter:
cd nVidia-Fan-Controller


Step 4: Enter:
./nVidiaFanController-V0.1.py

to start the setup.

Setup:

Step 1: Enter the highest temperature in the first temperature range that you would like to set and press enter.
Explanation: The program automatically sets first temperature in the temperature range which is 0 in the first temperature range so all you have to do is set the highest temperature (Ex. Enter 30 to make the temperature range "0 <= "GPU Temp" <= 30).
 



Step 2: Enter the fan speed (in percentage) that you would like to change the GPU fan to when you GPU is in that temperature range.
 


Step 3: Enter the next highest temperature in the next temperature range and press enter.
Explanation: The program automatically sets the first temperature in the temperature range to 1 greater than the previous highest temperature (if 30 was the highest temperature in the previous temperature range then 31 would be the lowest temperature in the next temperature range).
 

Step 4: Enter the fan speed (in percentage) that you would like to change the GPU fan to when you GPU is in that temperature range.
 


Step 5: If you would like to create another temperature range enter "yes" (without quotes and all lowercase) and press enter or enter "no" (without quotes and all lowercase) and press enter if you would like to stop.
Explanation: You can create as many temperature ranges as you want as long as you keep the fan speed below 100. When you enter "no" a final temperature range will be created which will be 1 greater than your previous highest temperature to infinity (if your last highest temperature was 85 a new temperature range will be created which would be "86 <= "GPU Temp" <= infinity"). 
 



Running Program:

Step 1: Open up a terminal and enter:
cd nVidia-Fan-Controller

and press enter.

Step 2: Enter:
./nVidiaFanController-V0.1.py

and press enter to start program. 
 

Ignore the error messages. They just come up when you don't have 4 graphics cards but nothing bad will happen.

Step 2-Alternative: If you would like the program to keep running in the background enter:
nohup ./nVidiaFanController-V0.1.py

and press enter. Close the terminal and press "Close Terminal" if the box pops up.
 



Downloads:

nVidiaFanController-V0.1.py:
http://www.mediafire.com/download.php?dp8ltw6heowajbc
 
Guides for Linux Folding:
http://forums.evga.com/tm.aspx?m=895354&high=ubuntu (Written by tedster59)
http://forums.evga.com/tm.aspx?m=426785&mpage=1 (Written by Tasmac)
http://www.overclock.net/folding-home-guides-tutorials/746438-ubuntu-setting-up-gpu-client.html (Written by zodac)
http://foldingforum.org/viewtopic.php?f=54&t=6793 (Written by Hyperlife)

 
 
post edited by ShadowsDemise - 2011/03/12 14:42:20

Attached Image(s)


                     
 
 
 
#1

6 Replies Related Threads

    8ballrollin
    New Member
    • Total Posts : 18
    • Reward points : 0
    • Joined: 2010/12/22 12:46:03
    • Status: offline
    • Ribbons : 0
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/14 11:41:43 (permalink)
    nvidia-settings will allow you to manually set fan speed either with  cli or gui  after you install the drivers.  All you need is the coolbits in the xorg config as you have listed.  This looks like a utility to create a custom map which is a nice idea, I'll try to set it up on my boxes.  Thanx.
    #2
    ShadowsDemise
    iCX Member
    • Total Posts : 385
    • Reward points : 0
    • Joined: 2010/12/16 19:27:03
    • Location: California
    • Status: offline
    • Ribbons : 2
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/14 12:09:48 (permalink)
    8ballrollin

    nvidia-settings will allow you to manually set fan speed either with  cli or gui  after you install the drivers.  All you need is the coolbits in the xorg config as you have listed.  This looks like a utility to create a custom map which is a nice idea, I'll try to set it up on my boxes.  Thanx.

     
    The program does use the commands provided with nvidia-settings. All my program really does is retrieve the temperature of the cards (using a command provided with nvidia-settings) and it compares them with the numbers that you inputted when you first ran the program to choose and set the correct fan speed.
     
    I hope you like the program and thanks for trying it 

                         
     
     
     
    #3
    Alanw
    Superclocked Member
    • Total Posts : 185
    • Reward points : 0
    • Joined: 2010/11/06 22:25:14
    • Status: offline
    • Ribbons : 0
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/26 17:43:43 (permalink)
    Very nice! Thank you for sharing this script. It works great for me.
     
    I don't know how Ubuntu handles python 3, but Gentoo allows 2.6 to be the main system version of python, while apps that need python 3 have access to it, which is fantastic for me since I have a ton of apps that rely on 2.6.
     
    Thanks again,
    Alan
    #4
    ShadowsDemise
    iCX Member
    • Total Posts : 385
    • Reward points : 0
    • Joined: 2010/12/16 19:27:03
    • Location: California
    • Status: offline
    • Ribbons : 2
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/26 18:19:00 (permalink)
    Alanw

    Very nice! Thank you for sharing this script. It works great for me.

    I don't know how Ubuntu handles python 3, but Gentoo allows 2.6 to be the main system version of python, while apps that need python 3 have access to it, which is fantastic for me since I have a ton of apps that rely on 2.6.

    Thanks again,
    Alan

     
    Thank you for trying it and letting me know that it works for you!
     
    If you don't mind me asking, are you only using one GPU or more in the system that you ran my program on?

                         
     
     
     
    #5
    Alanw
    Superclocked Member
    • Total Posts : 185
    • Reward points : 0
    • Joined: 2010/11/06 22:25:14
    • Status: offline
    • Ribbons : 0
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/26 18:29:41 (permalink)
    I'm using a single Quadro 4000.
    #6
    ShadowsDemise
    iCX Member
    • Total Posts : 385
    • Reward points : 0
    • Joined: 2010/12/16 19:27:03
    • Location: California
    • Status: offline
    • Ribbons : 2
    Re:NVIDIA Fan Controller V0.1 For Linux 2011/03/26 18:40:50 (permalink)
    Alanw

    I'm using a single Quadro 4000.

     
    Ok, thanks again for the response!
     
    It really helps because I need to know if the program for others before I can continue to work on the program.

                         
     
     
     
    #7
    Jump to:
  • Back to Mobile