No to zaczynamy. Będziemy:
a) rekompilować jądro
b) kompilwać i instalować dodatkowe moduły do tegoż
c) modyfikować plik xorg.conf
Zacznijmy od jądra. Możemy użyć albo starego, albo ściągnąć najnowsze - nie ma to większego znaczenia, ważne jest żebyśmy podane opcje wybrali tak a nie inaczej (dla 2.6.15.5, w innych powinno być podobnie):
Musimy włączyć ładowanie modułów, bo będziemy ładować zewnętrzny sterownik ati (fglrx), obsługa agpgart musi być włączona, co do chiopsetu - wybierzcie swój, ja akurat mam via, wy możecie mieć jescze ali, intela lub nforce. Ważne jest by wyłączyćDirect Rendering Managera, zostanie on zastąipiony przez fglrx!Loadable module support ---> [*] Enable loadable module support
Processor type and features ---> [*] MTRR (Memory Type Range Register) support
Device Drivers ---> Character devices ---> <M> /dev/agpgart (AGP Support)
Device Drivers ---> Character devices ---> <M> VIA chipset support
Device Drivers ---> Character devices ---> < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Powinniśmy zrekompilować oraz zrestartować ssytem na nowym jądrze przed podjęciem dalszych kroków.
Przejdzmy teraz do instalacji sterownika fglrx firmy ati. Pobieramy odpowiednią binarkę stąd: https://support.ati.com/ics/support/def ... lderID=300
Link nie jest jakoś super opisany, dla mi wystarczyło to: https://a248.e.akamai.net/f/674/9206/0/ ... 7-i386.run
Instalator odpalamy zwykłym:
Kod: Zaznacz cały
sh ati-driver-installer-8.23.7-i386.run
uwaga: Nie moge sobie przypomnieć czy instalator to robi: prosze sprawdzić czy wpis modprobe fglrx znajduje się w /etc/rc.d/rc.modules!
Przechodzimy teraz do trzeciej części, czyli edycji pliku /etc/X11/xorg.conf. Powinny się w nim znaleść takie oto sekcje:
Kod: Zaznacz cały
Section "Device"
Identifier "ati"
Driver "fglrx"
...
Kod: Zaznacz cały
Section "Module"
...
Load "dri"
Load "glx"
EndSection
Section "dri"
Mode 0666
EndSection
Kod: Zaznacz cały
Section "Extensions"
Option "Composite" "Disable"
EndSection
Po tych wszystkich zabiegach powinno nam się wyświetlać coś takiego po wypisaniu glxinfo
Kod: Zaznacz cały
$: glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGIS_multisample, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier,
GLX_SGIX_fbconfig
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ATI_pixel_format_float,
GLX_ATI_render_texture
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_multisample
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9500 Pro Generic
OpenGL version string: 2.0.5695 (8.23.7)
OpenGL extensions:
....
Jeśli to się nie pojawia, sprawdzmy najpierw czy moduł fglrx sie załadował, jeśli tak - mamy poprawną konfigurację kernela i skompilowany modół na właściwym miejscu, więc zostają xy do poprawienia (konfiguracja?). Można przejrzeć logi w /var/log/xorg.0.log pod kątem komunikatów (WW) i (EE).
Jeśli wydruk wygląda jka powyżej - spróbujmy odpalić jakąkolwiek aplikację openGL korzystającą z dobrodziejstw DRI. (np xscreensaver). Jeśli aplikacja działa płynnie (w miarę) to jest dobrze i wszystko się udało.
Jeśli jednak aplikacja wskazuje (większość ma liczniki) około 0.3 - 1.2 fpsa - jest to zdecydowanie za mało, a do tego w tle pojawiają nam się komunikaty podobne do tego:
Kod: Zaznacz cały
PGLTexMgr: opem of shared memory object failed (Function not implemented)
__PGLTextMgrCreateObject: __FGLTexMgrSHMalloc failed'''
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed''
Dodajemy do /etc/fstab następującą linię:
Kod: Zaznacz cały
shm /dev/shm tmpfs defaults 0 0
Kod: Zaznacz cały
mount /dev/shm