Differences between revisions 33 and 34
Revision 33 as of 2013-01-28 22:53:48
Size: 10644
Comment: spelling
Revision 34 as of 2013-07-18 21:41:11
Size: 10802
Comment: propriatary nvidia drivers don't work with kernel 3.10
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:

'''Update 2013-07-18:''' Until now DKMS worked fine, but the propriatary driver in Debian does not (yet) work with kernel 3.10. Switching back to nouveau.

Erik Auerswald

Email: <auerswal AT SPAMFREE unix-ag DOT uni-kl DOT de>

Skolelinux.de Wiki: http://wiki.skolelinux.de/ErikAuerswald

Ubuntu Launchpad: https://launchpad.net/~auerswal

My homepage at the Unix-AG Kaiserslautern: http://www.unix-ag.uni-kl.de/~auerswal/

Sourceforge: http://sourceforge.net/users/auerswald

Alioth: http://alioth.debian.org/users/auerswald-guest

Ohloh: https://www.ohloh.net/accounts/auerswald

NVIDIA Graphics Card

Back when I bought my current PC, one intended use was playing Doom 3. At that time, an NVIDIA graphics card was the only sensible choice for gaming under GNU/Linux, and I bought a GeForce 6600 GT. The proprietary driver was the only choice with Open GL support. I used to install it manually from the NVIDIA installer to use the latest version.

Later on I did not play that often and changed from using Fedora to Debian/Sid. The non-free NVIDIA driver quite often broke with the many kernel and X updates, so I changed to the free nv driver, which worked fine for 2D graphics. Later the nouveau project appeared, I am currently (October 2012) using this driver. It provides basic Open GL support, but is still not usable for gaming.

With the upcoming Steam for Linux I'll try the proprietary NVIDIA drivers again. Hopefully, DKMS will take care of recompiling the kernel module automatically. Let's see how well NVIDIA keeps up with X server development nowadays...

Update 2013-07-18: Until now DKMS worked fine, but the propriatary driver in Debian does not (yet) work with kernel 3.10. Switching back to nouveau.

Anyway, my next PC will have Intel graphics, because Intel provides free drivers with good quality, performance, and features. IMHO, the AMD GPU driver's quality is not up to par (neither free nor non-free) and NVIDIA does not provide free drivers or even documentation.

Installed the current proprietary drivers today (2012-10-26):

sudo aptitude install linux-headers-686-pae

sudo aptitude install nvidia-kernel-dkms
  • Reboot after installation is suggested to remove nouveau module from kernel. This works, but don't reboot yet.
  • A message is displayed that nvidia driver needs to be enabled manually in xorg.conf.

cat > xorg.conf <<EOF
Section "Module"
    Load        "glx"

Section "Device"
    Identifier  "Video Card"
    Driver      "nvidia"
    Option      "UseEDIDDPI" "false"
    Option      "DPI" "96 x 96"
sudo mv -i xorg.conf /etc/X11/
  • The two options regarding DPI are necessary for me because the monitor seems to return (very) wrong DPI info. I don't remember this problem from before switching from nvidia to nv (and then nouveau), though.

Rebooting now changes from nouveau to nvidia X driver.

The non-free NVIDIA driver still works and provides better performance than the free driver. It is more work to use the non-free driver than just keeping nouveau. The nice framebuffer console provided by nouveau is gone. :\


With the open Steam beta under way, I wanted to try it out on my Debian/Unstable box. The Steam .deb package for Ubuntu 12.04 does not install cleanly on Debian/Sid, but solutions can be found:

I looked at the three scripts from the first link, decided to manually implement the steps from debian_install.sh and roll my own version of debian_steam.sh to start Steam.

  1. Decide to install special dependencies and startscript in ${HOME}/games/Steam and ${HOME}/games/Steam/lib, respectively

  2. Install libc6 version Steam depends on from Ubuntu repository

    mkdir -pv "${HOME}/games/Steam/lib"
    cd /tmp
    wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.2_i386.deb
    dpkg -x libc6_2.15-0ubuntu10.2_i386.deb /tmp/libc/
    mv /tmp/libc/lib/i386-linux-gnu/* "${HOME}/games/Steam/lib"
    rm -rfv /tmp/libc6_2.15-0ubuntu10.2_i386.deb /tmp/libc
  3. Install jockey-common and python-xkit from Ubuntu repository

    wget http://mirror.ovh.net/ubuntu/pool/main/j/jockey/jockey-common_0.9.7-0ubuntu7_all.deb http://mirror.ovh.net/ubuntu/pool/main/x/x-kit/python-xkit_0.4.2.3build1_all.deb
    sudo dpkg -i jockey-common_0.9.7-0ubuntu7_all.deb python-xkit_0.4.2.3build1_all.deb
    rm jockey-common_0.9.7-0ubuntu7_all.deb python-xkit_0.4.2.3build1_all.deb
  4. Repackage and Install steam_latest.deb

    wget http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
    mkdir -v deb-package && cd deb-package
    ar -x ../steam_latest.deb
    rm debian-binary
    tar xvf data.tar.gz && rm data.tar.gz
    mkdir DEBIAN && cd DEBIAN
    tar xvf ../control.tar.gz && rm control.tar.gz
    sed -i 's/^Version:.*$/&-ea/;s/ multiarch-support[^,]*,//;s/ libc6[^,]*,//;s/ libpulse0[^,]*,//' control
    cd ../..
    fakeroot dpkg-deb -b deb-package steam_latest-ea.deb
    rm -rfv deb-package
    sudo dpkg -i steam_latest-ea.deb
    rm -v steam_latest{,-ea}.deb
  5. Remove multiarch-support Dependency from Steam -- DOES NOT HELP
    #sed -i /multiarch-support/d ${HOME}/.local/share/Steam/steamdeps.txt
  6. Create start script for Steam
    cat > "${HOME}/games/Steam/steam.sh" <<EOF
    #! /usr/bin/env sh
    export LD_LIBRARY_PATH="/home/auerswald/games/Steam/lib:$LD_LIBRARY_PATH"
    export LC_ALL=C
    exec /usr/bin/steam "$@"
    chmod -v +x "${HOME}/games/Steam/steam.sh"
  7. If needed, install dependencies asked for during installation of steam_latest.deb. Everything needed was already installed on my box, except libjpeg-turbo, which is not strictly necessary.

  8. Run the start script
  9. When asked for the root password to install some missing dependency, use [CTRL]+C and then [RETURN] to skip.

  10. Play a game, e.g. Counter-Strike. :-)

Problems with Counter-Strike

I really like Counter-Strike and just had to try the Linux version. With my non-Ubuntu box (Debian/Sid, no desktop environment, ALSA sound) there are a few problems:

  • No sound in Counter-Strike (possibly because I don't have PulseAudio installed, as I am using ALSA on my Debian box).

  • Widescreen resolutions above 1280x800 don't work for me in Counter-Strike. They result in a crash that is most easily fixed by removing hl.conf (the next start of Counter-Strike (or Half-Live) will recreate it with default settings):

    rm -v ${HOME}/.local/share/Steam/SteamApps/common/Half-Life/hl.conf

Valve concentrates on one distribution and its default install, which I can understand. Nevertheless, I would like ALSA support, e.g. by using OpenAL. Other commercial games, e.g. from id Software and Epic Games, did work without PulseAudio. It might not even have existed back then. ;-)


My User Pages: Alioth Debian Launchpad Skolelinux.de Sourceforge Unix-AG