Problema kernel multimedia e driver nvidia

13 risposte [Ultimo messaggio]
Ritratto di fracicus
fracicus
(Junior)
Offline
Junior
Iscritto: 16/05/2007
Messaggi: 26

Ciao a tutti e a tutte, innanzitutto devo ringraziarvi per tutte le cose che mi avete insegnato fino ad ora.
Veniamo al dunque, ho mandriva 2007.1 con kernel 2.16.17-14 e dato che vorrei usare la mia macchina anche per l'home recording studio devo anche avere installato il kernel multimedia per la bassa latenza.
Dopo aver seguito la perfetta guida di Moreno ho il logo nvidia, il 3d e tutto quanto come si deve; il problema nasce quando mi loggo con il kernel multimedia, cioè non mi parte X e controllando con nano il file xorg.conf lo trovo modificato e, riavviando e loggandomi col kernel "normale", ho praticamente vari casini di vario genere, come il non avviarsi del desktop grafico, oppure l'avviarsi di questo ma senza decoratore delle finestre, senza la possibilità di scrivere comandi da console, insomma un desktop non usabile.
Ho installato sia il kernel-source, che il kernel source stripped, che il kernel multimedia source, e ho provato varie combinazioni diverse, ma ogni volta che ripristino tutto e poi mi loggo col kernel multimedia ho lo stesso problema e devo impazzire per tornare ad avere un desktop perfettamente funzionale.
Dato che sto puntando a buttare windows nel posto che merita (insieme alle feci) e dato che mandriva mi piace, vorrei risolvere questo problema cruciale per me, sperando in un vostro aiuto.

P4 2.40GHz - RAM 1.5 GB - nVidia FX 5500 - M-Audio Ozone - Mandriva 2010 Free i586 - KDE 4.4.2 - kernel-desktop-2.6.31.13-1mnb - kernel-rt-2.6.31.12-1.rt21.1mdv

Ritratto di michele-p
michele-p
(Guru)
Offline
Guru
Iscritto: 22/01/2007
Messaggi: 3268

...il problema nasce dal modulo del kernel per la scheda video....non conosco la guida di Moreno, e uso installare i driver per la scheda video direttamente dai binari nVidia.
In questo modo, però, quando voglio installare un nuovo kernel sono "costretto" a installare nuovamente i driver della scheda video.

Un modo "elegante" e automatico per evitare tutto questo dovrebbe essere l'uso dei DKMS....uso il condizionale perché io non li uso, però sono nati per questo scopo quindi se non li adotti ti suggerisco di adottarli. Se, invece, li adotti però continui ad avere problemi di questo tipo allora, forse, c'è qualcosa che non va nella configurazione dei DKMS stessi....

Bye

Ritratto di fracicus
fracicus
(Junior)
Offline
Junior
Iscritto: 16/05/2007
Messaggi: 26

Ciao
si, uso i DKMS...

P4 2.40GHz - RAM 1.5 GB - nVidia FX 5500 - M-Audio Ozone - Mandriva 2010 Free i586 - KDE 4.4.2 - kernel-desktop-2.6.31.13-1mnb - kernel-rt-2.6.31.12-1.rt21.1mdv

Ritratto di michele-p
michele-p
(Guru)
Offline
Guru
Iscritto: 22/01/2007
Messaggi: 3268

...non saprei come aiutarti visto che non uso i DKMS...hai provato a vedere la presenza di qualche guida nella sezione "Guide"?....

Bye

Ritratto di fracicus
fracicus
(Junior)
Offline
Junior
Iscritto: 16/05/2007
Messaggi: 26

Ciao,
hehehe è un anno che uso mandriva e non faccio altro che usare pulsanti cerca e leggere guide, infatti questo è il mio primo post proprio perché non riesco ancora a venire a capo di questa situazione senza chiedere i vostri preziosi suggerimenti.

P4 2.40GHz - RAM 1.5 GB - nVidia FX 5500 - M-Audio Ozone - Mandriva 2010 Free i586 - KDE 4.4.2 - kernel-desktop-2.6.31.13-1mnb - kernel-rt-2.6.31.12-1.rt21.1mdv

Ritratto di kurtz77
kurtz77
(Guru)
Offline
Guru
Iscritto: 30/10/2004
Messaggi: 2486

Allora. il principio è molto semplice coi driver ufficiali (non quelli plf che non uso, proprio quelli che puoi prelevare dal sito nvidia). Il tuo kernel di riferimento è linux-2.6.17-14mdv, che è il più aggiornato. Per questo kernel installa i driver nvidia secondo la procedura standard:
 # sh NVIDIA-linux-x86-bla.bla.bla.run  
Per ogni altro kernel installato basterà scegliere al boot con quale partire. Quando ti loggherai l'ambiente grafico potrebbe fallire nel caricarsi riconfigurando automaticamente anche il tuo xorg.conf con un driver generico "nv".
A questo punto, se non sei già in una shell, con Alt+N apri una sessione da terminale. Col comando:  init 3
provvedi a uscire dalla sessione grafica di X che potrebbe girare in background e di nuovo, muovendoti nella cartella dove hai scaricato i driver:# sh NVIDIA-linux-x86-bla.bla.bla.run --kernel-module-only
L'installer inserirà un modulo nel kernel corrente senza cancellare o confliggere con i driver correttamente installati su altri kernel.
Ripeti l'operazione per tutti i kernel che hai a disposizione. Eventualmente riconfigurando xorg.conf affinchè carichi il modulo "nvidia".
Ti loggherai sempre usufrendo dell'ambiente grafico e dell'accelerazione 3d, su qualsiasi kernel.
Ciao

