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

Lees meer

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

Ubuntu 12.04: Stabiele NVidia configuratie

Updatehttps://www.digiplace.nl/ubuntu-12-0412-10-laatste-nvidia-driver-installeren/

Na het succesvol installeren van de NVidia drivers onder Ubuntu 12.04 kwamen toch nog onverwachte problemen om de hoek kijken. En serieus ook want mijn computer liep gewoon volkomen vast. Niets hielp behalve het opnieuw opstarten. Vaak met meteen een nieuwe freeze als gevolg. Dat gaat niet werken natuurlijk. Ik ben mij ervan bewust dat die problemen per gebruiker kunnen verschillen. We gebruiken nou eenmaal niet allemaal dezelfde hardware.

Mijn grafische kaart is van MSI (MSI N450GTS Cyclone 1GB GDDR5, dual DVI+mini HDMI) die 2 Iiyama ProLite E2473HDS schermen aanstuurt (DVI) die (Twinview) staan ingesteld op hun native resolutie van ieder 1920×1080. Dat werkt zonder problemen onder de Nouveau driver dus je verwacht dat het ook werkt met de door Ubuntu aangeboden NVidia driver. Van belang is ook dat ik de 64 bits versie van Ubuntu gebruik.

Inmiddels ziet het er naar uit dat ik het probleem heb opgelost. De afgelopen twee dagen draait alles stabiel. Ik weet niet helemaal zeker waar de oplossing ligt omdat ik meerdere zaken heb aangepakt. Op termijn ga ik daar nog even naar kijken.

Ik heb ten eerste (maar ik verwacht niet dat het nodig is) gebruik gemaakt van de nieuwste xorg bestanden én nvidia drivers door een extra PPA toe te voegen: sudo add-apt-repository ppa:xorg-edgers/ppa Daarna de gebruikelijke sudo apt-get update om dan de installatie van de juiste nvidia driver op te starten met sudo apt-get install nvidia-current nvidia-settings. Ik heb mij hier overigens laten leiden door deze informatie op http://www.upubuntu.com/2012/11/install-nvidia-31019-linux-driver-in.html

Wat levert dat op:

Deze opdrachten zorgen ervoor dat de laatste stabiele NVidia driver wordt geinstalleerd: op dit moment 310.19. Een driver die de snelheid dramatisch vergroot. Maar ook hier ging het op enig moment fout mee. Het systeem liep weer regelmatig (kortstondig) vast. Maar dan komt de truc die er volgens mij echt toe doet: Je opent nvidia-settings en klikt naar “OpenGL Settings” en haalt daar het vinkje weg bij Allow Flipping”.

Of het mede bepalend is weet ik niet maar ik had al eerder het vinkje onder  CompizConfig Instellingen Beheerder bij de functie “OpenGL Sync naar VBlank”  leeg gemaakt. Dat had ik gedaan op basis van deze informatie en die bleek bij mij ook te kloppen: http://followthegeeks.com/compiz-is-consuming-too-much-cpu-heres-the-solution/

Om het feest compleet te maken heb ik daarna gekozen voor een sudo apt-get upgrade om alle andere bestanden te upgraden die vanuit de PPA worden aangeboden. Met als resultaat dat ik nu onder Ubuntu 12.04 werk met kernel 3.5.0-18-generic.

Volgens mij is het dan wel nodig dat je daarvoor een sudo apt-get install dkms hebt gedaan anders loop je tegen weer andere problemen aan (?)

DKMS enables kernel device drivers to be automatically rebuilt when a new kernel is installed.

Garanderen kan ik niets maar mocht je ook soortgelijke problemen herkennen dan lijkt het mij de moeite waard om deze procedure te doorlopen. Je krijgt dan niet alleen een stabiel systeem maar zelfs een flinke performance boost door de nieuwste driver.

Mocht je het niet aandurven maar herkent wel de freezes bij het gebruik van een NVIDIA driver en twinview dan is de truc om “Allow Flipping” uit te zetten mogelijk al voldoende om je probleem op te lossen. Ik ben benieuwd.

