Newsgroup: it.comp.os.linux.iniziare
Titolo: driver nvidia

Replico anche qui il post che ho inoltrato su icold: sono 2 giorni che 
non riesco ad usare debian. Mi servirebbe una mano.
Come ho detto nel post precedente ("etch upgrade del kernel") avevo
problemi ad avviare X poichè il nuovo kernel non trovava il driver
Nvidia. Come suggeritomi da alessio ho installato di nuovo il driver. 
Con module-assistant non sono riuscita a fare nulla, ma ci sono riuscita 
con l'installer scaricato dal sito nvidia. All'apparenza sembra tutto a 
posto dal momento che ho riavviato X e sto scrivendo dalla mia sessione 
abituale.
Il problema sorge quando riavvio il sistema: X non funziona più, appare 
solo una schermata orribilmente nera. Con Ctrl-Alt-F1 ho di nuovo la 
console, ma non riesco più a reinstallare il driver poichè, per quanto 
digiti /etc/init.d/gdm stop l'installer nvidia lamenta che X è ancora in 
funzione. Nel file di log sembra che non ci siano (EE) errori. Così 
salto al vecchio kernel e installo da lì il driver (sembra che ogni 
volta che si installa in un kernel diverso venga cancellato dal 
precedente) e così riavvio X...
Qualcuno mi aiuti...
Manu

Alix ha scritto:

non ho capito quasi niente, ma se vai sui wiki o forum di ubuntu trovi 
n-mila howto, che dovrebbero andare bene per debian immagino.
ciao
delma

 precedente) e così riavvio X...
sh NVIDIA-Linux-x86-1.0-8762-pkg1.run --help
# sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -A | less
NVIDIA-Linux-x86-1.0-8762-pkg1.run [options]
This program will install the NVIDIA Accelerated Graphics Driver for
Linux-x86 1.0-8762 by unpacking the embedded tarball and executing
the ./nvidia-installer  installation utility.
--info
[CUT]
nel tuo caso :
sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -n -K
-- 
2.6.17.8

 sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -n -K
  -K, --kernel-module-only
       Install a kernel module only, and do not uninstall the
       existing driver.  This is intended to be used to install
       kernel modules for additional kernels (in cases where you
       might boot between several different kernels).  To use this
       option, you must already have a driver installed, and the
       version of the installed driver must match the version of
       this kernel module.
Se lo avessi saputo prima avrei evitato di disinstallare i driver del 
kernel 2.6.15... purtroppo è già fatto. Avevo letto qualcosa del genere 
su linux magazine, senza capirci nulla.
Comunque è strano perchè all'avvio del sistema gdm non parte e X non si 
avvia. Invece parte dopo avere eseguito di nuovo l'installazione nvidia 
che non fa altro che cancellare e rinstallare lo stesso identico driver.
Ora ricontrollo xorg.conf, ma se X poi si avvia vuole dire che va bene, no?
Manu

 no?
direi propio di si , al limite salva /etc/X11/xorg.conf e fanne uno nuovo
con xorg.conf , poi lo sistemi con nvidia-xconfig
-- 
2.6.17.8

 cp /usr/src/nvidia.ko  /lib/modules/
2.6.17.8/kernel/drivers/video/nvidia.ko
non ho un rc.local. Dovrei crearlo? In etc? Come deve essere?
Manu

 non ho un rc.local. Dovrei crearlo? In etc? Come deve essere?
usando una slackware@current non ricordo come sia la struttura del sistemV
in debian , un locate rc.local che dice ?
-- 
2.6.17.8

