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.

The package supports a range of available nVidia cards. Multiple versions are available for installation, depending on the card(s) that the system has. See the official nVidia documentation, What's a legacy driver?, to find out what version of should be used. A pretty decent way to find this out through an interactive form. Enter the graphics card that is used by the system (mind the Legacy option in the 'Product Type' field) and the form should end up with the best supported version.

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).

As mentioned above, the nVidia kernel driver installs and runs against the current kernel. It builds as a module, so the kernel must support the loading of kernel modules (see below).

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, then it is not possible to merely fix the "glue", because nobody knows how the glue is used by the proprietary part. Even after managing to patch things up to have things seem to work nicely, the user still risks that running nvidia.ko in the 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 absolutely necessary, then it is possible to use the epatch_user command with the nvidia-drivers ebuilds: this allows the user to patch nvidia-drivers to somehow fit in with the latest, unsupported kernel release. Do note that neither the nvidia-drivers maintainers nor Nvidia will support this situation. The hardware warranty will most likely be void, Gentoo's maintainers cannot begin to fix the issues since it's a proprietary driver that only Nvidia can properly debug, and the kernel maintainers (both Gentoo's and upstream) will certainly not support proprietary drivers, or indeed any "tainted" system that happens to run into trouble.

Required kernel options
If genkernel all was used to configure the kernel, then everything is all set. If not, double check the kernel configuration so that this support is enabled:

Also enable Memory Type Range Register in the kernel:

If the system has an AGP graphics card, then optionally enable agpgart support to the kernel, either compiled in or as a module. If the in-kernel agpgart module is not used, then the drivers will use its own agpgart implementation, called NvAGP. On certain systems, this performs better than the in-kernel agpgart, and on others, it performs worse. Evaluate either choice on the system to get the best performance. When uncertain what to do, use the in-kernel agpgart:

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
Now it's time to install the drivers. First follow the X Server Configuration HOWTO and set  in. During the installation of the X server, it will then install the right version of.

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.

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.

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.

Once the appropriate drivers are installed, configure the X server to use the nvidia driver instead of the default nv</tt> 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:

To test the nVidia card, fire up X and run glxinfo, which is part of the package. It should say that direct rendering is activated:

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.

Some tools, such as and, use a local USE flag called   which enables XvMCNVIDIA support, useful when watching high resolution movies. Add in  in the USE variable in  or add it as USE flag to   and/or   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.

nVidia also provides a settings tool. This tool allows the user to monitor and change graphical settings without restarting the X server and is available through Portage as. As mentioned earlier, it will be pulled in automatically when installing the drivers with the  USE flag set in  or 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.

Problemen Oplossen




Driver fails to initialize when MSI interrupts are enabled
The Linux NVIDIA driver uses Message Signaled Interrupts (MSI) by default. This provides compatibility and scalability benefits, mainly due to the avoidance of IRQ sharing. Some systems have been seen to have problems supporting MSI, while working fine with virtual wire interrupts. These problems manifest as an inability to start X with the NVIDIA driver, or CUDA initialization failures.

MSI interrupts can be disabled via the NVIDIA kernel module parameter. This can be set on the command line when loading the module, or more appropriately via the distribution's kernel module configuration files (such as those under ).

For instance:

2D werkend krijgen op machines met 4 GB 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 :

When nVidia 2D acceleration is giving problems, then it is likely that the system is unable to set up a write-combining range with MTRR. To verify, check the contents of :

Every line should contain write-back</tt> or write-combining</tt>. When a line shows up with uncachable</tt> in it then it is necessary to change a BIOS setting to fix this.

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:

This is usually caused by one of the following issues:

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.

Xorg says it can't find any screens
Section "Device" Identifier    "Device0" Driver        "nvidia" VendorName    "NVIDIA Corporation" BusID         "PCI:1:0:0" EndSection

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

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

But if that doesn't work, run lspci and notice that the video card starts off like this:

Take the first bit,  and put it in the  file with the   option:

Direct rendering is not enabled
If direct rendering does not work, it may be because the kernel has Direct Rendering Manager enabled, which conflicts with the driver. See the direct rendering status by following instructions in the section Testing the card.

First, disable Direct Rendering Manager in the kernel :

Next, rebuild since the driver may have built against the kernel DRM symbols. It should fix the problem.

Documentation
The nVidia driver package also comes with comprehensive documentation. This is installed into and can be viewed with the following command:

Kernel module parameters
The nvidia</tt> kernel module accepts a number of parameters (options) which can be used to tweak the behaviour of the driver. Most of these are mentioned in the documentation. To add or change the values of these parameters, edit the file. Remember to run update-modules after modifying this file, and bear in mind to reload the  module before the new settings take effect.

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.

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.

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.