Ubuntu 12.10 – Nvidia drivers installeren

UPDATE: Dit werkt ook onder Ubuntu 12.04. Maar lees ook het vervolg: Ubuntu 12.04: Stabiele NVidia configuratie en https://www.digiplace.nl/2013/04/05/ubuntu-12-0412-10-laatste-nvidia-driver-installeren/

Als je de kersverse Ubuntu 12.10 installeert dan wordt standaard de open source video driver van Nouveau gebruikt. In mijn geval is dat lastig want de beeldkwaliteit liet behoorlijk te wensen over. Ik gebruik twee iiyama ProLite E2473 HDS schermen en die worden aangestuurd door een MSI N450 GTS grafische kaart.

Dan is het niet zo gek om daar de (gesloten) NVIDIA driver voor te gebruiken. Dat gaf echter grote problemen. Je kan daarna nog net inloggen maar krijgt dan maar beeld op één scherm, alleen maar een wallpaper en in een verkeerde resolutie. Dat is vreemd.

Maar er is een oplossing. Er wordt bij het installeren geen Linux Source en Linux headers geïnstalleerd  Daardoor kan de driver niet goed worden gecompileerd. Heel erg slordig van Ubuntu temeer omdat dit probleem zich ook al voordeed onder Ubuntu 12.04. Alleen kreeg ik daar beter beeld met de Nouveau driver.

De volgende werkwijze brengt succes:

Installeer Ubuntu 12.10 en open een terminal. Daarin eerst een een sudo apt-get update en een sudo apt-get upgrade. Vervolgens:

sudo apt-get install linux-source

sudo apt-get install linux-headers-3.5.0-17-generic (mocht er inmiddels een nieuwe kernel zijn uitgekomen dan gebruik je natuurlijk de output van uname -a om de juiste kernel aan te passen)

Als dit is gedaan open je DASH, tikt in ‘Softwarebronnen’ en als die applicatie verschijnt klik je op het laatste tabblad: Extra stuurprogramma’s. Kies daar je driver uit en herstart daarna je computer.

Daarna kan je verder gaan met configureren van je nieuwste Ubuntu.

Mocht je al de NVIDIA driver hebben geïnstalleerd en ziet op om Ubuntu nog een keer te installeren dan kan je met ALT F1 naar een shell springen en na het installeren van de Linux source en headers de geïnstalleerde NVIDIA driver verwijderen met het commando:

sudo apt-get remove nvidia-current of sudo apt-get remove nvidia-current-updates of sudo apt-get remove nvidia-experimental-304 (afhankelijk van welke driver je hebt geïnstalleerd) Daarna installeer je de juiste driver weer met sudo apt-get install nvidia-current of een van de andere versies.

Nvidia 180.51

Vanaf de start heb ik onder Ubuntu 9.04 problemen ondervonden met de kwaliteit van het “plaatje”. Het leek wel of er een kleurzweem zat om de letters. Het was gewoon niet de kwaliteit die ik b.v. gewend was onder vorige versies van Ubuntu. Ik heb verschillende instellingen uitgeprobeerd maar helemaal goed kreeg ik het nooit.

Zojuist heb ik een andere oplossing uitgeprobeerd. Ik heb de standaard 180.44 driver voor mijn NVIDIA kaart uitgeschakeld en handmatig versie 180.51 gedownload en geinstalleerd. En het lijkt er op (ik moet nog wat langer testen) dat het probleem is opgelost! De beeldopbouw is nu goed en de snelheid is verbeterd.

schermafdruk-nvidia-x-server-settings18051

Qua werkwijze heb ik dezelfde methode gebruikt zoals eerder op Digiplace beschreven.

Een paar kantekeningen bij deze aanpassing: Ik werk op dit moment met de 32 bits versie van Ubuntu 9.04 en gebruik deze hardware.

