ATI grafická karta vo FreeBSD
Dobrodružstvá vo svete ovládačov grafických kariet
Ako majiteľ
grafickej karty ATI som sa potešil, že tento, čo do ovládačov
pomerne zanedbávaný komponent UNIXovského sveta, sa konečne
dočkal podpory pre FreeBSD. Od verzie 10.0 sa objavil port KMS pre
ATI karty, čo znamená, že sa dočkám akcelerácie 2D či 3D
grafiky. Na BSDčku totižto platí, že grafické karty od NVIDIE sú
plne podporované a to už dosť dlho, no používať ATI kartu
znamenalo len samé problémy.
Najprv k (mojim)
očakávaniam: až doposiaľ som videl v RADEON/ATI ovládači akúsi
rozšírenú verziu VESA ovládača, a prakticky som sledoval len to,
aby sa mi vôbec podarilo prevádzkovať desktop vo full HD
rozlíšení. Ani pokusy s PC-BSD mi príliš nepomohli – počítač
občas zamŕzal a bol som celkom rád, keď sa mi podarilo spustiť
film. Takže, moje očakávania smerovali k tomu, že konečne
nebudem mať problém so stabilitou (čo však mohlo byť zapríčinené
aj inými faktormi), že video a napríklad aj posúvanie okien po
obrazovke pôjde bez akéhokoľvek trhania a snáď bude prítomná
aj nejaká základná podpora 3D, či dokonca „kompozovania“
okien.
Nainštaloval som
teda FreeBSD a nastavil hlavné balíky: Xorg, MATE desktop... Prvým
problémom totižto bolo, že nikde na webe sa nepíše, či je
podpora KMS už v binárnych balíkoch, alebo či ju treba oživiť
ručným skompilovaním, ako tomu bolo už RC verziách (nejakú
informáciu som predsa len objavil na nižšie spomínanej stránke).
Po spustení desktopu (s použitím štandardného RADEON, neskôr
aj ATI drivera) som však zistil, že akcelerácia sa nekoná, hoci
MATE desktop bez problémov spustil aj softvérové kompozovanie,
ktoré ku podivu bežalo pomerne plynulo. Preštudoval som teda
dostupné zdroje a na wiki stránke pre freeBSD
(https://wiki.freebsd.org/Graphics)
som objavil slušný popis, ktorý odporúčam prečítať každému,
koho táto téma zaujíma.
Je dôležité si
pozrieť, či je daná grafická karta vlastne podporovaná. Vzhľadom
na to, že používam ATI Radeon HD 5770, s potešením som zistil,
že by všetko malo byť v poriadku a stačí len skompilovať
niektoré súbory nanovo. Postup bol nasledovný:
1. Upraviť
/etc/make.conf tak, aby sa potrebné balíčky kompilovali aj s
podporou KMS:
WITH_NEW_XORG=yes
WITH_GALLIUM=yes
2. Vyupdatoval som
porty:
#
portsnap fetch
#
portsnap update
3.
Nainštaloval PORTMASTER
(značne uľahčí kompilovanie kódu z portov)
# pkg
install ports-mgmt/portmaster
4. Odstránil som
balíčky, ktoré musia byť prekompilované odznovu. (Pochopiteľne,
toto sa dá robiť len mimo desktopu, cez príkazový riadok)
# pkg
delete -f graphics/libGL graphics/dri
5.
Preinštalovanie a updatovanie potrebných
balíkov:
#
portmaster graphics/libdrm graphics/libGL graphics/dri
x11-servers/xorg-server
6. No a
vzhľadom na to, že som
už mal nainštalované aj Xorg ovládače, prekompiloval som aj tie:
#
portmaster xf86-
7. V
/etc/X11/xorg.conf som ešte zmenil starí ovládač za nový:
driver=“radeon“
som zmenil na driver=“ati“
(„radeon“ driver
sa neprekompiloval, ale „ati“ driver áno)
Po
tejto procedúre nasledoval
malý test. Spustil som desktop (# startx)
a hned som zistil, že niečo nie je v poriadku: myška a vlastne
celý desktop zamrzol a po niekoľkých ťuknutiach sa počítač
reštartoval. S určitým podozrením som opäť prebehol materiály
týkajúce sa KMS, ale nikde som sa nedočítal, že by bolo potrebné
robiť ešte niečo iné. Ale potrebný bol zjavne reštart. Po
reštarte nabehol desktop bez problémov a tak som sa pustil do
testovania. Najprv som vyskúšal nejaké 2D hry a rozdiel som si
okamžite všimol – napríklad Lincity-NG ide plynule bez sekania.
Na test 3D akcelerácie som vyskúšal strategickú hru 0ad, ktorá
mi prišla pomerne náročná na 3D grafiku a aj tentokrát bol
výsledok vynikajúci. Hra beží úplne nádherne.
Záver: chvíľu to
trvalo (ale nie zas tak dlhú chvíľu – skompilovať pár súborov
a ovládačov trvá podstatne kratšie než dať dokopy celý Xorg,
takže za pol hodinku bolo po všetkom), ale rozhodne to stojí za
to. Celé desktopové prostredie funguje teraz plynulo a fungujú aj
hry s 3D grafikou. Jediný problém na ktorý som zatiaľ natrafil sa
týka vypínania MATE prostredia, ktoré sa nevyplo korektne. Ako
dobré (aj keď nie ideálne) riešenie stačí použiť GDM
pri štarte systému a vypínanie je potom v poriadku.
Nazad na zoznam článkov
Nazad na hlavnú stránku |