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

Linux.fista
Siirry navigaatioon Siirry hakuun
p (artikkelin sisältöä päivitetty)
 
(124 välissä olevaa versiota 39 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.


:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
==Näytönohjainvaihtoehdot==
OWNED
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ä.


= Debian =
===AMD/ATI===
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.
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.  


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:
* Lisätietoa osoitteessa https://www.x.org/wiki/RadeonFeature/
deb http://ftp.fi.debian.org/debian/ stable main '''contrib non-free'''
(Lihavoidut osat ovat ne tärkeät.)


== ATI ==
===Intel===
[[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]].


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


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


=== Vaihtoehto 1 ===
{{Huomautus|NVIDIA omisteiset (Proprietary) -ajurit tukevat vain [[X11]]:tä, eivät [[Wayland]]ia.}}


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.
*Katso myös [[Ubuntun ohjelmistolähteitä näytönohjain ajureille]]. Avoimet ja suljetut.
*Katso myös [[Ubuntun ohjelmistolähteitä näytönohjain ajureille#NVIDIAn_testituloksia|NVIDIAn suljettujen ajureiden testituloksia]]


Asenna ensin Nvidian epävapaat binääriajurit sekä oheistauhka:
===S3===
apt-get install nvidia-kernel-source nvidia-glx
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.


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:
*[http://www.openchrome.org/trac/wiki/About Lisätietoja ajuritilanteesta]. {{Vanhentunut linkki}}
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:
===3DFX===
uname -r
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/


Ota kolme pisteiden erottamaa lukua (vaikkapa 2.6.11-1-k7:sta 2.6.11) ja asenna kyseisen ytimen lähdekoodi:
===Valinta===
apt-get install kernel-source-2.6.11
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.


Siirry /usr/src -hakemistoon, ja pura sinne ilmestyneet Nvidian ytimen moduuli sekä ytimen lähdekoodi:
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ä.
tar -xzfv nvidia-kernel-source.tar.gz
tar -xjvf kernel-source-2.6.11.tar.bz2


3D- kiihdytyksen testaaminen 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 'direct rendering'
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.


Jos vastaus on <tt>yes</tt> niin kiihdytys on päällä.


=== Vaihtoehto 2 ===
3D- kortin tarkistaminen tapahtuu komennolla


Asenna [[module-assistant]]
  glxinfo | grep renderer
  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.
Vastaus saattaa näyttää tämän tapaiselta.
  module-assistant prepare nvidia-kernel
  OpenGL renderer string: GeForce 9800 GT/PCIe/SSE2
Joka siis hakee kaikki kernelimoduulin kääntöön vaaditut paketit (useimmiten kernelin headereita jne).


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


Lopuksi tarvitsee enää vaihtaa X:n asetukset sopivaksi (/etc/X11/XFree86Config-4 tai /etx/X11/xorg.conf), eli rivi (kohdasta Section "Device")
OpenGL tiedot saat näkyviin komennolla
Driver "nv"
muotoon
Driver "nvidia"


Helppoa kuin heinän teko!
glxinfo | grep OpenGL


= Muista jakeluista =
Vastaus saattaa näyttää tämän tapaiselta.


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


[[Luokka:Ajurit]]
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]