ATI-AMD graafikatarkvara ja uusim Linuxi kernel

Allikas: Pingviini viki

Sissejuhatus

Alljärgnevalt tuleb juttu Ubuntu Linuxile uusima ATI-AMD graafikatarkvara paigaldamisest koos uusima toetatud kerneliga.

Uusima ATI-AMD graafikatarkvara hankimine

  1. ATI-AMD juhtprogrammide allalaadimise pealeht
  2. otselink 32-bit ja 64-bit Linuxi juhtprogrammi allalaadimisele
  3. otselink uusimale Linuxi beta versiooni juhtprogrammi allalaadimisele

Graafikakaardi tarkvara poolt toetatud Linuxi kerneli versiooni kindlakstegemine

Mitteametlik wiki ATI-AMD graafikakaardi tarkvarale - siin tuleb otsida nüüd üles see versioon, mida ATI-AMD oma kodulehel pakub.

Selleks on avalehel teade "Current Release: Catalyst 13.12 (history)" - versiooninumbril klõpsates saabki kohe õige info kätte. Lisaks kui klõpsata sõnal "history" siis näeb ka ajalugu ja saab vaadata vanemate versioonide infot. Muidugi see versiooninumber uueneb seal avalehel vastavalt sellele kuidas ATI-AMD laseb välja uusi versioone.

Alapealkirja "System requirements" all on kirjas näiteks: Linux kernel 2.6 or above (up to 3.11) No Support for 3.12 Use Beta Driver for 3.12 Core - siit saame teada, et kuni 3.11 versioonini on toetatud ja beta versioon toetab ka 3.12 seeria kerneleid. Tavaliselt see nii ongi, et uuemaid kerneli versioone toetab ATI-AMD graafikatarkvara beta versioon.

Beta versiooni kohta saab infot http://support.amd.com/en-us/kb-articles/Pages/Latest-LINUX-Beta-Driver.aspx

Seal allpool on ka kirjas pealkirja System requirements all: Linux kernel 2.6 or above (up to 3.13) - seega kuni 3.13 seeria kernelite tugi on beta versioonil hetkel.

Linuxi kerneli haldus

Ubuntu kernelid leiab siit - suurem versiooninumber tähendab uuemat kernelit, kui nimes on "rc" siis on see veel arenduses olev väljalaskekandidaat (rc - release candidate).

Lisaks pakutakse alates 3.13.2 versioonist vanematele masinatele ka lowlatency kernelit, lisainfot leiab:

Linuxi kerneli versioonide kohta leiab infot siit - https://www.kernel.org/

Üldiselt paarisnumbriga (nt 3.10.x, 3.12.x jne) on pikaajalise toega versioonid ja paaritud numbrid (nt 3.11.x, 3.13.x jne) arendusversioonid kuid seejuures stabiilsed. Samas teinekord just arendusversioon, mis on tegelikult ju ka stabiilne, paneb soovitud seadme tööle. Näiteks ATI-AMD mõnede graafikakaartide HDMI heli hakkas tööle alles 3.13.x seeria kernelitega.

Kui on kirjas [EOL] siis selle kerneli arendus on lõppenud: EOL - End of Life

Longterm on pikaajalise toega kernelid.

Vaatame kas on 32-bit või 64-bit

Graafiliselt Ubuntus kui on Unity:

  • vajuta Super-klahvi (Windowsi kasutajad teavad seda kui WIN-klahv)
  • kirjuta Üksikasjad (inglisekeelses süsteemis Details)
  • avanenud aknas esimene valik Ülevaade (inglisekeelses süsteemis Overview)
  • loe valiku Opsüsteemi liik väärtust (inglisekeelses süsteemis OS Type)

Kui Unity kasutusel ei ole (nt Gnome Classic) või ka siis kui on, leiab selle ka:

  • ava Süsteemi seaded (avaneb paremast ülanurgast hammasratta alt)
  • leia ikoon Üksikasjad (tavaliselt viimane ikoon) ja edasi on juba sama...

