Ubuntu 12.04/12.10: laatste NVIDIA driver installeren

Laat ik beginnen met de opmerking dat deze methode niet wordt aanbevolen. Je kan veel beter de standaard drivers gebruiken die Ubuntu zelf aanbied. Daar is op Digiplace al eerder over geschreven.  Maar soms het handig om toch buiten de gebaande paden te treden.

In mijn geval voldeed een standaard installatie van NVIDIA drivers niet. Ik gebruik twee schermen en elke keer liep daarmee het systeem vast. Daarom  heb ik handmatig drivers gedownload en geïnstalleerd en daarmee het systeem stabiel gekregen. Die werkwijze wordt hier straks beschreven.

Maar uiteindelijk was de oplossing van mijn probleem waarschijnlijk het blacklisten van de NOUVEAU driver. Ik vermoed dat die oplossing op zich zelf ook al genoeg zou zijn geweest.

Let op: vóór het uitvoeren van deze handelingen draaide mijn computer dus met de NOUVEAU driver en niet met de standaard NVIDIA driver.

Werkwijze:

Zorg eerst dat je systeem is ge-update en dat ook dkms is geinstalleerd (sudo apt-get install dkms). Standaard heb ik ook de pakketten build-essential linux-source en de linux-headers (sudo apt-get install linux-headers-$(uname -r)) geïnstalleerd.

Zorg dan dat je de juiste driver uitkiest vanaf de NVIDIA website: http://www.geforce.com/drivers. Ik ga ervan uit dat dit bestand dan in je Downloads map staat. In mijn geval is dat de NVIDIA-Linux-x86-310.44.run bestand.

Als die driver is gedownload begin je met het uitvoerbaar maken van dat bestand. Vanuit een terminal:

cd Downloads
sudo chmod +x NVIDIA-Linux-x86-310.44.run

Vervolgens blacklist je de NOUVEAU driver door het bestand /etc/modprobe.d/blacklist.conf aan te passen. Wederom vanuit de terminal:

sudo gedit /etc/modprobe.d/blacklist.conf

Plaats daarin de volgende regel onderin het bestand:

blacklist nouveau
options nouveau modeset=0

Sla het bestand op en sluit de editor.

Update: Nvidia beveelt aan om een apart bestand aan te maken om te voorkomen dat de blacklist wordt overschreven door een update.

How do I prevent Nouveau from loading and performing a kernel modeset?

A simple way to prevent Nouveau from loading and performing a kernel modeset is to add configuration directives for the module loader to a file in /etc/modprobe.d/. These configuration directives can technically be added to any file in /etc/modprobe.d/, but many of the existing files in that directory are provided and maintained by your distributor, which may from time to time provide updated configuration files which could conflict with your changes. Therefore, it is recommended to create a new file, for example, /etc/modprobe.d/disable-nouveau.conf, rather than editing one of the existing files, such as the popular /etc/modprobe.d/blacklist.conf. Note that some module loaders will only look for configuration directives in files whose names end with .conf, so if you are creating a new file, make sure its name ends with .conf.

Whether you choose to create a new file or edit an existing one, the following two lines will need to be added:

blacklist nouveau
options nouveau modeset=0
The first line will prevent Nouveau’s kernel module from loading automatically at boot. It will not prevent manual loading of the module, and it will not prevent the X server from loading the kernel module; see “How do I prevent the X server from loading Nouveau?” below. The second line will prevent Nouveau from doing a kernel modeset. Without the kernel modeset, it is possible to unload Nouveau’s kernel module, in the event that it is accidentally or intentionally loaded.

You will need to reboot your system after adding these configuration directives in order for them to take effect.

If nvidia-installer detects Nouveau is in use by the system, it will offer to create such a modprobe configuration file to disable Nouveau.

Ondanks het feit dat mijn computer op de NOUVEAU driver werkte zijn er nog wel restanten van NVIDIA terug te vinden. Om er zeker van te zijn dat alles is verwijderd voer je het volgende commando in:

sudo apt-get remove –purge nvidia*

Nu alle voorbereidingen zijn getroffen kan je overgaan tot het installeren.

Daarvoor is het nodig dat je de grafische omgeving stopt. Dat doe je door in een terminal het volgende commando in te geven:

sudo service lightdm stop 

Dan zou je uiteindelijk gewoon bij een inlogprompt terecht moeten komen. Mocht het scherm echter zwart blijven met een knipperende cursor dan kan je daarna CTRL+ALT+F1 intikken om dat te alsnog te verkrijgen.

Log nu in met loginnaam en wachtwoord en geef dit commando:

cd Downloads
sudo sh ./NVIDIA-Linux-x86-310.44.run 

Kijk goed naar de meldingen op het scherm. Als er een probleem is dan kan je de oplossing daar terugvinden. Als de driver goed is geïnstalleerd wordt dat gemeld en kan je met sudo reboot de computer herstarten.

RESULTATEN:

Ten eerste een stabiel systeem. Er zijn nu geen problemen meer met vastlopers. Maar daar had ik met NOUVEAU (de open source NVIDIA driver) ook geen last van. Maar de snelheid is enorm toegenomen. De gebruikte 310.44 driver is enorm veel sneller dan oudere drivers.

Kijk bijvoorbeeld eens naar de output van glxgears (zorg dan dat je het vinkje bij “Sync to VBlank” onder OpenGL Settings van nvidia-settings even verwijderd).

jos@digiplace: ~_006
Maar je kan ook testen door Steam te installeren en daarin een game te spelen. Hier een screenshot van mijn twee schermen waarop links onder Steam Counter Strike: Source draait.

Schermafdruk van 2013-04-05 12:56:38

 

En het spel draait supersnel in native resolutie van 1920×1080. Kortom..missie geslaagd.

3 gedachten over “Ubuntu 12.04/12.10: laatste NVIDIA driver installeren”

  1. Kun je niet gewoon naar Software & Updates > Extra stuurprogramma’s gaan? Kwestie van driver aanklikken, op Wijzigingen doorvoeren drukken, herstarten en klaar.

Reacties zijn gesloten.