Problem pojawia się ponoć od wersji jajka 2.6.20, na moim *.21 z pewnością zaistniał… W efekcie czekała mnie kilkugodzinna (przedzielona snem, szkoleniem i pracą) próba uruchomienia leciwych sterowników, do jeszcze leciwszej karty NVIDIA GeForce4 MX 400. Nie wiem czy wszystko zakończyło się sukcesem, ale wiem, że póki co okienka się odpaliły… Zagadką jednak będzie restart komputera i ponowne odpalenie iXów. Jeśli wszystko się powiedzie, znaczy się – że pokonałem zabezpieczenia GPL w jaju i posiadam nowiuteńkie sterowniki do karty pod Lennym…
Na tej stronie jest przepyszny sposób na rozwiązanie problemu z prawidłową instalacją oryginalnych sterowników ze strony NVidii. Całość sprowadza się do rozpakowania zawartości pliku .run, doklejeniu dwóch linijek kodu w jednym pliku i uruchomieniu instalatora.
Czy zadziała?
Mi po przeprowadzeniu tej modyfikacji zadziałało lepiej niż te gotowe paczki dostępne na owej stronie.
Ale to nie był koniec moich zmagań z iXami. Zachowałem stary plik konfiguracyjny do Xorga, a wersję miałem nowszą (nie wiem czy są aż tak istotne zmiany, ale faktem jest iż… Xorg nie startował).
W logach odnalazłem, że niemożliwe stawało się załadowanie modułu nvidii kernela. Dziwne, gdyż na samym początku ładował kartę jak i glx. Pytanie zatem – o co kurwa biega?
Wykonanie polecenia:
modprobe -ls nvidiapokazywało jak w mordę strzelił załadowaną nvidię.
Walczyłem dość długo, aż w końcu w akcie desperacji przekonfigurowałem (przed chwilą) Xorga:
(ważna komenda więc warto sobie gdzieś ją zapisać)
dpkg-reconfigure xserver-xorg
odpaliłem ponownie GDM i… to samo…
Nosz kurwa mać… Wkurwiony już nie na żarty walnąłem z palca:
modprobe -i nvidiai ponownie
/etc/init.d/gdm start
w efekcie…
Przywitało mnie mignięcie loga NVidii, i ekran logowania.
- O kurwa – pomyślałem – ciekawe czy po restarcie też będzie tak cudnie…
Jakie wyciągnąłem wnioski?
Googlując w poszukiwaniu rozwiązania tego problemu mogę powiedzieć jedynie, że… wiele osób miało podobny (a nawet identyczny problem), wydawałoby się zatem, że istnieje jakieś jedno i skuteczne dla wszystkich rozwiązanie. Otóż nie… Dziwne było też to, iż w pewnym momencie zmuszony zostałem do tworzenia pliku, którego nie posiadałem, a który wchodził w skład pakietu linux-modules-restriction (czy jakoś podobnie), co ciekawe dzisiaj rano odkryłem, że pakiet ów jest w reprezytoriach… Ubuntu. Stworzyłem zatem plik /sbin/lrm-video z zawartością:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/bin/sh PATH=/sbin:/bin MODULE="$1" shift if [ "$MODULE" = "nvidia" ]; then if [ -e /lib/linux-restricted-modules/.nvidia_legacy_installed ]; then MODULE="nvidia_legacy" fi if [ -e /lib/linux-restricted-modules/.nvidia_new_installed ]; then MODULE="nvidia_new" fi XORG="nvidia"; elif [ "$MODULE" = "nvidia_legacy" -o "$MODULE" = "nvidia_new" ]; then XORG="nvidia"; elif [ "$MODULE" = "fglrx" ]; then XORG="fglrx"; fi if cat /etc/X11/xorg.conf 2>/dev/null | sed -n -e '/^[ t]*section[ \t]*"device"/I,/^[ t]*endsection/I{/^[ t]*driver[ t]*/I{s/^[ t]*driver[ t]*"*//I;s/"*[ t]*$// ;p}}' | grep -q -w $XORG; then modprobe --ignore-install -Qb $@ $MODULE else echo "Not loading $MODULE module; not used in /etc/X11/xorg.conf" 1>&2 fi |
(Zawartość pliku oczywiście uzyskałem przez Google)
Aktualnie zastanawiam się nad całkowitym usunięciem wzmianki o tym cudzie w katalogu
/etc/modprobe.d
Póki co przymierzam się do restartu (a nad
/etc/modprobe.d/lrm-video
jeszcze pomyślę…)
P.S.
Usunąłem zatem plik
/etc/modprobe.d/lrm-video
Zrestartowałem komputer i… przywitał mnie ekran logowania GDM. Domyślam się skąd u diabła wzięło mi się to cudo. Poszukując wczoraj rozwiązania, skusiłem się na Envy, że niby i z Debianem działa. Gówno prawda, a przynajmniej nie z moim… Miał oczyścić mój system z wcześniejszych instalacji NVidii, a podociągał kilka pakietów mesy, a kiedy chciałem przez niego zainstalować sterowniki poinformował mnie o jakiś błędach, wiec wyjebałem go w kosmos, ale widocznie drań pozostawił po sobie jakieś Ubuntowskie naleciałości…
Czas na podsumowanie:
Posiadając kartę NVidii i jajko w wersji >=2.6.20 należy zastosować się do podanych zaleceń na stronie, które ująłem w kilku punktach:
- pobrać sterowniki dla swojej karty ze strony producenta
- rozpakować je przy użyciu komendy
NVIDIA*.run -x
- wyedytować plik usr/src/nv/Makefile.kbuild (wewnątrz rozpakowanego katalogu) wstawiając za tym:
EXTRA_CFLAGS += -Wall -Wimplicit -Wreturn-type...
poniższe dwie linijki
PARAVIRT_OPS := $(shell grep "D paravirt_ops" /boot/System.map-$(shell uname -r) | colrm 9) EXTRA_LDFLAGS := --defsym paravirt_ops=0x$(PARAVIRT_OPS)
- uruchomić instalatora NVidii (oczywiście wcześniej wychodząc z iXów)
./nvidia-installerwewnątrz rozpakowanego pliku .run(!)
- wykonać
dpkg-reconfigure xserver-xorg
i z listy sterowników karty graficznej wybieramy nvidia.
- załadować moduł nvidii (a jednak trzeba było z palucha!)
modprobe -i nvidia - uruchomić iXy i cieszyć oko grafiką wypaśną w akcelerację 3D
No to czas na Compiz-Fusion…
P.S. 2
Przypomniałem sobie, że przed wykonaniem
modprobe -i nvidiawarto utworzyć dowiązania symboliczne (jeżeli ich nie ma):
ln -s /usr/X11R6/lib/modules/drivers/nvidia_drv.so /usr/lib/xorg/modules/drivers ln -s /usr/X11R6/lib/modules/extensions/libglx.so.1.0.9639 /usr/lib/xorg/modules/extensions</code> ln -s /usr/X11R6/lib/modules/extensions/libglx.so.1.0.9639 /usr/lib/xorg/modules/extensions/libglx.so
i to tyle w tym temacie…