Lisainfot Ubuntu versiooni vaatamise kohta leiab siit.

Lisainfot klahvide kohta:

Avame terminali (kiirklahv CTRL+ALT+T):

$ uname -a
Linux arvuti 3.12.13-031213-generic #201402221735 SMP Sat Feb 22 22:36:21 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Kui näeme kirjeid x86_64 - siis on 64-bit, vastasel korral on näiteks i686 ehk siis see on 32-bit.

Terminalis on veel võimalusi:

$ file /sbin/init
/sbin/init: ELF 64-bit LSB shared object, x86-64, .....

siis veel:

$ uname -m
x86_64

või ka:

$ arch
x86_64

Lisainfot operatsioonisüsteemi bitilisuse kindlakstegemise kohta leiab siit.

32-bit kerneli allalaadimine

  • laadi alla järgmised failid:
    • linux-headers-x.xx.x-xxxxxx-generic_x.xx.x-xxxxxx.xxxxxxxxxxxx_i386.deb
    • linux-headers-x.xx.x-xxxxxx_x.xx.x-xxxxxx.xxxxxxxxxxxx_all.deb
    • linux-image-x.xx.x-xxxxxx-generic_x.xx.x-xxxxxx.xxxxxxxxxxxx_i386.deb

64-bit kerneli allalaadimine

  • laadi alla järgmised failid:
    • linux-headers-x.xx.x-xxxxxx-generic_x.xx.x-xxxxxx.xxxxxxxxxxxx_amd64.deb
    • linux-headers-x.xx.x-xxxxxx_x.xx.x-xxxxxx.xxxxxxxxxxxx_all.deb
    • linux-image-x.xx.x-xxxxxx-generic_x.xx.x-xxxxxx.xxxxxxxxxxxx_amd64.deb

Kerneli paigaldamine ja kasutamine

Allalaaditud failide kaustas käivita:

sudo dpkg -i *.deb && sudo update-grub && sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean

Peale paigaldamist tuleb arvuti taaskäivitada - siis valitakse automaatselt uusim paigaldatud kerneli versioon.

Kui soovitakse käivitada vanema kerneli pealt siis

  • arvuti alglaadimise ajal enne kui GRUB-i laadima hakatakse ehk siis BIOS-i kirjete ajal tuleb all hoida SHIFT-klahvi
  • valida valikust Previous Linux versions
  • sisenemiseks Enter
  • valida soovitud vanem kerneli versioon
  • valitud kerneliga arvuti käivitamiseks Enter

Vanemat kerneli versiooni võib vaja minna kui uuem versioon ei tööta või soovitakse uuem versioon eemaldada. Viimasel juhul tuleb esmalt arvuti vanema kerneli versiooni pealt käivitada ja siis saab uuema versiooni eemaldada. Eemaldada saab neid kerneli versioone, mille pealt arvuti ei tööta hetkel.

Vanemate kerneli versioonide eemaldamine

Enne ei tasu vanemaid versioone eemaldada kuni ollakse veendunud, et uuema versiooniga kõik töötab.

  • ava terminal ja vaata käsuga uname -r - mis kernel hetkel kasutusel on
$ uname -r
3.12.13-031213-generic
  • vaata ls -l /boot käsuga - mis numbriga versioonid arvutil üldse peal on
$ ls -l /boot
kokku 26704
-rw-r--r-- 1 root root  1137011 veebr 23 00:52 abi-3.12.13-031213-generic
-rw-r--r-- 1 root root   162329 veebr 23 00:52 config-3.12.13-031213-generic
drwxr-xr-x 3 root root     4096 veebr 25 05:15 extlinux
drwxr-xr-x 3 root root    12288 veebr 25 05:15 grub
-rw-r--r-- 1 root root 16345608 veebr 25 05:12 initrd.img-3.12.13-031213-generic
drwx------ 2 root root    16384 juuli 31  2012 lost+found
-rw-r--r-- 1 root root   176764 nov   27  2011 memtest86+.bin
-rw-r--r-- 1 root root   178944 nov   27  2011 memtest86+_multiboot.bin
-rw------- 1 root root  3479773 veebr 23 00:52 System.map-3.12.13-031213-generic
-rw------- 1 root root  5820224 veebr 23 00:52 vmlinuz-3.12.13-031213-generic

