Portál AbcLinuxu, 8. května 2024 05:43

Instalace ovladačů ATI

15. 11. 2005 | Luboš Podrázský
Články - Instalace ovladačů ATI  

Jednoduchý popis instalace a základního nastavení linuxových ovladačů pro grafické karty ATI.

O instalaci ATI ovladačů toho bylo popsáno opravdu mnoho, ale tyto informace jsou hlavně pro linuxové nováčky dost roztříštěné, neúplné, nebo spoléhající na různé automatické a poloautomatické instalátory a balíčkovací systémy většinou závislé na konkrétních distribucích. Pokusil jsem se tedy sepsat postup "krok za krokem", podle kterého budeme ovladač instalovat sice "pěkně ručně", ale zato budeme mít přehled o celém průběhu instalace, a tudíž můžeme okamžitě reagovat a odstraňovat případné chyby.

Nastaveni kernelu

Pro správnou funkci ovladače musí být správně nastavené a zkompilované linuxové jádro. Jde hlavně o nastaveni AGPGART, DRM a TMPFS. Samotnou problematiku kompilace linuxového jádra zde probírat nebudu, zaměřím se pouze na věci související se zprovozněním ATI ovladačů.

Nejdříve se tedy podíváme, jak máme nastavené jádro. Je možné, že defaultni nastaveni od distributora bude vyhovující, takže kompilace jádra odpadne. Přesuneme se do adresáře se zdrojovými kódy jádra. Např.:

cd /usr/src/linux

a zkontrolujeme soubor .config:

grep -e DRM -e AGP -e TMPFS .config

A ve výpisu by měly být tyto řádky:

    CONFIG_AGP=y
    CONFIG_AGP_VIA=y  (zde záleží na konkrétním
                       chipsetu, já mam VIA)

Dále musí být vypnuta podpora pro DRM přímo v jádře:

# CONFIG_DRM is not set

A nakonec zapnuta podpora pro TMPFS:

CONFIG_TMPFS=y

Jestliže je nastaveni jádra špatné, musíme ho opravit a znova zkompilovat. Zajímat nás budou tyto položky:

File system -> Pseudo filesystem -> tmpfs
Device drivers -> Character devices -> /dev/agpgart (AGP Support) + použitý chipset
Device drivers -> Character devices ->Direct Rendering Manager

Dále je třeba přidat jeden řádek do souboru /etc/fstab:

tmpfs     /dev/shm      tmpfs      defaults    0   0

Po přidání tohoto řádku nezapomenout tento FS přimountovat:

mount /dev/shm

Tak, tím máme vše připraveno pro samotnou instalaci ovladače.

Instalace ovladače

Ovladač si stáhneme ze stránek ATI. K dispozici je balík pro x86 (32bit) i pro x86_64 (64bit), ve verzích pro X.Org server i pro 3 verze Xfree86. Nově je také možno stáhnout ATI instalátor, který v sobě obsahuje všechny zmíněné verze ovladačů (All-In-One) a grafické instalační rozhraní. Pro naše potřeby stáhneme jenom konkretní ovladač pro váš systém.

Přepneme se do adresáře s ovladačem a rozbalíme ho:

rpm2cpio fglrx_xxxxxxxxx.i386.rpm | cpio -id

Tím nám v adresáři s ovladačem vzniknou nové adresáře etc, lib, opt a usr obsahující soubory z rpm balíku. Pro naši potřebu stačí adresáře lib a usr. Tyto adresáře zkopírujeme do kořenového adresáře /.

