Debianos srácok előszeretettel próbálják megtartani a klasszikus Linux életérzést, az-az amikor napokat szop az ember, egy-egy problémával.
Egy ideje szívtam az nvidia-96.43.19 gyári driverével, ami rendszeresen SIGTERM-el szállt ki a telepítés elején. Némi molyolás árán sikerült utánajárni a problémának és 2.6.39-el működésre bírni.
Az első lépés, hogy minden repohoz tartozó nvidia csomagot takarítsunk le a gépről.
dpkg -l | grep nvidia
apt-get --purge remove csomagnév
Szedjük le a 2.6.39-et, vagy valamelyik nekünk tetsző kernel forrást a kernel.org-ról, és szedjük le a nvidia-96.43.19-et az NVIDIA oldaláról. Ez utóbbiból a legfrissebbet szerezzük be, mert az Xorg-ék megint belemolyoltak az ABI-ba és emiatt nem fognak menni a régebbi driverek.
Konfiguráljuk, forgassuk, telepítsük az új kernelt a szájízünk szerint. A szokás kedvéért adjuk ki a make oldconfig és a make prepare-t, ez jól jöhet más, régi külső fél által gyártott driverek telepítésénél is.
Indítsuk újra a gépet az új kernellel. Ellenőrizzük, hogy az /usr/src/linux az új kernel forráskönyvtárára mutat.
Állítsuk be a CC változó értékét az épp aktuális C fordítóra (pl. export CC=gcc-4.6) és lőjjük ki az X-et.
És most jön a trükközés. Ha simán elindítjuk a telepítőt, amit ugye nem felejtettünk futtathatóvá tenni (chmod 755), akkor a kernel modul forgatásakor fog kiszállni hibával.
Az ok egyszerű, Linus-ék vidáman kiherélték a kernelből linux/smp_lock.h-t, ez viszont include-olva van a telepítőben.
Tehát, ki kell tömöríteni a telepítőből a forrást:
./NVIDIA-Linux-x86-96.43.19-pkg1 -x
Ez létrehoz, egy ugyanezen nevű könyvtárat, amibe belegaloppozunk és meg sem állunk a NVIDIA-Linux-x86-96.43.19-pkg1/usr/src/nv-ig, ahol megkeressük az nv-linux.h filet és a kedvenc szerkesztőnkkel kikommentezzük a 83-as sorban az #include
részt.
Ezután vissza a NVIDIA-Linux-x86-96.43.19-pkg1 könyvtárba, ahol az nvidia-installer futtatásával a megszokott módon telepíthetjük a drivert. Ellenőrizzük, hogy az xorg.conf-ban jók-e a beállítások és indítsuk újra az X-et. Ha minden jól ment menni fog az X.
glxgears-el vagy glxinfo-val ellenőrizzük a gyorsítás meglétét és kész.