Just thought I’d share some of my cool stuff I use for Ubuntu 12.04 on a dual screen setup with two GPU’s and also an automatic fan control script so you never have to touch a fan control when rendering in Blender or whatever else uses a lot of your GPU’s power.
First is the x.conf file for the xserver which uses one Video Card per monitor with a dual GPU dual monitor setup.
Desktop is like twinview you can drag windows between monitors and despite popular misinformation you must have a SLI connecter between the video cards to use the SLI Mosaic mode enabled in the x.conf file. However, the system does not see an SLI setup so Blender renders just as fast with dual GPU’s and no SLI connector.
Second is a simple script that auto adjust the cards fan speeds based on the temperature just like Windows.
Just place it in your ‘root/bin’ name it whatever and add it to your default startup programs so it will start on login.
Last note, the fan control script should work with any Nvida card that has the “coolbits” option enabled in the xconfig file-- don’t have to use this one.
:yes:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 319.17 (buildd@chindi10) Fri May 3 15:33:37 UTC 2013
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Ancor Communications Inc ASUS VH196"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: unknown, VertRefresh source: unknown
Identifier "Monitor1"
VendorName "Unknown"
ModelName "SEK SE222FS"
HorizSync 30.0 - 65.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 580"
BusID "PCI:3:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 580"
BusID "PCI:4:0:0"
EndSection
Section "Screen"
# Removed Option "MetaModes" "GPU-0.DFP-0: 1440x900+1360+0, GPU-1.DFP-1: 1360x768+0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Coolbits" "5"
Option "SLI" "Mosaic"
Option "BaseMosaic" "True"
Option "Stereo" "0"
Option "metamodes" "1440x900 +1360+0, 1360x768 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Coolbits" "5"
Option "SLI" "Mosaic"
Option "BaseMosaic" "True"
Option "Stereo" "0"
Option "MetaModes" "GPU-0.DFP-0: 1440x900+1360+0, GPU-1.DFP-1: 1360x768+0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Above: x.conf
Below: fan script!!
#!/bin/bash
#nvautofanadjust
while :
do
#set fan speed if above 20%
cur_tempA=$(nvidia-settings -t -q [GPU:0]/GPUCoreTemp)
cur_speedA=$(nvidia-settings -t -q [fan:0]/GPUCurrentFanSpeed)
new_speedA=$(( 100 * $cur_tempA / 80 ))
#cur_tempA=$(nvidia-settings -t -q [GPU:0]/GPUCoreTemp)
echo 'gpu temp A is' $cur_tempA 'set fan to' $new_speedA '%'
if [ $new_speedA -gt 20 ]; then
nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUCurrentFanSpeed=$new_speedA
fi
cur_tempB=$(nvidia-settings -t -q [GPU:1]/GPUCoreTemp)
cur_speedB=$(nvidia-settings -t -q [fan:1]/GPUCurrentFanSpeed)
new_speedB=$(( 100 * $cur_tempB / 80 ))
echo 'gpu temp B is' $cur_tempB 'set fan to' $new_speedB '%'
if [ $new_speedB -gt 20 ]; then
nvidia-settings -a [gpu:1]/GPUFanControlState=1 -a [fan:1]/GPUCurrentFanSpeed=$new_speedB
fi
sleep 3
done