Gentoon Linuxin nVidia-opas
1.
Johdanto
NVidian ajurit rakennetaan tiettyä ydintä varten. Niissä on binääriosio, joka
tekee raskaan työn ja näyttökortin kanssa kommunikoinnin. Ajurit koostuvat
kahdesta osasta, ytimen moduulista ja X11-ajurista. Molemmat ovat samassa
paketissa. Johtuen tavasta jolla ajurit on pakattu, joitain valintoja pitää
tehdä ennen asennusta.
Nvidia-drivers sisältää ajurit kaikille korteille eri versioissa
käytettävän laitteen iän mukaan. Käytössä on eclass-mekanismi, joka pyrkii
tunnistamaan laitteen ja asentaa sopivan version.
2.
Ajurien sopivuus
Nvidia-drivers
Nvidia-drivers Tukee kaikkia nVidian näytönajureita. Saatavilla on
eri versioita, joista asennetaan laitteeseen sopiva.
Uudemmat laitteet, kuten GeForcen 400-, 300-, 200-, 100-, 9-, 8-, 7-, ja
6-sarjojen edustajat toimivat uusimmilla versioilla
FX 5 -sarjan edustajat käyttävät versioita
173.xx eli vaikkapa nvidia-drivers-173.14.15. Näiden kanssa pitää
peittää >=x11-drivers/nvidia-drivers-174.00 tiedostossa
/etc/portage/package.mask. Näin uudemmat toimimattomat
ajurit eivät asennu.
GeForcen 3- ja 4-sarjalaiset käyttävät ajuriversioita 96.xx.
Näitä varten peitetään >=x11-drivers/nvidia-drivers-97.00 tiedostossa
/etc/portage/package.mask, jotteivät uudemmat ajurit asennu.
NV2x-piiriä käyttävät laitteet, kuten TNT, TNT2, GeForce ja GeForce2 vaativat
eivät toimi nvidian ajureilla, vaan vain xf86-video-nouveaulla
(suositeltavampi) tai xf86-video-nv (vanhempi).
Ajuriyhteensopivuudesta x86- ja x86-64-alustoilla on
lisätietoja nvidian
ajurijulkaisutiedotteessa.
3.
Korttien säätäminen
Ytimen asetukset
Nvidian ajurit käyttävät nykyistä ydintä. Ajurit asentuvat moduuliksi, joten
ytimeen pitää asentaa moduulituki. Jos ydin on tehty komennolla
genkernel all, kaiken pitäisi olla kunnossa. Muutoin pitää
tarkistaa, että moduulit ovat käytössä:
Koodilistaus 3.1: Moduulituen lisäys |
Loadable module support --->
[*] Enable loadable module support
|
Myös Memory Type Range Register pitää olla päällä:
Koodilistaus 3.2: MTRR:n käyttö |
Processor and Features --->
[*] MTRR (Memory Type Range Register) support
|
Jos käyhtössä on AGP-kortti, voi käyttää agpgart-tukea ytimestä, joko
käännettynä tai moduulina. Jollet käytä ytimen agpgartia, ajureissa on
oma NvAGP-toteutus. Jotkin järjestelmät toimivat paremmin
ytimen agpgartilla, jotkin nVidian. Tämä kannattaa testata itse. Jollet
osaa päättää, käytä ytimen agpgartia:
Koodilistaus 3.3: Agpgartin käyttö |
Device Drivers --->
Graphics Support --->
<*> /dev/agpgart (AGP Support)
|
Huomaa:
AMD64:llä IOMMU määrää agpgartin.
|
Arkkitehtuurikohtaiset
Tärkeää:
X86- ja AMd64-suorittimille saatava ytimen ajuri ei toimi yhdessä nVidian
binääriajurin kanssa. Näissä tapauksissa nVidia-tuet ytimestä pitää poistaa
seuraavasti:
|
Koodilistaus 3.4: Ydin-ajurien poistaminen |
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
< > nVidia Framebuffer Support
< > nVidia Riva support
|
Vaihtoehtona on uvesafb. Huomaa,
että sen voi kääntää joko ytimeen tai moduuliksi. Seuraava esimerkki kääntää
uvesafb:n ytimeen.
Koodilistaus 3.5: Uvesafb-tuen käyttö |
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
<*> Userspace VESA VGA graphics support
|
Tai perus-VESA:
Koodilistaus 3.6: Enable VESA support |
Device Drivers --->
Graphics Support --->
<*> Support for frame buffer devices --->
[*] VESA VGA graphics support
|
Lisätietoja löytää ohjeista hakemistossa
/usr/src/linux/Documentation/fb/.
Ydinasetusten jatkaminen
Nvidia-drivers tunnistaa ytimen hakemistosta /usr/src/linux.
Varmista,
että se osoittaa oikeisiin lähteisiin ja ydinasetukset on tehty. Katso
lisätietoja kappaleesta ydinasetusten teko
asennuskäsikirjassa.
Aluksi asennetaan eselect, jollei sitä jo ole.
Jos vaikkapa käytössä on gentoo-sources-2.6.34-r1, se näkyy
seuraavasti:
Koodilistaus 3.7: /usr/src/linux-linkki |
# eselect kernel list
Available kernel symlink targets:
[1] linux-2.6.18-gentoo-r4
[2] linux-2.6.20-gentoo-r7
[3] linux-2.6.34-gentoo-r1 *
|
Ylläolevasta näkee, että asteriski osoittaa ytimeen
linux-2.6.34-gentoo-r1.
Jos symlinkki on pielessä se pitää korjata valitsemalla oikea numero:
Koodilistaus 3.8: /usr/src/linuxin luonti tai korjaus |
# eselect kernel set 1
|
Sopivien ajurien asennus
Seuraavaksi asennetaan ajureita. Tämä onnistuu seuraamalla ohjetta
X-palvelinen asetukset ja
asettamalla VIDEO_CARDS="nvidia" tiedostossa
/etc/portage/make.conf. X:n asennuksen pitäisi asentaa oikea
ajuri automaattisesti.
Huomaa:
Ajurit sisältävät gtk-USE-asetuksen. Tällä voi asentaa
media-video/nvidia-settingsin, joka on kätevä asetus- ja
valvontatyökalu.
|
Tärkeää:
Joka kerta kun ydin päivitetään
tai vanhaa uudelleenkäännetään pitää ajaa emerge
nvidia-drivers nVidia-ajurien uudelleenasentamiseksi. Helpommin tämä
onnistuu käyttämällä sys-kernel/module-rebuildia, joka luo listan
käännettävistä ajureista komennolla module-rebuild populate. Tämän
jälkeen pelkkä module-rebuild rebuild riittää uuden ytimen käännön
yhteydessä.
|
Kun asennus on valmis, modprobe nvidia lataa ajurin muistiin. Jos
kyseessä on päivitys, pitää vanha poistaa ensin.
Koodilistaus 3.9: Ydinmoduulin lataus muistiin |
# lsmod | grep nvidia && rmmod nvidia
# modprobe nvidia
|
Jotta moduulia ei tarvitsisi joka käynnistyksessä ladata, kannattanee lisätä
tiedostoon /etc/conf.d/modules rivi nvidia.
Tärkeää:
Jos agpgart on moduuli, pitää se lisätä tiedostoon
/etc/conf.d/modules.
|
X:n asetukset
Kun ajurit on asennettu, pitää säätää X:n asetuksiin nvidia ajuriksi
oletusarvoisen nv:n sijaan.
Avaa /etc/X11/xorg.conf suosikkimuokkaimellasi (kuten
nanolla tai vimillä) ja muokkaa Device-osion
Driver-asetusta:
Koodilistaus 3.10: Ajurin asettaminen nvidiaksi xorg.confissa |
Section "Device"
Identifier "nVidia Inc. GeForce2"
Driver "nvidia"
VideoRam 65536
EndSection
|
Seuraavaksi siirry Module-osioon ja varmista että glx ladataan
mutta dri ei:
Koodilistaus 3.11: Module-osion päivittäminen |
Section "Module"
# Load "dri"
Load "glx"
EndSection
|
Osiossa Screen varmista, että DefaultDepth on 16 tai 24, tahi
että kaikissa Display-osioissa Depth on 16 tai 24.
Muutoin nVidian GLX ei toimi.
Koodilistaus 3.12: Screen-osion päivittely |
Section "Screen"
DefaultDepth 16
Subsection "Display"
EndSection
|
Suorita eselect, jotta X tajuaa käyttää oikeita kirjastoja:
Koodilistaus 3.13: Eselectin ajo |
# eselect opengl set nvidia
|
Käyttäjien lisäys video-ryhmään
Käyttäjät pitää lisätä video-ryhmään, jotta heillä olisi pääsy
nvidia-laitteisiin:
Koodilistaus 3.14: Käyttäjän lisäys video-ryhmään |
# gpasswd -a käyttäjä video
|
Tämä ei ole täysin välttämätöntä jollei käytössä ole udev, mutteipä
haittaakaan ja varmistaa tulevien päivitysten sujuvuuden.
Kortin testaus
NVidian testaukseen voi käynnistää X:n ja suorittaa glxinfo, joka löytyy
paketista mesa-progs. Tulosteeksi pitäisi tulla suunnilleen:
Koodilistaus 3.15: Direct renderingin tarkastelu |
$ glxinfo | grep direct
direct rendering: Yes
|
FPS:istä viitettä antaa glxgears.
NVidia-tuen käyttö
Jotkin ohjelmat, kuten mplayer ja xine-lib, käyttävä USE-asetusta
xvmc, joka vaikuttaa XvMCNVIDIA-tukeen, jota tarvitaan
korkearesoluutioisissa videoissa. Lisää xvmc
/etc/portage/make.confin USEen tai pakettikohtaisesti
media-video/mplayerille ja media-libs/xine-libille
/etc/portage/package.use.
Jotkin ohjelmat saattavat myös tukea nvidia-USE-asetusta, joten sekin
kannattanee lisätä tiedostoon /etc/portage/make.conf.
Seuraavaksi suoritetaan emerge -uD --newuse world, jotta ne ohjelmat,
joihin uudet USE-asetukset vaikuttavat asentuvat uudestaan.
NVidia Settings Tool
NVidialla on myös nvidia-settings-työkalu asetusten tekoon. Sillä voi muuttaa
grafiikka-asetuksia käynnistämättä X:ää uudestaan ja tarkastella laitteiden
tilaa. Se löytyy Portage-puusta nimeltä media-video/nvidia-settings. Se
myös asentuu ajurien mukana, jos USE-asetus gtk on asetettu tiedostoon
/etc/portage/make.conf tai /etc/portage/package.use.
4.
Ongelmatilanteet
2D ei toimi, jos muistia on yli 4 gigaa
Jos nVidian 2D-tuki ei toimi, voi olla, että MTRR:n write-combining range
-asetus ei toimi. Sen näkee tiedostosta /proc/mtrr:
Koodilistaus 4.1: Write-combining asetuksen katselu |
# cat /proc/mtrr
|
Joka rivillä pitäisi olla write-back tai write-combining. Jos siellä on
uncachable, pitää BIOS-asetuksia muuttaa.
Käynnistä kone uudelleen ja mene BIOSin asetuksiin. Sieltä MTRR löytynee
suunnilleen CPU-asetusten suunnalta. Asetuksen pitää olla discrete eikä
continuous, jotta 2D toimii ongelmitta.
Moduullin lataus tuottaa tekstin "no such device"
Yleensä virhe johtuu siitä, ettei näyttökorttia ole. Kannattaa siis varmistaa,
että käytössä on nVidia-pohjainen laite (lspci auttaa).
Jos kyseessä on nVidia, BIOSista saattaa pitää muuttaa asetus Assign IRQ to
VGA päälle.
5.
Erikoisasetukset
Ohjeita
NVidian ajureissa on ohjeet mukana. Ne löytyvät hakemistosta
/usr/share/doc ja ne voi avata seuraavasti:
Koodilistaus 5.1: NVidian ohjeiden lukeminen |
$ less /usr/share/doc/nvidia-drivers-*/README.gz
|
Ydinmoduulin asetukset
Nvidia-moduulissa on joitain muokattavia asetuksia. Useimmat löytyvät
ohjeista. Niitä lisätään tai poistetaan tiedostossa
/etc/modprobe.d/nvidia.conf. Muista suorittaa update-modules
tiedoston muokkaamisen jälkeen. Uudet aseutkset eivät vaikuta ennen kuin
nvidia-moduuli on ladattu uudelleen.
Koodilistaus 5.2: NVidian asetusten muokkaus |
# nano -w /etc/modprobe.d/nvidia.conf
# update-modules
# modprobe -r nvidia
# modprobe nvidia
|
X:n lisäasetuksia
GLX-rajapinnallakin on paljon erikoisasetuksia. Niillä muokataan TV outtia,
kahden näytön asetuksia, virkistystaajuusasetuksia jne. Kaikki asetukset
löytyvät ohjeista.
Asetukset kirjoitetaan Device-osioon X:n asetustiedostoa
(yleensä /etc/X11/xorg.conf). Esimerkiksi jos poistetaan käynnistyskuva:
Koodilistaus 5.3: NVidian asetuksia X:n asetustiedostossa |
Section "Device"
Identifier "nVidia Inc. GeForce2"
Driver "nvidia"
Option "NoLogo" "true"
VideoRam 65536
EndSection
|
Tämän sivun sisältö ja suomennos kuuluvat
Creative Commons - Nimi mainittava-Sama lisenssi 2.5 -lisenssin alle.
Sivun sisältöä koskee myös
Gentoo Name and
Logo Usage Guidelines.
|