Portál AbcLinuxu, 8. května 2024 05:43
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.
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.
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
.
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
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
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é.
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.
fglrx
nahradí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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.