nVidia

Fedora: Installeer nvidia driver vanuit fedora-workstation-repositories

NVIDIA

Zonder enige twijfel is het installeren van een NVIDIA driver het meest beschreven onderwerp op Digiplace. Waar een Linux desktop uitblinkt in het gebruiken van Open Source software is voor het optimaal gebruiken van een NVIDIA grafische kaart nou eenmaal een proprietary driver van de fabrikant nodig. 

NVIDIA

NIVIDIA onder Fedora

Fedora? Ja, ik ben sinds het gedonder met Fedora 28 toch weer nieuwsgierig geworden naar de ontwikkelingen van Fedora 29. En al snel bleek dat de problemen die onder Fedora 28 opdoken waren verdwenen onder Fedora 29. Althans met het volgen van de volgende installatie methode.

sudo dnf update

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

sudo dnf install fedora-workstation-repositories

sudo dnf config-manager –set-enabled rpmfusion-nonfree-nvidia-driver

Open vervolgens SOFTWARE, klilk op Add-ons>Hardware drivers>NVIDIA Linux Graphics Driver>Install

Fedora

En klaar ben je.

Voorkom tearing onder nvidia graphics card

nvidia

Tearing is het fenomeen dat zich kan voordoen op je beeldscherm bij het bekijken van video of het spelen van een spel. Bij tearing wordt een eerder weergegeven frame overschreven door een nieuw frame. Gedeelten van het oude frame zijn dan nog zichtbaar wanneer het nieuwe frame wordt weergegeven.

Op mijn voormalige Ubuntu en huidige Fedora Workstation was tearing een vervelend probleem bij het afspelen van bijvoorbeeld een youtube film of bij het bekijken van Netflix. Mijn computer maakt gebruik van een NVIDIA grafische kaart (GTX GeForce 760) en daarvoor wordt momenteel de NVIDIA 384.69 driver voor ingezet. Standaard wordt overigens bij Fedora geen gebruik gemaakt van een /etc/X11/xorg.conf configuratie bestand. Maar je kan er wel zelf een aanmaken. Daar zijn ook handleidingen voor te vinden. Maar als je een moderne kaart en recente driver gebruikte kan het ook met behulp van de NVIDIA driver software.

Oplossing

Je kan er voor kiezen om onderstaande handeling niet uit te voeren als root. Je opent dan niet nvidia-settings met het sudo commando. Dan hoef je ook niet te kiezen voor “Save to X Configuration File” want daarvoor heb je natuurlijk root rechten nodig. Het werkt dan net zolang tot je weer je computer opstart. Probeer het eerst eens op deze manier uit. Maar als dat werkt dan wil je mogelijk ook die instelling definitief maken. Dat doe je als volgt:

Open een terminal en voer volgende commando in:

sudo nvidia-settings

Daarmee open je (na het invoeren van je wachtwoord) als root je NVIDIA X Server Settings.

  1. Klik daarin op de 2e regel, links in dat scherm: X Server Display Configuration.
  2. Vervolgens klik je in het rechterdeel van dat venster op Advanced en plaatst een vinkje bij “Force Composition Pipeline” en bij “Force Full Composition Pipeline“.
  3. Klik op Appy
  4. Klik op “Save to X Configuration File
  5. in het dan te verschijnen venster tik je het volgende pad en bestandsnaam in: /etc/X11/xorg.conf
  6. Sluit vervolgens NVIDIA X Server Settings af en herstart je computer.

tearing

Een nieuwe videokaart

Een nieuwe videokaart. Het lijkt zo eenvoudig. Je kiest een moderne kaart uit en plaatst die in je computer. Dat zou toch gewoon moeten werken? Maar in de praktijk is niet alles automatisch zo eenvoudig.

Zo had ik belangstelling voor een nieuwe grafische kaart van NVIDIA. Die komen in vele variaties maar ik had mij goed voorbereid. Ik had gekozen voor de MSI NVIDIA GeForce GTX 760 TF kaart. In 1e instantie had ik wel trek in de NVIDIA GTX 750 Ti. Hoewel iets minder snel is het een zeer moderne en vooral ook goedkopere kaart. En een kaart die veel minder energie vraagt van je computersysteem. Dat komt dankzij de hierin opgenomen 1e generatie NVIDIA Maxwell architectuur.

Turbocharge your gaming experience with the GeForce GTX 750 Ti. It’s powered by first-generation NVIDIA® Maxwell™ architecture, delivering twice the performance of previous generation cards at half the power consumption.

Het probleem met deze specifieke en zeer aantrekkelijke kaart is echter die nieuwe technologie. De standaard kernel van Ubuntu 14.04 zal deze kaart nog niet ondersteunen. En ook de driver die wordt uitgeleverd onder Ubuntu 14.04 kan deze kaart nog niet aansturen. Dat valt natuurlijk allemaal op te lossen, maar handig is dat niet.

Met die wetenschap heb ik gekozen voor een MSI NVIDIA GeForce GTX 760. Die kaart is niet zo zuinig maar wel een stuk sneller én duurder. Maar die kaart wordt wel ondersteund door de standaard kernel van Ubuntu 14.04 en de standaard NVIDIA driver onder Ubuntu (331.38) kan ook een GeForce GTX 760 aansturen. Kortom…dat moest hem worden.

MSI GeForce GTX 760

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.

Activeer WebGL onder Google Chrome met Nouveau driver

WebGL is een open standaard voor het specificeren van 3D computer graphics in webpagina’s via OpenGL. Hiermee kan je computergraphics weergeven in je browser zonder gebruik te hoeven maken van een externe plugin. Dat is van belang omdat daarmee hardware acceleratie mogelijk is als je computer een geschikte grafische kaart heeft.

Tot zover de theorie. Mijn Ubuntu desktop heeft een grafische kaart met een NVIDIA Geforce 450GTS chip aan boord. Maar ik maak geen gebruik van de officiële NVIDIA drivers. De standaard NOUVEAU driver is goed genoeg en is inmiddels (Ubuntu 12.10) in staat om ook gebruik te maken van WebGL toepassingen.

Google Chrome

Hoewel de hardware dus uit de voeten kan met WebGL kan je software tegen stribbelen. Als je Firefox gebruikt werkt het zoals je mag verwachten. Maar onder Google Chrome werkt het niet. Daar moet je dan zelf voor onder de motorkap kruipen. Als je een terminal opent en de volgende opdracht inbrengt is WebGL ook onder Google Chrome geactiveerd:

google-chrome –enable-webgl –ignore-gpu-blacklist

Je hoeft niet altijd Google Chrome vanuit je terminal te starten om dit te bereiken. Open je editor en maak een nieuw bestand aan met daarin de inhoud van het bestand  /usr/share/applications/google-chrome-desktop. Sla dat bestand op met dezelfde naam (google-chrome-desktop) in de (ontzichtbare) map ~/.local/share/applications.

Zoek vervolgens naar de opdracht (regel 108) Exec=/opt/google/chrome/google-chrome %U en verander die in de volgende opdracht:

Exec=/opt/google/chrome/google-chrome –enable-webgl –ignore-gpu-blacklist %U

Save dit bestand. Verwijder de standaard Google Chrome (indien aanwezig) in je launcher en sleep vervolgens vanuit Nautilus het door jou gemaakte google-chrome-desktop bestand vanuit ~/.local/share/applications naar de launcher.

Om het resultaat te testen kan je eens kijken op http://www.chromeweblab.com/ of kiest bij Google Maps voor de GL versie.

Schermafdruk van 2013-01-18 16:37:43

Scroll naar boven