Gentoo 2006.0, przyspieszenie sprzętowe dla kart ATI

Przyspieszenie sprzętowe w trybie 3D dla kart ATI wyposażonych w nowsze chipsety R300 i R400 (Radeon 9500-9800, Mobility, X i inne) oferują w tej chwili tylko sterowniki przygotowane przez samo ATI - w Gentoo po prostu ati-drivers. Inne sterowniki (o otwartym kodzie źródłowym) zapewniają jedynie przyspieszenie w trybie 2D.

W sieci znajduje się dużo poradników i wątków dotyczących obsługi nowszych kart ATI pod Gentoo, ale wiele z nich jest albo nieaktualnych, albo przesadnie zawiłych lub w ogóle nie przynosi rezultatów. Metoda zaprezentowana w Gentoo ATI Radeon FAQ wydaje się sprawdzać najlepiej. Oto instrukcja opierająca się na FAQ, zawierająca niewielkie, ale istotne, uzupełnienie.

Kompilacja kernela (2.6)

O ile nie poszliście na łatwiznę i nie przekopiowaliście kernela z płyty instalacyjnej macie już źródła. W przeciwnym wypadku konieczne będzie ich pobranie

emerge gentoo-sources

Pora na konfigurację kernela

cd /usr/src/linux make menuconfig

Opcje wymagane do prawidłowej instalacji sterowników:

  • Loadable module support
    • Enable loadable module support » włączone (symbol gwiazdki)
    • Module unloading » włączone
    • Automatic kernel module loading » włączone
  • dla kart PCI Express
    • Bus options (PCI, PCMCIA, EISA, MCA, ISA) » PCI Express support » włączone
  • File systems » Pseudo filesystems » Virtual memory file system support » włączone
  • Processor type and features » MTRR (Memory Type Range Register) support » włączone
  • Device drivers » Character Devices
    • /dev/agpgart (AGP Support) » jako moduł (symbol M)
      • chipset odpowiedni dla płyty głównej (nVidia, VIA itp.) » jako moduł
    • Direct Rendering Manager » wyłączony (włączenie spowoduje niezaładowanie sterownika)

Ważne by nie wkompilowywać wsparcia AGP w jądro, a skompilować je jako moduł. Po skonfigurowaniu:

make && make install_modules

Instalacja kernela:

cp arch/i386/boot/bzImage /boot/[nazwa_kernela]

Nowy kernel trzeba oczywiście dodać w pliku /boot/grub/grub.conf.

Instalacja sterowników

Jeśli mamy zamiar zainstalować sterowniki stabilne (teoretycznie):

emerge ati-drivers

W przeciwnym wypadku:

ACCEPT_KEYWORDS="~x86" emerge ati-drivers

Teraz należy skonfigurować serwer X-ów. Można użyć zalecanego przez ATI narzędzia aticonfig, które powinno automatycznie wygenerować plik xorg.conf (wcześniej trzeba wydać polecenie env-update && source /etc/profile), albo wyedytować go samemu:

nano -w /etc/X11/xorg.conf

Przykładowa zawartość pliku, cześć dotycząca karty graficznej:

Section "Device" Identifier "Card0" Driver "fglrx" BusID "PCI:1:0:0" Option "no_accel" "no" Option "no_dri" "no" Option "AGPMode" "4" Option "EnablePageFlip" "True" EndSection

Szczególnie ważna jest zmiana nazwy sterownika na fglrx.

Przełączanie na biblioteki dostarczane przez ATI:

eselect opengl set ati

Ładowanie modułów i końcowe kroki

By odpowiednie moduły uruchomiły się przy kolejnym starcie Gentoo, dopisać je należy do pliku /etc/modules.autoload.d/kernel-2.6:

nano -w /etc/modules.autoload.d/kernel-2.6

W pliku umieszczamy (koniecznie w podanej kolejności):

agpgart via_agp # lub inny moduł - zależnie od tego, który został ustawiony przy kompilacji kernela fglrx

Możemy już ponownie uruchomić system i sprawdzić czy przyspieszenie jest aktywne poleceniem:

glxinfo | grep direct

Jeśli tak, komenda zwróci direct rendering: Yes.