Kernel kontra sterowniki ATI

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
Awatar użytkownika
tanatos
Beginner
Posty: 226
Rejestracja: 25 sierpnia 2006, 00:14
Lokalizacja: z repo :P

Kernel kontra sterowniki ATI

Post autor: tanatos »

Od ładnych kilku miesięcy męczę się z instalacją sterowników ati, probowalem instalowac sterowniki z pliku instalacyjnego z ati.com, jak rowniez ze zrobionych przezemnie paczek .deb, jednak zadne dzialania nie przyniosly rezultatu, oto co wiem:

plik usr/share/fglrx/fglrx-install.log pokazuje taki error:

Kod: Zaznacz cały

[...]
- recreating module dependency list
- trying a sample load of the kernel modules
failed.
[Error] Kernel Module : Failed to install compiled kernel module - please consult readme.
polecenie "modprobe fglrx" daje taki wynik:

Kod: Zaznacz cały

FATAL: Error inserting fglrx (/lib/modules/2.6.16-2-686/kernel/drivers/char/drm/fglrx.ko): Invalid module format
a jesli wykonuje to samo polecenie "modprobe fglrx" z wylaczonymi X otrzymuje komunikat:

Kod: Zaznacz cały

fglrx: version magic '2.6.16-2-686 686 gcc-4.01' should be '2.6.16-2-686 686 gcc-4.00'
FATAL: Error inserting fglrx (/lib/modules/2.6.16-2-686/kernel/drivers/char/drm/fglrx.ko): Invalid module format
czyli wyglądało by na to, że jest niezgodnosc wersji gcc mimo ze mam zainstalowane obie.
czyli wychodzi na to ze kernel jest skompilowany pod 4.0 a ati chce zeby byl 4.1 tak?
Nie chce przekompilowywac kernela - boje sie tego , nigdy tego nie robilem i raczej mi nie wyjdzie.

Jesli ktos ma jakiekolwiek pomysły lub wiedzę na ten temat to proszę o pomoc, przejrzałem już setki tutoriali, opisow, faqow, for... dalej jednak nie osiagnąłem tego co zamierzam czyli obsługi akceleracji 3D.

Z gory dziekuje i pozdrawiam

Edit:
A moze by tak wykozystac jakos update-alternatives aby dostal ta wersje gcc o ktora prosi.. ?
dodi
Beginner
Posty: 137
Rejestracja: 24 maja 2006, 19:00

Post autor: dodi »

Skorzystaj z tego opisu, a dokładnie z punktu 2 - sprawdza się zawsze :-D

http://debian.linux.pl/viewtopic.php?p=556

Aha i jeśli używasz dystrybucyjnego jądra zrób jego upgrade, albo skompiluj tą samą wersją kompilatora co moduł.
Awatar użytkownika
tanatos
Beginner
Posty: 226
Rejestracja: 25 sierpnia 2006, 00:14
Lokalizacja: z repo :P

Post autor: tanatos »

[ Dodano: 2006-09-12, 21:44 ]
Piszę ponieważ chcę się pochwalić iż rozwiązałem problem.

Gdyby ktoś w przyszłości miał podobne kłopoty przedstawiam rozwiązanie:

okazało sie ze moje jadro (2.6.16-2-686) jest skompilowane przez gcc-4.0 jednak modu fglrx standardowo znajdowal w systemie nowszy gcc-4.1 - rozwiązaniem była zamiana dowiazania symbolicznego pliku /usr/bin/gcc z -> gcc-4.1 na -> gcc-4.0
usuwamy dotychczasowe dowiazanie gcc (rm usr/bin/gcc) i tworzymy nowe, robimy to poleceniem:

Kod: Zaznacz cały

ln -s gcc-4.0 usr/bin/gcc
teraz juz instalka bedzie potrafila skompilowac modol jadra fglrx i nie powinna wyzucac bledow, uruchamiamy wiec ja:

Kod: Zaznacz cały

sh ati-driver-installer-8.28.8.run
i przechodzimy przez proces instalacji.

Jezeli z jakichs powodow instalacja nie powiedzie sie mozemy skompilowac modol recznie w ten sposob:

Kod: Zaznacz cały

cd lib/modules/fglrx/build_mod/
./make.sh
cd ..
./make_install.sh
cd /
modprobe fglrx
depmod -a
lsmod
aticonfig --initial #uwaga patrz *
pierwsze 4 polecenia wykonuja kompilacje modulu, polecenia 5 i 6 ładuja modul fglrx do jadra systemu, 8 polecenie wpisujemy by sprawdzic czy modol fglrx jest zaladowany, ostatnie polecenie dodaje do pliku etc/X11/xorg.conf ustawienia obslugi fglrx.

* w moim przypadku to polecenie narobilo tylko niepotrzebnych śmieci w pliku xorg.conf i po tym procesie nie bardzo mialo by co dzialac, wiec lepiej samemu zedytowac ten plik pomijajac ta funkcje.
W dowolnym edytorze (np mcedit) otwieramy etc/X11/xorg.conf
w sekcji Device, w linii Driver zamieniamy to co tam bylo (ati lub mesa) na "fglrx", sprawdzamy jeszcze czy w sekcji Module mamy:
Load "glx"
Load "dri"
Jesli wszystko sie udalo to zapisujemy plik i wylogowujemy sie z x'ów, po czym uruchamiamy je ponownie wciskajac (CTRL+ALT+BACKSPACE).

Jesli wszystko poszlo dobrze wpisujemy jako zwykly user "glxgears" i cieszymy sie widokiem dzialajacego openGLa :)

pozdrawiam
ODPOWIEDZ