NVIDIA/nvidia-drivers/nl

x11-drivers/nvidia-drivers 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. Een vrij nette manier om dit te ontdekken is door het interactieve formulier dat hier aangeboden is te gebruiken. Typ de grafische kaart in die je hebt (let wel op de Legacy optie in het 'Product type' veld) en je zal uiteindelijk de best ondersteunde versie onder het formulier zien.

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 (zie onderstaand).

De kernel module (nvidia.ko) bevat een particulier deel (ook wel bekend als de "binaire blob") dewelke jouw grafische kaart(en) bestuurt, en een open source deel die tijdens uitvoering de kernel en het particulier deel aan elkaar plakt ("glue"). Deze moeten goed samen te werken om te vermijden dat je data zou kunnen verliezen (door kernel paniek, X servers die vastlopen met niet opgeslagen data in X applicaties) en zelfs hardware problemen (zoals bijvoorbeeld verhitting of andere stroom beheer gerelateerde problemen).

Kernel compatibility
From time to time, a new kernel release changes the internal ABI for drivers, which means all drivers that use those ABIs must be changed accordingly. For open source drivers, especially those distributed with the kernel, these changes are nearly trivial to fix since the entire chain of calls between drivers and other parts of the kernel can be reviewed quite easily. For proprietary drivers like nvidia.ko, it doesn't work quite the same. When the internal ABIs change, you cannot merely fix the "glue", because you cannot know how the glue is used by the proprietary part. If you do manage to patch things up and things seem to work nicely, you still risk that running nvidia.ko in your new, unsupported kernel will lead to data loss and hardware failure.

When a new, incompatible kernel version is released, it is probably best to stick with the newest supported kernel for a while. Nvidia usually takes a few weeks to prepare a new proprietary release they think is fit for general use. Just be patient. If you want to throw all caution to the wind, the nvidia-drivers ebuilds do support the epatch_user command from eutils.eclass: this allows you to patch nvidia-drivers to somehow fit in with the latest, unsupported kernel release you want to run. Do note that neither the nvidia-drivers maintainers nor Nvidia will support you when you run into trouble. Your hardware warranty will most likely be void, Gentoo's maintainers cannot begin to fix your issues since it's a proprietary driver that only Nvidia can properly debug, and the kernel maintainers (both Gentoo's and its upstream) will certainly not support proprietary drivers, or indeed any "tainted" system that happens to run into trouble.

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: {{File|/etc/X11/xorg.conf||
 * 1) this is not the whole file, only the part that needs edited
 * 2) the file should already exist after running nvidia-xconfig

Section "Device" Identifier    "Device0" Driver        "nvidia" VendorName    "NVIDIA Corporation" BusID         "PCI:1:0:0" EndSection

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:

Vernieuw de module informatie:

Ontlaad de nvidia module...

... en laad het terug opnieuw in:

Geavanceerde X configuratie
De GLX laag heeft ook een heleboel opties die geconfigureerd kunnen worden. Deze bepalen de configuratie van de TV uitgang, meerdere schermen, detectie van de frequentie van de monitor, en zo voort... Deze beschikbare opties zijn ook gedetailleerd vermeld in de documentatie.

Als je wens een van deze opties te gebruiken, zal je deze in de relevante Device sectie van het X configuratie bestand dienen te vermelden (gewoonlijk ). Bijvoorbeeld, stel dat ik het introductie logo wil uitzetten:

Bedankt
We zouden graag de volgende auteurs en redacteurs willen bedanken voor hun contributies aan deze handleiding: Sven Vermeulen, Joshua Saddler, M Curtis Napier en Chris Gianelloni.

Zie ook

 * Het wisselen tussen nouveau & nvidia-drivers (Engels)