Siin on hetkel näha vaid 3.12.13 versiooni kerneli failid.

Kasutame vanemate versioonide kerneli failide eemaldamiseks graafilist programmi Synaptic

  • ava Synaptic
  • otsi linux-image (otsimise kiirklahv: CTRL+F)
  • märgi ära kõik varasemad versioonid, mida ei kasuta
  • CTRL-klahvi all hoides saab mitu valikut märkida
  • hiire paremklahvi alt vali Märgi täielikuks eemaldamiseks (kiirklahv: SHIFT+DELETE)
  • otsi linux-headers (otsimise kiirklahv: CTRL+F)
  • märgi ära kõik varasemad versioonid, mida ei kasuta
  • CTRL-klahvi all hoides saab mitu valikut märkida
  • hiire paremklahvi alt vali Märgi täielikuks eemaldamiseks (kiirklahv: SHIFT+DELETE)
  • vajuta Rakenda (kiirklahv: CTRL+P) ning ole nõus

Vanemad kernelid on nüüd eemaldatud ja iga kerneli versiooni eemaldamisega vabaneb umbes 260 MB või isegi rohkem kettaruumi.

Kui selle käigus tahetakse eemaldada ka näiteks sellised metapakid kui linux-image-generic, linux-headers-generic siis on see täiesti õige - kui rakendatakse uusimat kernelit siis neid enam vaja ei ole. Need pakid sõltuvad uusimast kernelist, mis antud Ubuntu versioonile on määratud kuid see ei ole üldjuhul uusim stabiilne kernel, mida saada on. Uusimaid kernelite versioone Linuxile näeb kerneli kodulehelt.

Seetõttu me seda ise käsitsi paigaldamegi, et saada uusimat stabiilset kernelit - see võib lisaks paremale graafikakaardi toele ka muud asjad tööle panna, mis seni ei töötanud või töötasid kehvasti. Siiski tasub ettevaatlik olla ja eelnevalt testida uusimat kernelit, et kas kõik töötab ikka nii nagu peab. Kui ei ole kindel siis võib 1-2 vanemat kerneli versiooni alles jätta ja vajadusel nende pealt arvuti käivitada.

ATI-AMD graafikatarkvara haldamine

Paigaldamine

Peale allalaadimist tuleb tekitada kasutatava Ubuntu versiooni jaoks .deb pakid. Õpetus selle kohta asub siin - http://wiki.cchtml.com/index.php/Ubuntu - valida sealt kasutusel oleva Ubuntu versioon.

Lühidalt tähendab see järgnevaid samme:

  • paigalda kerneli jaoks vajalik tarkvara
    sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4
  • 64-bit Linuxi puhul paigaldada veel ka lib32gcc1
  • tekita kasutatava Ubuntu versiooni jaoks sobiv ATI-AMD graafikatarkvara versioon .deb pakkidena ning paigalda see:
sudo sh amd-catalyst-13.12-linux-x86.x86_64.run --buildpkg Ubuntu/precise
sudo dpkg -i fglrx*.deb
sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean

Pakkide genereerimise käigus tekitatakse neli faili (versiooninumber ja bitilisus muidugi vastavalt kasutatava tarkvara versioonile):

  • fglrx_13.251-0ubuntu1_amd64.deb
  • fglrx-amdcccle_13.251-0ubuntu1_amd64.deb
  • fglrx-dev_13.251-0ubuntu1_amd64.deb
  • fglrx-installer_13.251-0ubuntu1_amd64.changes

Neist 2 esimest on vajalikud, kolmas fglrx-dev on arenduseks vajalik ega ole vajalik kasutamiseks paigaldada ning võib seetõttu üldse paigaldamata jätta - seetõttu võib selle enne sudo dpkg -i fglrx*.deb käivitamist ära tõsta mõnda teise kataloogi. Neljas fail (.changes) on tekstifail, mis räägib muudatustest ja sisaldab kontrollsummasid.