Ho risolto il problema.
Mi sono letta tutto il readme ed ho controllato tutti i file nvidia.
Pur convinta più che mai di avere fatto tutto giusto e che non ci fosse 
nulla di sbagliato, ho disinstallato di nuovo il driver e ho riniziato 
da capo. Dopodiche ho ricontrollato di nuovo tutto quello che era nvidia 
e questa volta mi sono accorta di avere installato anche 
nvidia-kernel-legacy-2.6.16--2-k7, probabilmente in un primo momento ho 
installato tutto l'installabile nvidia. Mi sono ricordata di avere letto 
che ci sono due driver distinti: uno per nvidia-kernel e uno per 
nvidia-kernel-legacy e di avere scaricato il primo, per cui ho rimosso 
nvidia-kernel-legacy e X è partito senza più problemi.
Manu

 nvidia-kernel-legacy e X è partito senza più problemi.
Interessante. cio' significa semplicemente che debian ha pacchettizzato il
driver nvidia, che tu hai usato il pacchetto debian e che io mi dovro'
studiare pure come funzionano questi maledetti pacchetti. :)
di base io partivo dal driver originale nvidia senza passare per apt :)
ciao
 Andrea

 studiare pure come funzionano questi maledetti pacchetti. :)
s/male/bene/g
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 di base io partivo dal driver originale nvidia senza passare per apt :)
anche io ho installato il driver originale nvidia: nel readme c'è 
scritto quello che serve per poterlo installare, compreso lo nvidia-kernel.
manu

 scritto quello che serve per poterlo installare, compreso lo nvidia-kernel.
ho fatto confusione.
il driver originale l'ho installato con il kernel 2.6.16-2-k7.
Debian ha pacchettizzato il driver nvidia e per il 2.6.15-1-k7 (che io 
ho e che usavo prima di passare al 2.6.16) è il nvidia-kernel-legacy.
Il problema ora è che con entrambi i kernel manca lo nvidia-glx, nel 
2.6.16-2-k7 perchè non c'è (devo vedere se lo trovo nel sito nvidia?), 
mentre per il 2.6.15-1-k7 c'è una versione diversa da quella dello 
nvidia-kernel-legacy, per cui apt manco lo installa e fa bene, 
altrimenti X non parte.
Non so cosa è cambiato, fatto sta che google earth non riconosce più la 
scheda video e tutto il software con glx dichiara: Segmentation fault.
Che sarà successo? E' stato aggiornato lo nvidia-kernel-legacy e 
nvidia-glx no?
Che fò?
(merda)
manu

 (merda)
...oppure nvidia-glx non centra per niente?
mi viene il dubbio, dal momento che al primo avvio di X, quello dopo 
avere installato il driver originale con X morto, funziona tutto. mah.
Manu

Alix

'mpaxxita.

 Che fò?
Questa e' una delle cose che mi fanno preferire "altro" a Debian .
*IO* mi compilerei un kernel "vanilla" a manina e dopo reinstallerei i
driver Nvidia propietari ...
-- 
2.6.17.8

 driver Nvidia propietari ...
lo so che sarebbe meglio, ma compilare il kernel fai conto che per me 
sia l'omo nero: sono sicura che farei casino e che mi toccherebbe 
piangere per una settimana sulla tastiera cercando di rimediare agli 
arrosti o cercando di far andare quello che non va.
Questo dopo avere letto howto e googli vari per tutto il mese precedente 
senza capirci un tubo e iniziare a capirci solo dopo avere sbagliato non 
una ma decinaia di irrimediabili volte: non ci capiscun tubo,
Manu

 altrimenti X non parte.
