NVIDIA/nvidia-drivers/nl

nvidia is de commerciële grafische driver voor nVidia grafische kaarten. Een open-bron alternatief is nouveau

De nVidia drivers in Portage zijn door nVidia vrijgegeven en worden ten opzichte van een Linux kernel gecompileerd. Ze bevatten een binair stuk logica dat het merendeel van de ondersteuning biedt om met de grafische kaart te spreken. De drivers bevatten twee onderdelen: een kernel module en een X11 driver. Beide delen zitten in hetzelfde pakket. Door de methode die nVidia toepast om hun drivers te bundelen ga je enkele keuzes moeten maken alvorens je de drivers installeert.

De nvidia-drivers bevatten de laatste drivers van nVidia die alle kaarten ondersteunen, met daarin verschillende beschikbare versies afhankelijk van hoe oud je grafische kaart is. Het pakket maakt gebruik van een eclass om te detecteren welk soort kaart je aan het draaien bent zodat de correcte versie wordt geinstalleerd.

Driver Compatibiliteit
Het pakket ondersteunt een breed gamma aan beschikbare nVidia kaarten. Meerdere versies zijn beschikbaar voor installatie, afhankelijk van de kaart(en) die je hebt. Voor meer informatie, zie het [http://www.nvidia.com/object/IO_32667.html What's a legacy driver? (Engels)] document op de nVidia site om te weten te komen welke versie van nvidia-drivers je moet gebruiken.

Als je je kaart als een oude kaart hebt geidentificeerd dan kan het zijn dat je meer recente versies van zal moeten maskeren, bijvoorbeeld:

Herinner je eraan dat Gentoo niet de 71.86.xx versies aanbiedt. Als je een kaart hebt die deze drivers nodig heeft raden we je aan om de nouveau driver te gebruiken.

Kernel
Zoals hierboven vermeld, de nVidia kernel driver installeert en draait enkel op de kernel waarmee hij gebouwd is. Ze installeert als een kernel module, dus is het belangrijk dat je kernel het laden van kernel modules ondersteunt. Als je '''genkernel all' hebt gebruikt om de kernel te configureren, dan ben je al klaar. Zoniet, kijk dan zeker je kernel configuratie na zodat deze ondersteuning actief is:

Je moet tevens Memory Type Range Register in je kernel activeren:

Als je een AGP gebaseerde grafische kaart bezit, dan kan je optioneel agpgart ondersteuning aanzetten in de configuratie van de kernel; oftewel compileer je het dan in de kernel of maak je er een module van. Als je agpgart niet in de kernel compileert, dan zullen de drivers hun eigen agpgart implementatie gebruiken, genaamd NvAGP. Op sommige systemen zal je merken dat dit meer performant is dan de agpgart in de kernel; terwijl op andere systemen, het minder performant zal werken. Je zal dit voor jouw eigen systeem moeten evalueren om zelf de implementatie te kiezen die de beste performantie biedt voor jou. Als je niet zeker bent wat te doen, gebruik dan de implementatie in de kernel:

Een alternatieve framebuffer is uvesafb, dewelke gelijktijdig kan geïnstalleerd worden met de nvidia-drivers.

De nvidia-drivers ebuild ondekt uw kernel versie automatisch gebaseerd op de symbolische link. Wees er zeker van dat de symbolische link naar de juiste kernel broncode verwijst en dat de kernel correct is geconfigureerd. De "Configuring the Kernel" sectie van het Gentoo Handboek kan bekeken worden voor meer informatie over hoe de kernel geconfigureerd kan worden.

Eerst wijst u de juist kernel broncode aan met eselect. Stel dat je gentoo-sources-3.7.10 wil gebruiken, dan zou de lijst met kernels er uit moeten zien zoals:

In bovenstaande output zal u opmerken dat de linux-3.7.10-gentoo kernel is gemarkeed met een ster (*) om aan te tonen dat het om een kernel gaat waar de symbolische link naar verwijst.

Als de symbolische link niet naar de juiste broncode verwijst, zal u deze kunnen veranderen door de juiste nummer van uw gewennste kernel broncode te kiezen; zoals in het bovenstaande voorbeeld.

Drivers
Het is nu tijd om de drivers te installeren. U kan dit doen door eerst de X Server Configuratie te volgen en er op te letten dat u VIDEO_CARDS="nvidia" instelt in. Wanneer u de X server dan installeert, zal dit de juiste versie van nvidia-drivers installeren voor u.

Eens de installatie gedaan is voer je modprobe nvidia uit om de kernel module in het geheugen te laden. Als dit een upgrade is dien je eerst de module te verwijderen.

Om te vermijden dat je manueel de module moet laden bij het opstarten, wil je mogelijk deze automatisch laten laden elke keer je systeem opstart, wijzig dus en voeg er nvidia aan toe.

De X Server
Eens de juiste drivers zijn geïnstalleerd zal je de X Server dienen te configureren zodat deze de nvidia driver gebruikt in plaats van de standaard nv driver.

Gebruik eselect om X Server de nVidia GLX libraries te doen gebruiken:

Je grafische kaart testen
Om je nVidia kaart te testen, start X en voer glxinfo uit, welke deel uit maakt van het x11-apps/mesa-progs pakket. Het zou moeten weergeven dat direct rendering geactiveerd is:

Om de FPS te controleren, voer je glxgears uit.

Het inschakelen van nVidia ondersteuning
Sommige programma's, zoals mplayer en xine-lib, gebruiken een lokale USE flag genaamd xvmc dewelke XvMCNVIDIA ondersteuning aanzet, dit is handig wanneer je films van hoge resolutie wil bekijken. Voeg xvmc toe aan USE in of voeg het toe als een USE flag op media-video/mplayer en/of media-libs/xine-lib in.

GeForce 8 series en latere GPUs bieden VDPAU ondersteuning die de XvMCNVIDIA ondersteuning vervangt. Zie het VDPAU artikel om VDPAU ondersteuning aan te zetten.

Er zijn sommige programma's die de nvidia USE flag gebruiken, dus je wil dit mogelijk toevoegen aan.

Nadat deze wijzigingen zijn aangebracht voer je emerge -uD --newuse @world uit om de programma's te herbouwen die van deze USE flag veranderingen kunnen profiteren.

De NVidia Instellingen gebruiken
nVidia komt ook met een programma om de instellingen te veranderen. Dit programma staat je toe om je grafische kaart te controleren en de grafische instellingen te veranderen zonder de X server te herstarten. Het is beschikbaar in Portage als media-video/nvidia-settings. Zoals eerder vermeld, zal het automatisch worden geïnstalleerd als je de drivers installeert met de gtk USE flag in of in.

Opengl/Opencl inschakelen
Om opengl of opencl in te schakelen:

Om opengl in te kunnen schakelen zal x11 op dat moment niet moeten draaien op je systeem.

2D werkend krijgen op machines met 4Gb of meer geheugen
Als je problemen hebt met de nVidia 2D acceleratie dan is dat mogelijk omdat je geen schrijf-combinerend bereik (EN: write-combining range) met MTRR hebt opgezet. Om dit na te gaan, controleer je de inhoud van :

Elke lijn zou "write-back" of "write-combining" moeten bevatten. Als je een lijn ziet met "uncachable" dan zal je een instelling in je BIOS moeten veranderen om dit op te lossen.

Start opnieuw op en ga in de BIOS, vind dan de MTRR instellingen (mogelijk onder "CPU Settings"). Verander de instelling van "continuous" (continu) naar "discrete" (discreet) en start opnieuw op in Linux. Je zou nu moeten zien dat er geen "uncachable" meer te zien is en dat de 2D acceleratie nu werkt zonder enige problemen.

Wanneer ik een kernel module probeer te laden, krijg ik "no such device" (geen apparaat gevonden)
Dit wordt gewoonlijk veroorzaakt door een van de volgende problemen:

1. Je hebt helemaal geen nVidia grafische kaart. Controleer de lspci output om na te gaan of je wel degelijk een nVidia grafische kaart geïnstalleerd hebt en gedetecteerd wordt.

2. De huidig geïnstalleerde versie van x11-drivers/nvidia-drivers ondersteund jouw grafische kaart model niet. Controleer het bestand in  voor een lijst van ondersteunde apparaten, of gebruik het zoek formulier op http://www.geforce.com/drivers om te vinden of jouw apparaat ondersteund wordt. Zie de Driver Compatibiliteit sectie bovenaan.

3. Een andere kernel driver heeft controle over jouw hardware. Controleer lspci -k en kijk of een andere driver zoals bijvoorbeeld "nouveau" is gebonden aan de grafische kaart. Indien dit het geval is, zal je deze dienen uit te schakelen of op de zwarte lijst te zetten (Engels: blacklist).

Xorg says it can't find any screens
When you boot up your computer and end up with a black screen or a console prompt instead of your GUI; you can press Ctrl+Alt+F2 to bring up a console prompt if you don't already have one. Then you can run:

to see the output of Xorg. If one of the first errors is that Xorg can't find any screens, then follow these steps to resolve your issue.

It should be enough to run the following command before rebooting:

But if that doesn't work, run lspci and you'll find your video card starts off like this: 01:00.0 VGA compatible controller: make and model of videocard

Take the first bit, 01.00.0 and put it in your /etc/X11/xorg.conf with the BusID option:

Documentatie
Het nVidia driver pakket komt ook met een gedetailleerde documentatie. Deze documentatie is geinstalleerd in /usr/share/doc en kan worden bekeken met behulp van het volgende commando:

Kernel module parameters
De nvidia kernel module accepteert enkele parameters (opties) dewelke je kan gebruiken om de experimenteren met de werking van de driver. De meeste parameters zijn vermeld in de documentatie. Om parameters toe te voegen of te veranderen, wijzig je het bestand. Vergeet niet om update-modules uit te voeren na het wijzigen van dit bestand, en vergeet ook niet dat je de nvidia module zal moeten herladen voor dat deze nieuwe instellingen enig effect zullen hebben.

Wijzig met je favoriete tekst editor:

Update module information:

Unload the nvidia module...

...and load it once again:

Advanced X configuration
The GLX layer also has a plethora of options which can be configured. These control the configuration of TV out, dual displays, monitor frequency detection, etc. Again, all of the available options are detailed in the documentation.

If you wish to use any of these options, you need to list them in the relevant Device section of your X config file (usually /etc/X11/xorg.conf). For example, suppose I wanted to disable the splash logo:

Acknowledgements
We would like to thank the following authors and editors for their contributions to this guide: Sven Vermeulen, Joshua Saddler, M Curtis Napier and Chris Gianelloni.