cp -Rf lib/* /lib
cp -Rf usr/* /usr

Tím jsme připraveni na kompilaci samotného ovladače (modulu fglrx).

Přesuneme se do:

cd /lib/modules/fglrx/build_mod/

a spustíme:

sh make.sh

Zde si všímáme hlavně případných řádků s ERROR hláškou. Je-li vše v pořádku, můžeme se posunout o adresář výše a zkompilovaný modul fglrx nainstalovat.

cd ..
sh make_install.sh

V tomto kroku se instalační script pokouší nahrát zkompilovaný modul fglrx. Jestliže už máme nainstalované starší ATI ovladače a nemame v jádře povolenou volbu Module Unloading, zobrazí se pravděpodobně chyba, že modul nelze nahrát, protože už nahraný je (ten starší) a není povoleno automatické odstranění nahraných modulů. Po restartu by se mel nahrát už ten nový modul fglrx.

Jestliže opět proběhlo vše v pořádku, můžeme se vrhnout na úpravu konfiguračního souboru xorg.conf.

Úprava xorg.conf

Jestliže jsme už měli nainstalované starší ATI ovladače, xorg.conf máme pravděpodobně v pořádku, a tuto část můžeme přeskočit. V souboru /etc/X11/xorg.conf musíme změnit následující údaje.

V sekci Modules doplnit řádek pro nahrání modulu dri.

Section "Module"
    Load    "dri"
EndSection

Změnit používaný ovladač na fglrx. Po první instalaci vaší distribuce bude přednastaveno nejspíše vesa nebo radeon.

Section "Device"
    Driver  "fglrx"
EndSection

Nakonec zkontrolujeme práva k přístupu ke grafické akceleraci, aby si 3D mohl užívat nejenom root, ale hlavně uživatelé.

Section  "dri"
       Mode 0666
EndSection

Startujeme X

Jestliže máme vše hotovo, odhlásíme se z root účtu, přihlásíme jako běžný uživatel a spustíme gr. prostředí např. příkazem startx. Je-li vše v pořádku, naběhne WM. To ovšem ještě neznamená, že 3D akcelerace funguje. Otestovat funkčnost 3D můžeme spuštěním testovacího programu přímo od ATI:

fgl_glxgears

Ten zobrazí rotující otexturovanou krychli a v konzoli, odkud jsme test spustili, se vypisuje fps. Další kontrolu poskytne program

glxinfo

který vypíše množství informaci o celém gr. subsystému. Pro lepší orientaci v tomto výpisu můžeme zkombinovat glxinfo a grep:

glxinfo | grep direct

a výsledek musí být:

direct rendering: yes

Jestli se správně nahrál modul fglrx, nám prozradí lsmod:

lsmod | grep fglrx

Problémy?

V případě, že se grafické prostředí vůbec nespustí, nebo spustí, ale 3D akcelerace nefunguje, doporučuji prohlédnout si log:

cat /var/log/Xorg.0.log

Zajímat nás budou především řádky začínající na EE, opět si můžeme pomoci programem grep:

cat /var/log/Xorg.0.log | grep EE

ATI ovladače také obsahuji utilitu fglrxconfig, která se vás bude postupně ptát na otázky ohledně vaší grafické karty, monitoru a dalších informaci a nakonec vygeneruje soubor xorg.conf. Jestliže si dokážete xorg.conf upravovat sami ručně, není použití této utility nutné.

Odinstalace

Protože jsme ovladač neinstalovali pomocí žádného správce balíčků, ale všechno jsme kopírovali ručně, nemáme ani možnost ovladače obvyklým způsobem odinstalovat. Budeme to muset udělat opět ručně.

Adresář /lib/modules/fglrx můžeme klidně smazat celý, obsahuje pouze soubory potřebné pro kompilaci a instalaci ovladače.

Při kopírování adresáře ./usr došlo k přepsání souboru /usr/X11R6/lib/libGL.so.1.2. Ten je důležitý pro běh X serveru, proto ho musíme nahradit tím originálním souborem z hlavního balíčku nainstalovaného X serveru. Ostatní soubory se týkají pouze ovladače ATI, ty můžeme smazat bez nahrazování. O které soubory se konkrétně jedná, to nám řekne třeba příkaz find, který spustíme v adresáři, kde máme rozbalený ovladač.

cd /cesta/k/souborum/ovladace/

Pro výpis obsahu adresáře ./usr zadáme:

find | grep ./usr

Nakonec vrátíme také změny v souboru /etc/X11/xorg.conf. Tam musíme opět upravit řádek s určením ovladače. fglrxnahradíme za nový ovladač, který chceme použít.

Tento postup instalace a odinstalace rozhodne není správně systémový; vždy je lepší instalovat způsobem určeným přímo pro vaši distribuci. Ovšem v případě problémů by vám tento postup měl dát dostatek informací o chybách a pomoci s vyřešením problému.

Související články

Grafické karty nVIDIA
Na co se často ptáme 4: X Window System - I
Televizní karta s dálkovým ovládáním
Na co se často ptáme: MPlayer

Odkazy a zdroje

www.ati.com

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.