Non devi mescolare le due versioni... per i legacy devi usare
nvidia-glx-legacy...
In pratica installi prima l'nvidia-kernel per il tuo kernel poi il
relativo nvidia-glx [che c'è sia in versione legacy che no, a quanto
vedo] ma che *non* dipende dal particolare kernel [se non in via
indiretta, visto che devi installare prima l'altro pacchetto]...
Per il tuo kernel 2.6.16-2-k7:
[versione *non* legacy]
nvidia-kernel-2.6.16-2-k7 [versione che vedo ora: 1.0.8762+1]
nvidia-glx [versione che vedo ora: 1.0.8762+1]
[versione legacy]
nvidia-kernel-legacy-2.6.16-2-k7 [versione che non c'è... ma la puoi
mettere usando il module-assistant... solo che non ricordo come
esattamente... ogni volta mi rileggo il man :-(] 
nvidia-glx-legacy [versione che vedo ora: 1.0.7182-1]
Come vedi, se non hai una legacy è più immediato... ma ripeto la domanda
di prima: tu che scheda hai?
Ciao ciao
Claudio

 una ma decinaia di irrimediabili volte: non ci capiscun tubo,
ok , una ricettina facile, facile :
A) non cancellare nulla del kernel attuale , li userai entrambi
B) scarichi il sorgente , cd /usr/src , tar xvjf linux-XZY.tar.bz2
cp /usr/src/kernel-attuale/.config /usr/src/linux-XZY (quello nuovo)
cd /usr/src/linux-XZY
make menuconfig (non non usare quello grafico!) 
regola numero 1 : non toccare nulla di cui non sei assolutamente sicura
rimuovi solo cio' di cui sei sicura di non aver bisogno (controller IDE che
non hai sulla mainboard per esempio), metti assolutamente comme statici il
filesystem che usi (reiserfs o ext3 che sia) ,
 metti come moduli : audio , USB , video e tutto cio' che potrebbe
servirti , quando non sei sicura leggli gli help della voce , salva e
chiudi , make && make modules_install
cp arch/i386/boot/bzImage   /boot/vmlinuz-nome-che-vuoi
cp System.map               /boot/System.map-nome-che-hai-dato-al-kernel
cp .config                   /boot/config-nome-che-hai-dato-al-kerne
ora devi solo fare le modifiche a lilo o Grub , nel caso di lilo non
dimenticare un lilo -v prima del reboot
PS se metti statico il filesistem non ti serve l'initrd ...
-- 
2.6.17.8

Alix wrote:

Cmq il problema non era in quello, ma in un removing TLS LINK
Valgard, the future
-- 
My Windows is die, fuck you too Bill

 nvidia-glx-legacy [versione che vedo ora: 1.0.7182-1]
non vedo questa versione, ma la 1.0.7174+1 e tutto per il kernel 2.6.15-1
Manu

 Valgard, the future
Per una maggior precisione e dannandomi solamente altri due minuti su google
ho trovato questo:
 I ran into trouble rebooting after this when /etc/init.d/nvidia-glx removed
the NVIDIA TLS links. I had to reinstall the driver, whereupon it worked
fine, but the next time I rebooted it happened again. In a French newsgroup
I discovered that removing this script from init.d keeps that from
happening. It was also suggested to remove nvidia-glx, nvidia-kernel-common
and nvidia-kernel-source. I did that, and now I can once again slide the
penguin down the slopes, and :) reboot without losing Xorg.
per chi non avesse voglia di tradurre, in due parole dice che il
responsabile di tutti i vostri i problemi e lo scrip nvidia-glx (oppure
nvidia-glx-legacy) che trovandosi in quella determinata cartella viene
eseguito ad ogni boot "cancellando" il driver. Il tizio dice quindi che
basta eliminare lo script e bla bla bla, in realtà questo non è proprio
necessario, primo perchè se quello script c'è servirà a qualcosa, e secondo
perchè non tutto lo script causa il problema, ma bastera commentare le due
seguenti righe contenute in esso per risolvere:
#    rm -f /usr/lib/tls/libnvidia-tls.so
#    rm -f /usr/lib/tls/libnvidia-tls.so.*
prestate particolare attenzione perchè lo script si compone di due parti:
echo -n "Creating NVIDIA TLS links..."
echo -n "Removing NVIDIA TLS links..."
che contengono entrambi le righe da conmmentare. Dovrete commentare solo
quelle nella parte removing: OVVIAMENTE =)
Ciao
Valgard


 ok , una ricettina facile, facile :
ti ringrazio: ho salvato tutto e messo da parte per un orario migliore: 
magari domani ci provo.
Manu

 deb 
