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

Linux.fista
Siirry navigaatioon Siirry hakuun
(Vielä vähän muista jakeluista.. niistä lienee syytä kirjoittaa lisää jonkun asiasta tietävän.)
p (artikkelin sisältöä päivitetty)
 
(143 välissä olevaa versiota 42 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 binääriajurien asentamista ei ole juurikaan automatisoitu Debian-organisaation toimesta.
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.  


== ATI ==
*[http://www.openchrome.org/trac/wiki/About Lisätietoja ajuritilanteesta]. {{Vanhentunut linkki}}


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ä.]
===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/


== NVIDIA ==
===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.


Nvidian ajureiden asentaminen debianiin käy melko helposti. Ensimmäiseksi on syytä tutkia, millä gcc-kääntäjän versiolla kernel on käännetty, sillä moduulit on järkevintä kääntää samalla gcc-versiolla. Vertaa seuraavia tulosteita:
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ä.
cat /proc/version
gcc --ver


Tarkista, mikä kernel-versio koneessa on:
3D- kiihdytyksen testaaminen komennolla
uname -r


Ota kolme pisteiden erottamaa lukua (vaikkapa 2.6.11-1-k7:sta 2.6.11) ja asenna kyseisen kernelin lähdekoodi:
  glxinfo | grep 'direct rendering'
  apt-get install kernel-source-2.6.11


Siirry /usr/src -hakemistoon, ja pura sinne ilmestynyt paketti:
Jos vastaus on <tt>yes</tt> niin kiihdytys on päällä.
tar -xjvf kernel-source-2.6.11.tar.bz2


Luo linkki syntyneestä kernel-source-2.6.11 -hakemistosta linux-hakemistoon:
3D- kortin tarkistaminen tapahtuu komennolla
ln -s kernel-source-2.6.11 linux


Seuraavaksi voit hakea ajuripaketin [http://www.nvidia.com/object/unix.html nvidian sivuilta]. Ajuripaketti asennetaan komentamalla
  glxinfo | grep renderer
  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. Jos asennusohjelma ilmaisee onnistuneensa tehtävässään, ei tarvitse muuta kuin vaihtaa X:n asetukset sopivaksi (/etc/X11/XFree86Config-4 tai /etx/X11/xorg.conf), eli rivi (kohdasta Section "Device")
Driver "nv"
muotoon
Driver "nvidia"


Helppoa kuin heinän teko!
Vastaus saattaa näyttää tämän tapaiselta.
OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2


= Muista jakeluista =
tai voit kokeilla [[glxgears]] -ohjelmaa, joka tarkistaa toimiiko kiihdytys oikein.


Useisiin valtavirran jakeluihin ([[RHEL]], [[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.
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==
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''.
 
==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]
 
== Katso myös==
*[[Suositeltavat rautaratkaisut]]
*[[X.orgin asetukset]]
*[[RandR]]
*[[OpenCL]]
*[[Bumblebee]]
 
===Binääriajureiden asennus==
*[[NVIDIAn binääriajureiden asentaminen]]
*[[AMDn/ATIn binääriajureiden asentaminen]]
*[[Intel binääriajureiden asentaminen]]
 
 
[[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]