Gebruik (Beta) nVidia driver 180.06

Een van de meest in het oog springende ergernissen onder Ubuntu Intrepid Ibex was een probleem die uiteindelijk gerelateerd bleek aan de meegeleverde standaard nVidia driver.

Dat probleem was op zich niet zo groot, maar daarom niet minder hinderlijk. Bij het gebruik van (o.a.) het Human theme (ook Darkroom, Dust e.a.) werd soms de vensterrand helemaal wit en werden bij het verplaatsen van je muis de vensterknoppen onzichtbaar. Soortgelijke problemen deden zich ook voor bij OpenOffice.org en Thunderbird. Bij deze applicaties werden de vensterranden 100% onzichtbaar. Ze waren er nog, maar je zag ze niet.

Vanuit verschillende publicaties (Ubuntu Forums en Ubuntu Geek) werd al snel duidelijk dat het met de standaard nVidia (versie 177) had te maken. Met een kleine aarzeling heb ik besloten om ook de beta driver van nVidia te gebruiken. Het blijft altijd een beetje tricky om dit soort stappen te ondernemen. Maar het is succesvol verlopen. Natuurlijk waren standaard al een paar noodzakelijke pakketten geïnstalleerd. (linux-headers-generic, libx11-dev, build essential) anders gaat het sowieso niet werken.

Vervolgens heb ik de beta versie vanaf deze pagina opgehaald. Maak daar de juiste keuzes en kies dan voor de beta mogelijkheden in het laatste vak rechtsonder. Let op: deze beta versie is alleen geschikt vanaf een NVIDIA Geforce 6*** kaart. Gebruik je een oudere (b.v. Geforce 4) kaart dan heeft het volstrekt geen zin om deze procedure op te starten. Het moet uiteindelijk dus gaan om de 180.06 (of hogere) driver versie.

Eenmaal gedownload heb ik eerst de rechten op uitvoeren gezet (rechtermuisknop,eigenschappen, tabblad rechten en vinkje geplaatst bij “uitvoeren” achter “eigenaar”).

Vervolgens een CTRL-ALT-F1 gedaan. Inloggen met usernaam en wachtwoord. Vervolgens:

sudo /etc/init.d/gdm stop om je X-server te killen

Ga vervolgens naar de locatie waar je het gedownloade bestand hebt staan (bij mij dus een cd  Bureaublad) en tik daar aangekomen deze opdracht in:

sudo sh NVIDIA-Linux-x86_64-180.06-pkg2.run (of kies daar de 32 bits benaming als je die versie hebt gekozen).

Kies vervolgens voor de default waarden dus accepteer de licentie en laat de installer zijn werk doen. Zorg alleen voor de laatste vraag dat je de installer Xorg.conf laat herschrijven.

Als dat allemaal is gedaan en een en ander is succesvol bevestigd vanuit de installer doe je nog een:

sudo /etc/init.d/gdm start om weer terug te keren naar je grafische GNOME omgeving.

In mijn geval heb ik daarna de 177 driver gedeactiveerd (en dus verwijderd) uit (Systeem, beheer) Hardware drivers. En een reboot bevestigde daarna een geslaagde installatie.

Resultaat: Ten eerste is het probleem met die vensterrand opgelost. Dat is erg prettig moet ik zeggen. Ook lijkt het allemaal wat sneller te werken en wordt de beeldopbouw bij divx en xvid movies opvallend verbeterd. Voorheen zag ik nog wel eens een vreemde lijn door het scherm lopen. Die is nu verdwenen.

Mocht er een nieuwe driver vanuit Ubuntu worden aangeboden dan kan e.e.a. mogelijk problemen gaan opleveren. Aan de andere kant zou je dan gewoon weer vanuit (Systeem, Beheer) Hardware drivers die nieuwere versie moeten kunnen kiezen.  Vooralsnog ben ik tevreden over het resultaat en mocht het anders gaan verlopen dan laat ik het wel weer weten.