kurtz77 8-)
blog: la linea d'ombra

Ritratto di fracicus
fracicus
(Junior)
Offline
Junior
Iscritto: 16/05/2007
Messaggi: 26

Ciao e grazie per il suggerimento chiarissimo,
Dopo aver installato correttamente il driver con il kernel 2.6.17-14mdv, ho riavviato con il kernel multimedia e ho proceduto con l'installazione del driver secondo il tuo consiglio, ma mi ha dato un errore dopo la compilazione, e più precisamente nel file nvidia-installe.log c'era scritto alla fine:

Unable to load the kernel module 'nvidia.ko'. This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if a driver such as rivafb/nvidiafb is present and prevents the nvidia kernel module from obtaining ownership of the nvidia graphics device(s).

e appena sotto:

Kernel module load error: insmod: error inserting './usr/src/nv/nvidia.ko: -1 invalid module format.

Ora in un altro post con un problema simile si consigliava di eseguire lsmod|grep riva; lsmod|grep nvidia; modprobe -l|grep riva ; modprobe -l|grep nvidia. Io, loggato con il kernel multimedia, l'ho fatto e mi dà questo risultato:

/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/drivers/video/riva/rivafb.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/saa7108e.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/rivatv.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/vpx32xx.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/tw98.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/saa7174hl.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/saa7113h.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/3rdparty/video-rivatv/saa7111a.ko.gz

/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/drivers/video/nvidia/nvidiafb.ko.gz
/lib/modules/2.6.17.14-mm-desktop-5mdv/kernel/drivers/char/agp/nvidia-agp.ko.gz

Purtroppo non sono in grado di interpretare al meglio la cosa, per cui chiedo ancora consiglio.

Ciao e grazie.

P4 2.40GHz - RAM 1.5 GB - nVidia FX 5500 - M-Audio Ozone - Mandriva 2010 Free i586 - KDE 4.4.2 - kernel-desktop-2.6.31.13-1mnb - kernel-rt-2.6.31.12-1.rt21.1mdv

Ritratto di michele-p
michele-p
(Guru)
Offline
Guru
Iscritto: 22/01/2007
Messaggi: 3268

Il problema, come indicato nell'errore e nel quale incappai anche io qualche tempo fa (agli esordi Laughing nel ricompilare il kernel), è dovuto a due problemi. Il primo aver ricompilato il kernel con un compilatore di versione differente da quella con il quale viene compilato il modulo nvidia.ko.

Il secondo, è questo il caso tuo visto che ci sono incappato pure io (a meno che gli sviluppatori di Mandriva hanno compilato il kernel con una versione differente del gcc presente di default, invece, nella Mandriva Spring...ma non penso), è dovuto alla presenza del modulo (anche caricabile a run-time) "nvidiafb.ko".

Questo modulo non deve essere presente nel kernel; in sostanza non deve avere né il segno di spunta, tanto meno il "punto" (naturalmente in Qconfig).

Invece di ricompilare il kernel (come usualmente richiederebbe questa condizione, potresti provare a rinominare il modulo in questione con, ad esempio,

~nvidiafb.ko

...questa, però, è una soluzione, ancorché molto "grezza", che non ho mai provato quindi non saprei dirti se funziona. In più potresti avere un problema all'avvio perché il sistema si aspetta tra i moduli caricabili un modulo di nome nvidiafb.ko

...spero di essere stato chiaro... Thinking

Bye

Ritratto di kurtz77
kurtz77
(Guru)
Offline
Guru
Iscritto: 30/10/2004
Messaggi: 2486

Anticipato... :-P . In aggiunta controllerei anche il sorgente del kernel multimedia. Nei repository ce ne stanno un casino che è facile perdersi.
Nel mio caso ho installato i moduli con i source-stripped dei vari kernel, senza alcun problema.
Ciao

kurtz77 8-)
blog: la linea d'ombra

Ritratto di fracicus
fracicus
(Junior)
Offline
Junior
Iscritto: 16/05/2007
Messaggi: 26

Ciao e grazie ancora dei suggerimenti,
il file nvidiafb.ko è nell'archivio nvidiafb.ko.gz
devo procedere con l'estrarlo, rinominarlo e riarchiviarlo con lo stesso nome (nvidiafb.ko.gz)?
Scusate se la domanda può risultare idiota...

P4 2.40GHz - RAM 1.5 GB - nVidia FX 5500 - M-Audio Ozone - Mandriva 2010 Free i586 - KDE 4.4.2 - kernel-desktop-2.6.31.13-1mnb - kernel-rt-2.6.31.12-1.rt21.1mdv

Ritratto di michele-p
michele-p
(Guru)
Offline
Guru
Iscritto: 22/01/2007
Messaggi: 3268

...no, non è necessario. E' sufficiente rinominarlo così com'è in, ad esempio;

~nvidia.ko.gz

P.S.:Non è detto che funzioni...e ammettendo che funzioni è una soluzioni estremamente grezza Laughing

Volendo puoi (letteralmente) spostarlo da li e copiarlo in una cartella quale la temp nella home utente....insomma, devi fare in modo che il kernel non veda il modulo!....anche se così potrebbe darti un errore durante la fase di avvio.....ma l'importante è che tu riesca ad arrivare al login....

Bye