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.

Enable Opengl/Opencl
To enable opengl and opencl.

Setting opengl will require your systems x11 to not be running.

Getting 2D to work on machines with 4Gb or more memory
If you are having troubles with the nVidia 2D acceleration it is likely that you are unable to set up a write-combining range with MTRR. To verify, check the contents of :

Every line should contain "write-back" or "write-combining". If you see a line with "uncachable" in it you will need to change a BIOS setting to fix this.

Reboot and enter the BIOS, then find the MTRR settings (probably under "CPU Settings"). Change the setting from "continuous" to "discrete" and boot back into Linux. You will now find out that there is no "uncachable" entry anymore and 2D acceleration now works without any glitches.

When I attempt to load the kernel module, I receive a "no such device"
This is usually caused by one of the following issues:

1. You don't have an nVidia card at all. Check lspci output to confirm that you have an nVidia graphics card installed and detected.

2. The currently installed version of x11-drivers/nvidia-drivers does not support your graphics card model. Check the README file in /usr/share/nvidia-drivers-*/ for a list of supported devices, or use the driver search at http://www.geforce.com/drivers. See the Which Version section above.

3. Another kernel driver has control of the hardware. Check lspci -k to see if another driver like "nouveau" is bound to the graphics card. If so, you will need to disable or blacklist this driver.

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:

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

Kernel module parameters
The nvidia kernel module accepts a number of parameters (options) which you can use 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 /etc/modprobe.d/nvidia.conf. Remember to run update-modules after modifying this file, and bear in mind that you will need to reload the nvidia module before the new settings take effect.

Edit /etc/modprobe.d/nvidia.conf in your favourite 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.