Pobrałem sobie właśnie najnowszy sterownik (o którym zresztą dzisiaj nieco więcej napiszę) i po instalacji niestety spotkał mnie mały zonk
. Niby wszystko ładnie działa, ale nie da się odpalić żadnej aplikacji wykorzystującej OpenGL. Przy uruchomieniu np. flgrxinfo dostaję takie komunikaty:
$ fglrxinfo
name of display: :0.0
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 144 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 13
Current serial number in output stream: 13
Jak się szybko okazało problem tkwił w tym, że używam systemu 64 bitowego, a sterownik załadowany po instalacji do jądra jest 32 bitowy.. Rozwiązanie problemu jest banalne, należy po prostu podmienić plik 32 bitowy 64 bitowym i przestartować X. Najpierw trzeba przejść w tryb tekstowy:
# init 3
Następnie usuwamy moduł z jądra:
# rmmod fglrx
Teraz usuwamy plik 32 bitowy sterownika:
# rm /usr/lib/dri/fglrx_dri.so
I tworzymy symboliczne dowiązanie do pliku 64 bitowego sterownika:
# ln -s /usr/lib64/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so
Teraz przechodzimy na init 5 i sprawdzamy czy wszystko chodzi:
$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 2600 XT
OpenGL version string: 2.1.8304 Release
Działa!