Category Archives: ubuntu

Linking Nvidia GPU temperature with a motherboard PWM fan in Linux

So I have a closed loop water cooler on my GPU and I replaced the stock single speed fan with two Noctua PWM fans (doing push/pull) connected to my motherboard. Even though the fans can be seen by lm_sensors and fancontrol the Nvidia GPU does not appear as it’s proprietary driver.

I knew nvidia-settings could be used to query the temperature (and the pump speed if you care) so I wrote a script to tie it all together:

#!/usr/bin/env bash
set -e

# This is the path to the PWM controlled fan (use lm_sensors/fancontrol to help you identify this)
fan=/sys/class/hwmon/hwmon1/pwm1
# Read https://www.kernel.org/doc/Documentation/hwmon/ for your PWM chip to find the correct values (I have a nct6792)
automatic=5
manual=1
# Temperature at which to run fan at 100% speed
max=80

# Re-enable automatic fan control on exit
trap "echo ${automatic} > ${fan}_enable; exit" SIGHUP SIGINT SIGTERM ERR EXIT

# Enable manual fan control
echo ${manual} > ${fan}_enable

function temperature() {
        nvidia-settings -q [gpu:0]/gpucoretemp -t
}

function fan_speed() {
        echo Setting FAN Speed to $1%
        echo $(((($1 * 255)) / 100)) > ${fan}
}

while true; do
        temp=`temperature`
        echo GPU Temperature: $temp

        if [ "$temp" -ge "$max" ] ; then
                fan_speed 100
        else
                fan_speed $(($temp + ((100 - $max))))
        fi

        sleep 1
done

Then make the script sudoable without password and run on login. Now my fans run at 600rpm at idle and go up to 1100rpm when running a GPU burn in tool.

AMD ATI Graphics tearing in Chrome on Ubuntu 15.04

I had to switch to using proprietor AMD drivers as the open source ones don’t support audio via display port, but after switching, Chrome was tearing and just going completely black.

The chrome GPU page reported no hardware acceleration enabled.

So I went to Chrome Flags page and forced GPU acceleration and rasterisation

Override software rendering list -> Disabled
Enable GPU rasterization -> Force enabled on all layers
Smooth Scrolling Linux -> Enable

Intel Graphics Installer on Ubuntu 14.10

So if you just downloaded the latest Intel Graphics Installer and just found that it doesn’t support Ubuntu 14.10.

Fear not you can trick it into installing by doing the following:

First backup

sudo cp /etc/lsb-release /etc/lsb-release.backup

Then edit the file

sudo nano /etc/lsb-release

And put the following in there

DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty

This will allow the installer to proceed but you will also want to add the public key so updates work correctly:

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg -O - | sudo apt-key add -
wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-2 -O - | sudo apt-key add - 

Original articles:
“Distribution not supported” when trying to install Intel Graphics Installer in 14.10
Intel Linux Graphic Drivers

More Ubuntu 7.10 notes for Dell D630

So the wifi seemed to work pretty well out of the box but I noticed after prolonged use it would just suddenly freeze and the only way to make it come back was to reboot. (You couldn’t even reload the module or restart networking stack).

You can tell if this will be a problem for you by running iwconfig: if you have lots of Invalid misc errors and the signal and noise levels are fixed at -60dBm then you will want to switch from the ipw3945 module to the iwl3945.

To try it out:

sudo modprobe -r ipw3945
sudo modprobe -r ieee80211
sudo modprobe -r ieee80211_crypt
sudo modprobe -r mac80211
sudo modprobe iwlwifi_mac80211
sudo modprobe iwl3945

Now if you run iwconfig you should see wlan0 (plus wmaster0 which we’ll just ignore). If it’s called wlan0_rename then you run

sudo nano /etc/udev/rules.d/70-persistent-net.rules

Comment out the line reserving eth1 for ipw3945 module.

To make this all permanent you need to add the iwl3945 and iwlwifi_mac80211 modules to /etc/modules

sudo echo iwlwifi_mac80211 >> /etc/modules
sudo echo iwl3945 >> /etc/modules

And now stop the ipw3945 and dependencies from loading by blacklisting them

sudo echo blacklist ipw3945 >> /etc/modprobe.d/blacklist
sudo echo blacklist ieee80211 >> /etc/modprobe.d/blacklist
sudo echo blacklist ieee80211_crypt >> /etc/modprobe.d/blacklist
sudo echo blacklist mac80211 >> /etc/modprobe.d/blacklist

Notes on installing Ubuntu Gutsy Gibbon 64bit edition on a Dell D630

I had to start the install CD in safe VGA mode and have not got the slash to display yet.

To get sound to work you don’t need to recompile your kernel or go back to an earlier version just follow method G one this page:

Gutsy Intel HD Audio Controller

or

sudo aptitude install linux-backports-modules-generic

sudo gedit /etc/modprobe.d/alsa-base

In the editor, add the following line at the end of the file:

options snd-hda-intel model=dell-m42

Save the file and reboot to get sound working correctly.

If sound is too low, go to Volume Control’s Preferences and add “Front” (and any other playback tracks) and make sure they are set to the maximum.