http://ftp.it.debian.org/debian
 etch main contrib non-free
...forse c'è qualcosa di sbagliato: non dovrebbe essere:
deb 
http://ftp.it.debian.org/debian/
 etch main contrib non-free
?
  Manu

 Cmq il problema non era in quello, ma in un removing TLS LINK
infatti lo avevo immaginato e me lo ero segnato per una ricerca su 
google (domani).
Ti ringrazio molto per tuo post seguente.
Manu

 ?
non cambia nulla...
manu

 magari domani ci provo.
fai attenzione. Se usi slackware va bene usare il kernel vanilla (quello
ufficiale), altrimenti scarica quello della tua distribuzione. Con il
kernel ufficiale potresti perdere alcune funzionalità o sicurezze.
bye, giubbe

 non sono riuscita a niente con module-assistant.
Sono praticamente sicuro che aggiungendo gli archivi unstable dovrebbe
funzionare... il guaio è che potrebbe aggiornarti a unstable parecchia
robetta [a cominciare da gcc]... non credo sia il caso di rischiare... una
volta mescolate le versioni è difficile tornare indietro.
Ciao ciao e sorry per non saper fare di più...
Claudio

  I ran into trouble rebooting after this when /etc/init.d/nvidia-glx removed
ricapitoliamo:
il kernel 2.6.15 ha lo nvidia-kernel-legacy con nvidia-glx-legacy.
aggiornando al 2.6.16 il driver è nvidia-kernel e non c'è nvidia-glx
per installare lo nvidia-kernel-2.6.16  occorre disinstallare prima il 
legacy con relativo glx-legacy. A questo punto lo script presente in 
/etc/init.d se ne va e si porta via il problema dei tls links.
Lo nvidia-kernel-2.6.16 (versione 1.0.8762) non ha candidati 
nvidia-glx-2.6.16 nei pacchetti etch e secondo me non deve averne, dal 
momento che l'originale nvidia della stessa versione non ne ha.
Installando il *driver originale* nvidia tutto funziona, ma il problema 
è che al riavvio X non riparte, il problema sta nei conflitti fra le 
librerie, l'ho potuto vedere cercando di installare con dpkg lo 
nvidia-glx scaricato dalla ustable. Ho trovato con google di che cosa si 
tratta:
  debian:/home# dpkg-divert --list nvidia-glx-legacy
  diversion of /usr/lib/xorg/modules/extensions/libGLcore.a to
  /usr/lib/nvidia/libGLcore.a.xlibmesa by nvidia-glx-legacy
  diversion of /usr/lib/xorg/modules/extensions/libglx.a to
  /usr/lib/nvidia/libglx.a.xlibmesa by nvidia-glx-legacy
  diversion of /usr/lib/xorg/modules/extensions/libglx.so to
  /usr/lib/nvidia/libglx.so.xlibmesa by nvidia-glx-legacy
  then remove the diverstions.
dpkg-divert --rename --remove /usr/lib/xorg/modules/extensions/libglx.a
dpkg-divert --rename --remove usr/lib/xorg/modules/extensions/libglx.so
dpkg-divert --rename --remove /usr/lib/xorg/modules/extensions/libGLcore.a
Usando dpkg-divert il problema è risolto e non c'è bisogno di installare 
nessun nvidia-glx.
Questo problema è riportato anche nel readme del driver originale.
Detto questo mi rimane da capire una cosa: se esiste il pacchetto 
nvidia-kernel per il kernel 2.6.16 senza bisogno di nvidia-glx (come 
nell'originale) X DEVE funzionare anche con questo. Invece installando 
con apt il pacchetto nvidia-kernel-2.6.16 il modulo nvidia non viene 
proprio caricato e X non parte. L'errore riportato è:
API mismatch: the client has the version 1.0-7174, but this kernel 
module has the version 1.0-8762.  Please make sure that this kernel 
module and all NVIDIA driver components have the same version.
Manu