Ubuntu versiooni näeb terminalis:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

Graafiliselt näeb Ubuntu versiooni analoogselt tema bitilisuse testimisega -> ATI-AMD_graafikatarkvara_ja_uusim_Linuxi_kernel#Vaatame_kas_on_32-bit_v.C3.B5i_64-bit

Eemaldamine

Kui on vaja ATI-AMD graafikakaarditarkvara eemaldada siis terminalis kirjutada:

sudo apt-get -y purge fglrx*
sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean

Eemaldamisvajadus tekib ka siis kui selgub, et paigaldamise käigus ei suudetud vajalikke kerneli mooduleid tekitada. See on näha kohe tegelikult ATI-AMD graafikatarkvara käigus ja siis tuleks ATI-AMD graafikatarkvara koheselt ka eemaldada enne kui taaskäivitus tehakse - siis probleeme ei teki.

Probleemilahendus

Kui tekib probleeme, et ei saa graafilist liidest käima siis tasub käivitada GRUB-ist teine valik Rescue Mode ja ATI-AMD tarkvara eemaldada ning peale taaskäivitust (CTRL+ALT+DEL) peaks olema olukord taastunud. Ka võib abi saada kui vanem kernel käivitada ja uuem eemaldada.

Kui ollakse graafilises keskkonnas ja vaja kiirelt taaskäivitus teha siis võib vajutada:

  • CTRL+ALT+F1
  • CTRL+ALT+DEL

Kui vahepeal soovitakse tagasi graafilise keskkonda siis ALT+F7 abil saab.

Kui on süsteem kinni kiilunud siis saab abi SySRq klahvist:

  • ALT+SysRq+R
  • ~2 sekundit oodata (paus)
  • ALT+SysRq+E
  • ~2 sekundit oodata (paus)
  • ALT+SysRq+I
  • ~2 sekundit oodata (paus)
  • ALT+SysRq+S
  • ~2 sekundit oodata (paus)
  • ALT+SysRq+U
  • ~2 sekundit oodata (paus)
  • ALT+SysRq+B (O - sulgemine ehk siis Shut Down)

SysRq klahv on avaliselt PrintScreen klahvi all ja mõnikord ei pruugi olla klahvile peale kirjutatud.

Lisainfot GRUB-i või graafilise liidese probleemilahenduse kohta:

ATI-AMD graafikatarkvara testimine

Tavapäraselt on tuntud testimisvahendina käsk glxgears, mis leidub siis kui on paigaldatud pakk mesa-utils:

sudo apt-get update && sudo apt-get -y install mesa-utils && sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean

Kirjuta terminali glx ja vajuta 2x kiirelt TAB-i ning näed, mis võimalused on. Üldiselt pakutakse käske glxdemo glxgears glxheads glxinfo. Põhiline käsk on glxgears, mis paneb pöörlema hammasrattad ja näitab käsureal kaadrite arvu sekundis (FPS), mida ollakse suutelised joonistama.

Lisavõimalusi saab kui paigaldada ka pakk mesautils-extra analoogselt eelmisega. Tipi es2 ja vajuta 2x kiirelt TAB-i ning näed, mis võimalused on. Üldiselt pakutakse käske es2gears es2_info es2tri. Põhiline käsk on es2gears, mis paneb hammasrattad pöörlema analoogselt eelmisega.

Peale ATI-AMD graafikatarkvara paigaldamist tipi fgl ja vajuta 2x kiirelt TAB-i ning näed, mis võimalused on. Üldiselt pakutakse käske fgl_glxgears fglrxinfo ja põhiline käsk on fgl_glxgears, mis paneb pöörlema hammasrataste kuubi ehk siis igal kuubi tahul omakorda pöörlevad hammasrattad.

Kes soovib viimast oma graafikakaardist välja pigistada siis nende jaoks on Phoronix Test Suite. Täpsem info juba programmi kodulehel.