Ero sivun ”Näytönohjaimet” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (yleisesti)
p (artikkelin sisältöä päivitetty)
 
(107 välissä olevaa versiota 32 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Erityisesti näytönohjainten valmistajilla on tapana pakata ajurinsa valmiiksi binäärimälleiksi, jotka pitää ujuttaa kerneliin jollain tavalla. Nämä ajurit eivät siis ole avointa lähdekoodia, koska (valmistajien mukaan) ajureissa on koodia, jonka avaamiseen heillä ei ole valtuuksia. Tällä sivulla kerrotaan ATI:n ja NVIDIAn ajureiden asentamisesta.
Lähes kaikille näytönohjaimille on saatavilla ainakin jonkinlaiset [[vapaa ohjelmisto|vapaat]], [[jakelu]]iden mukana toimitettavat ajurit. Esimerkiksi raskaammassa [[pelit|pelikäytössä]] vaadittavaa korkeaa suorituskykyä tarjoavat tällä hetkellä [[AMD]]lta kuin myös [[Intel]]iltä [[ydin|Linux-ytimen]] mukana tulevat avoimet ajurit sekä [[NVIDIA]]:n  omat, [[Suljettu lähdekoodi|suljetut]] näytönohjainajurit, jotka osassa jakeluita tulevat oletuksena käytettäväksi. Tosin [[Vulkan]]-ajurit saattavat muuttaa tilannetta.


= Ubuntu =  
==Näytönohjainvaihtoehdot==
Ubuntussa näytönohjainten binääriajurit voi asentaa universe(???!!)-pakettivalikoimasta seuraavasti.
Näytönohjainten kiihdytinpiireistä suurin osa on joko [[NVIDIA]]:n, [[AMD]]:n tai [[Intel]]in valmistamia, joten näiden kanssa myös Linux-käyttäjät toimivat tavallisimmissa tilanteissa. Näiden lisäksi joissain emolevyissä on [[S3]]:n, [[SiS]] tai muiden valmistajien näytönohjainpiirejä.


== ATI ==
===AMD/ATI===
AMD on panostanut avoimiin ajureihin ja ne tulevat Linux-ytimen mukana automaattisesti, ne lähestulkoon kaikissa käyttötapauksissa ovat paremmat kuin omisteiset ja suljetut binääriajurit. Tosin etenkin uudempaa näytönohjainta käyttöönotettaessa on olennaista käyttää mahdollisimman uutta [[ydin|Linux-ydintä]] parhaan toiminnallisuuden kannalta.
Tuettuna on uudet kuin vanhemmatkin kortit.


Ensin asennetaan ajuripaketti
* Lisätietoa osoitteessa https://www.x.org/wiki/RadeonFeature/
sudo apt-get install fglrx-driver


Lisätään ajurimoduuli kernelimoduulien listaan
===Intel===
echo fglrx | sudo tee -a /etc/modules
[[Intel]] on julkaissut lähes kaikki näytönohjainajurinsa vapaan lisenssin alaisuudessa, joten Intelin näytönohjainten 3D-toiminnot toimivat useimmissa [[jakelu]]issa ilman erillisiä toimenpiteitä. Myös binääriajurit on julkaistu ja voivat tuoda joitain lisäominaisuuksia. Katso ohje [[Intel binääriajureiden asentaminen]].


Muokataan x-palvelimen asetustiedostoa (todennäköisesti /etc/X11/xorg.conf) siten, että rivi
===NVIDIA===
Driver "radeon"
[[NVIDIA]]n näytönohjaimille on olemassa [[Nouveau]]-nimellä tunnettu vapaan lähdekoodin ajuri. Nouveau on vuodesta 2009 alkaen NVIDIAn korttien oletusajurina. NVIDIAn näytönohjaimissa 8000-sarjasta alkaen on ollut VDPAU-tuki, joka mahdollistaa teräväpiirtovideon rautapurun. Tuen saa käyttöön NVIDIAn ajureilla.
muutetaan muotoon
Driver "fglrx"
Kyseinen rivi löytyy kohdasta Section "Device". Tämän jälkeen järjestelmä käynnistetään uudestaan (helpoin tapa, ilmankin selviää). Lisätietoa [https://wiki.ubuntu.com/BinaryDriverHowto Ubuntun wikissä.]


== NVIDIA ==
Kaikki NVIDIAn näytönohjainpiirit ovat NVIDIAn suljetun ajurin tukemia ainakin TNT2:sta alkaen. Uusimpien mallien tuki ajureihin on tullut joskus hieman viiveellä, mutta pääsääntöisesti kaikki NVIDIAn näytönohjaimet saa toimimaan. Näita ajureita suositellaan raskaassa pelikäytössä käytettäväksi. Katso ohje [[NVIDIAn binääriajureiden asentaminen]].


Nvidian ajureiden asentaminen on vielä helpompaa. Ensiksi asennetaan ajurit:
{{Huomautus|NVIDIA omisteiset (Proprietary) -ajurit tukevat vain [[X11]]:tä, eivät [[Wayland]]ia.}}
sudo apt-get install nvidia-glx


Ja sitten käsketään nvidia-glx-config laittamaan X-asetukset kuntoon:
*Katso myös [[Ubuntun ohjelmistolähteitä näytönohjain ajureille]]. Avoimet ja suljetut.
sudo nvidia-glx-config enable
*Katso myös [[Ubuntun ohjelmistolähteitä näytönohjain ajureille#NVIDIAn_testituloksia|NVIDIAn suljettujen ajureiden testituloksia]]


= Debian =
===S3===
Debianissa löytyy joitain binääriajureita paketoituna joko suoraan tai siten, että pelkkä asenninskripti on paketoitu. Debianin julkaisutahdin huomioon ottaen saatat haluta käyttää tuoreempia kuin Debian-paketoituja binääriajureita.
Monilla VIA:n valmistamilla emolevyillä on S3:n UniChrome- tai Chrome-näytönohjainpiirisarja. Valmistajan yhteistyöhaluttomuudesta johtuen niille ei ole saatavilla kunnollista Linux-ajuria. Tavallinen 2D-tila on yleensä mahdollinen käyttäen esimerkiksi <tt>openchrome</tt>- tai <tt>vesa</tt>-ajureita.  


Koska binääriajurit ovat luonteeltaan epävapaat, on Debianin asennusrompuilta turha sellaisia etsiä. Debianin ns. non-free- (itse ajurit) ja contrib-osiot (asenninskriptit) ovat paikka, josta tuollaisia löytyy, joten varmista, että /etc/apt/sources.list-tiedostossasi on seuraavanlainen rivi:
*[http://www.openchrome.org/trac/wiki/About Lisätietoja ajuritilanteesta]. {{Vanhentunut linkki}}
deb http://ftp.fi.debian.org/debian/ stable main '''contrib non-free'''
(Lihavoidut osat ovat ne tärkeät.)


== ATI ==
===3DFX===
3DFX:n Voodoo-näytönohjainperheelle on olemassa [[MIT-lisenssi]]llä julkaistu ajuri <tt>Glide3</tt>, joka on tarkoitettu Voodoo 3, 4 ja 5 -korteille. Vanhemmille korteille on olemassa ajuri <tt>Glide3-libG</tt>, joka on tarkoitettu Voodoo 1 ja 2 -korteille. https://dri.freedesktop.org/wiki/3dfx/


Ymmärrettävät step-by-step ohjeet ATI:n ajurien asentamiseksi Debianiin löytyvät [http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html täältä.]
===Valinta===
Jos on hankkimassa uutta tietokonetta tai vain näytönohjainta, kannattaa hetki miettiä, minkälaisia ominaisuuksia kortilta tarvitsee. Jos täytyy vain saada kuva näyttöön eikä kiihdytyksellä ole väliä, lähes mikä tahansa kortti on toimiva. Tällöin yleensä vanhat mallit toimivat paremmin.


== NVIDIA ==
Jos taas tarkoituksena on pystyä ajamaan raskaita 3D-sovelluksia, täytyy käyttää suljettuja binääriajureita. Nykyään AMD:n, Intelin ja Nvidian ajurituki on kunnossa, yhtä hyvät kuin Windowsissa, joten ajurien puolesta ei näytönohjainhankintaa tarvitse miettiä.


=== Vaihtoehto 1 ===
3D- kiihdytyksen testaaminen komennolla


Nvidian ajureiden asentaminen Debianiin käy melko helposti, sillä näille löytyy valmis paketti, jonka voi kääntää Debianin kätevällä ''make-kpkg''-työkalulla.
glxinfo | grep 'direct rendering'


Asenna ensin Nvidian epävapaat binääriajurit sekä oheistauhka:
Jos vastaus on <tt>yes</tt> niin kiihdytys on päällä.
apt-get install nvidia-kernel-source nvidia-glx


Ensimmäiseksi on syytä tutkia, millä gcc-kääntäjän versiolla ydin on käännetty, sillä moduulit on järkevintä kääntää samalla gcc-versiolla. Vertaa seuraavia tulosteita:
3D- kortin tarkistaminen tapahtuu komennolla
cat /proc/version
gcc --ver
Mikäli Gcc:n versiot eroavat, kannattaa asentaa sama Gcc:n versio, jolla ydin on käännetty.


Tarkista mikä versio Linux-ytimestä koneessa on:
  glxinfo | grep renderer
  uname -r


Ota kolme pisteiden erottamaa lukua (vaikkapa 2.6.11-1-k7:sta 2.6.11) ja asenna kyseisen ytimen lähdekoodi:
Vastaus saattaa näyttää tämän tapaiselta.
  apt-get install kernel-source-2.6.11
  OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2


Siirry /usr/src -hakemistoon, ja pura sinne ilmestyneet Nvidian ytimen moduuli sekä ytimen lähdekoodi:
tai voit kokeilla [[glxgears]] -ohjelmaa, joka tarkistaa toimiiko kiihdytys oikein.
tar -xzfv nvidia-kernel-source.tar.gz
tar -xjvf kernel-source-2.6.11.tar.bz2


OpenGL tiedot saat näkyviin komennolla
Sitten käännetään Nvidian ajurit:
cd /usr/src/linux-2.6.11
fakeroot make-kpkg modules_image
sudo -c "dpkg -i ../nvidia-kernel-2.6.11_*.deb"
Mikäli ''fakeroot''- tai ''make-kpkg''-komentoja ei löydy, ne löytyvät apt:lla paketeista ''fakeroot'' ja ''kernel-package''.


Vaihtoehtoisesti jos et halua Debian-paketoitua Nvidian ajuria:
  glxinfo | grep OpenGL
Luo linkki syntyneestä kernel-source-2.6.11 -hakemistosta linux-hakemistoon:
  ln -s kernel-source-2.6.11 linux
Hae ajuripaketti [http://www.nvidia.com/object/unix.html Nvidian sivuilta]. Ajuripaketti asennetaan komentamalla
sh NVIDIA-Linux-x86-1.0-7667-pkg1.run
riippuen tietysti paketin nimestä. Jos esivalmistelut on hoidettu huolella, asennusohjelma menee läpi ilman murheita, kääntäen sopivan ajurimoduulin ja ladaten sen kerneliin.


Vastaus saattaa näyttää tämän tapaiselta.


=== Vaihtoehto 2 ===
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 325.15
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.3.0 NVIDIA 325.15
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:


Asenna [[module-assistant]]
PCI-väylään liitetyistä laitteista saa tietoja [[lspci]]-komennolla. Eli voit avata komentorivin ja komentaa esimerkiksi näin:
apt-get install module-assistant


Module-assistantin avulla ajurien kääntö käy nopeasti [[ncurses|curses-käyttöliittymän]] tai komentorivin kautta. Jos haluat kääntää ajurit nvidian sivuilta haetusta paketista, kannattaa komentaa ensin seuraavasti.
lspci | grep VGA
module-assistant prepare nvidia-kernel
Joka siis hakee kaikki kernelimoduulin kääntöön vaaditut paketit (useimmiten kernelin headereita jne).


=== Lopuksi ===
Näytönohjaimen muistin määrän tarkistaminen.
gpu=(`lspci | grep VGA`) && sudo lspci -vvv -s $gpu


Lopuksi tarvitsee enää vaihtaa [[X.orgin asetukset|X:n asetukset]] sopivaksi (/etc/X11/XFree86Config-4 tai /etx/X11/xorg.conf), eli rivi (kohdasta Section "Device")
== HD-videoiden rautapurku==
Driver "nv"
Videot ovat olleet prosessorin varassa mutta nykyään jokaisesta uudesta näytönojaimesta löytyy tuki videon purkamiseen. Intel käyttää [https://01.org/linuxmedia/vaapi VA-API], mutta AMD ja Nvidia ''mesa-vdpau''.
muotoon
Driver "nvidia"


Helppoa kuin heinän teko!
==Aiheesta muualla==
* [[Phoronix Test Suite]] on näytönohjaimien testausohjelmisto.
* [http://en.wikipedia.org/wiki/Free_and_open-source_graphics_device_driver Free and open-source graphics device driver]


= Muista jakeluista =
== Katso myös==
*[[Suositeltavat rautaratkaisut]]
*[[X.orgin asetukset]]
*[[RandR]]
*[[OpenCL]]
*[[Bumblebee]]


Useisiin valtavirran jakeluihin ([[RHEL]], [[SuSE Linux|SUSE]], jne) löytyy valmis ajurimoduuli ajuripaketista tai valmistajan ftp-sivuilta, jonka ajurin asennusohjelma käy hakemassa ja asentaa. Tällaisessa tapauksessa kernelin lähdekoodin tilanteesta ja kääntöympäristöstä ei tarvitse pahemmin huolia.
===Binääriajureiden asennus==
*[[NVIDIAn binääriajureiden asentaminen]]
*[[AMDn/ATIn binääriajureiden asentaminen]]
*[[Intel binääriajureiden asentaminen]]


=NVidian ajurit yleisesti=
#Asennetaan kääntötyökalut (mm. gcc, automake)
#Asennetaan [[Ydin|ytimen]] headerit (vaikkapa linux-headers-2.6.15-1-k7 -paketti)
#Haetaan [http://www.nvidia.com/ nVidian sivuilta] ajuripaketti ja ajetaan se (esim. sh NVIDIA-Linux-x86-1.0-8756-pkg1.run)


[[Luokka:Ajurit]]
[[Luokka:Laitteisto]]
[[Luokka:Ohjeet]]
[[Luokka:X]]

Nykyinen versio 29. tammikuuta 2023 kello 09.00

Lähes kaikille näytönohjaimille on saatavilla ainakin jonkinlaiset vapaat, jakeluiden mukana toimitettavat ajurit. Esimerkiksi raskaammassa pelikäytössä vaadittavaa korkeaa suorituskykyä tarjoavat tällä hetkellä AMDlta kuin myös Inteliltä Linux-ytimen mukana tulevat avoimet ajurit sekä NVIDIA:n omat, suljetut näytönohjainajurit, jotka osassa jakeluita tulevat oletuksena käytettäväksi. Tosin Vulkan-ajurit saattavat muuttaa tilannetta.

Näytönohjainvaihtoehdot[muokkaa]

Näytönohjainten kiihdytinpiireistä suurin osa on joko NVIDIA:n, AMD:n tai Intelin valmistamia, joten näiden kanssa myös Linux-käyttäjät toimivat tavallisimmissa tilanteissa. Näiden lisäksi joissain emolevyissä on S3:n, SiS tai muiden valmistajien näytönohjainpiirejä.

AMD/ATI[muokkaa]

AMD on panostanut avoimiin ajureihin ja ne tulevat Linux-ytimen mukana automaattisesti, ne lähestulkoon kaikissa käyttötapauksissa ovat paremmat kuin omisteiset ja suljetut binääriajurit. Tosin etenkin uudempaa näytönohjainta käyttöönotettaessa on olennaista käyttää mahdollisimman uutta Linux-ydintä parhaan toiminnallisuuden kannalta. Tuettuna on uudet kuin vanhemmatkin kortit.

Intel[muokkaa]

Intel on julkaissut lähes kaikki näytönohjainajurinsa vapaan lisenssin alaisuudessa, joten Intelin näytönohjainten 3D-toiminnot toimivat useimmissa jakeluissa ilman erillisiä toimenpiteitä. Myös binääriajurit on julkaistu ja voivat tuoda joitain lisäominaisuuksia. Katso ohje Intel binääriajureiden asentaminen.

NVIDIA[muokkaa]

NVIDIAn näytönohjaimille on olemassa Nouveau-nimellä tunnettu vapaan lähdekoodin ajuri. Nouveau on vuodesta 2009 alkaen NVIDIAn korttien oletusajurina. NVIDIAn näytönohjaimissa 8000-sarjasta alkaen on ollut VDPAU-tuki, joka mahdollistaa teräväpiirtovideon rautapurun. Tuen saa käyttöön NVIDIAn ajureilla.

Kaikki NVIDIAn näytönohjainpiirit ovat NVIDIAn suljetun ajurin tukemia ainakin TNT2:sta alkaen. Uusimpien mallien tuki ajureihin on tullut joskus hieman viiveellä, mutta pääsääntöisesti kaikki NVIDIAn näytönohjaimet saa toimimaan. Näita ajureita suositellaan raskaassa pelikäytössä käytettäväksi. Katso ohje NVIDIAn binääriajureiden asentaminen.

Huomautus: NVIDIA omisteiset (Proprietary) -ajurit tukevat vain X11:tä, eivät Waylandia.


S3[muokkaa]

Monilla VIA:n valmistamilla emolevyillä on S3:n UniChrome- tai Chrome-näytönohjainpiirisarja. Valmistajan yhteistyöhaluttomuudesta johtuen niille ei ole saatavilla kunnollista Linux-ajuria. Tavallinen 2D-tila on yleensä mahdollinen käyttäen esimerkiksi openchrome- tai vesa-ajureita.

3DFX[muokkaa]

3DFX:n Voodoo-näytönohjainperheelle on olemassa MIT-lisenssillä julkaistu ajuri Glide3, joka on tarkoitettu Voodoo 3, 4 ja 5 -korteille. Vanhemmille korteille on olemassa ajuri Glide3-libG, joka on tarkoitettu Voodoo 1 ja 2 -korteille. https://dri.freedesktop.org/wiki/3dfx/

Valinta[muokkaa]

Jos on hankkimassa uutta tietokonetta tai vain näytönohjainta, kannattaa hetki miettiä, minkälaisia ominaisuuksia kortilta tarvitsee. Jos täytyy vain saada kuva näyttöön eikä kiihdytyksellä ole väliä, lähes mikä tahansa kortti on toimiva. Tällöin yleensä vanhat mallit toimivat paremmin.

Jos taas tarkoituksena on pystyä ajamaan raskaita 3D-sovelluksia, täytyy käyttää suljettuja binääriajureita. Nykyään AMD:n, Intelin ja Nvidian ajurituki on kunnossa, yhtä hyvät kuin Windowsissa, joten ajurien puolesta ei näytönohjainhankintaa tarvitse miettiä.

3D- kiihdytyksen testaaminen komennolla

glxinfo | grep 'direct rendering'

Jos vastaus on yes niin kiihdytys on päällä.

3D- kortin tarkistaminen tapahtuu komennolla

glxinfo | grep renderer

Vastaus saattaa näyttää tämän tapaiselta.

OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2

tai voit kokeilla glxgears -ohjelmaa, joka tarkistaa toimiiko kiihdytys oikein.

OpenGL tiedot saat näkyviin komennolla

glxinfo | grep OpenGL

Vastaus saattaa näyttää tämän tapaiselta.

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 325.15
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.3.0 NVIDIA 325.15
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

PCI-väylään liitetyistä laitteista saa tietoja lspci-komennolla. Eli voit avata komentorivin ja komentaa esimerkiksi näin:

lspci | grep VGA

Näytönohjaimen muistin määrän tarkistaminen.

gpu=(`lspci | grep VGA`) && sudo lspci -vvv -s $gpu

HD-videoiden rautapurku[muokkaa]

Videot ovat olleet prosessorin varassa mutta nykyään jokaisesta uudesta näytönojaimesta löytyy tuki videon purkamiseen. Intel käyttää VA-API, mutta AMD ja Nvidia mesa-vdpau.

Aiheesta muualla[muokkaa]

Katso myös[muokkaa]

=Binääriajureiden asennus[muokkaa]