PDA

Visualizza versione completa : problema upgrade/downgrade driver video



Andy86
01-02-15, 21: 52
:bai

Facendo le prove per questo problema (http://www.collectiontricks.it/forum/gnu-linux/Ct6018-wine-cutscene-wmv-uguale-black-screen.html) mi sono trovato ad aggionare il driver video alla versione 346.35, perchè i repo sono fermi alla 343.36, per passare attraverso pacman in modo da non lasciare sporcizia ho utilizzato i pacchetti presi dal repo di arch, oltre al pacchetto principale ho aggiornato:
lib32-nvidia-libgl
lib32-nvidia-utils
nvidia-libgl
nvidia-utils

Primo impatto niente direct rendering, applicazioni 2d funzionanti, riavvio il sistema e non sale più X. Vabbè.
Faccio il downgrade, almeno per poter salire con la grafica, dei pacchetti suddetti rimetto per tutti la vs. nei repo.

Riavvio, kde sale, ma ora glxinfo butta fuori una sfilza di:
Xlib: extension "GLX" missing on display ":0".
e qualunque applicazione 3d si blocca con lo stesso errore.

Possibile che pur avendo fatto tutto con pacman sono riuscito a "sporcare" il sistema? :boh

I 346 posso provare a compilarli con makepkg, che non equivale ad installare da sorgenti perchè crea il pacchetto da dare in pasto a pacman (:m:), ma vale la pena?

pierino_89
01-02-15, 22: 14
Per prima cosa devi verificare che il modulo "nvidia" sia caricato. Se non lo è, guarda almeno che esista :ghgh
Dopo di ciò devi verificare il collegamento libGL.so a cosa punta (che è la prima causa di accelerazione assente).
Tieni pure il driver più aggiornato, 346.35 su Gentoo è marcato come stabile (io sono ancora al 346.22, ma se è marcato così mi fido abbastanza).

Andy86
01-02-15, 23: 19
Per prima cosa devi verificare che il modulo "nvidia" sia caricato. Se non lo è, guarda almeno che esista :ghgh

Ah, già... ecco dov'era il problema, ho downgradato per poter usare internet e nel frattempo me ne sono dimenticato.
Come faccio a farglielo esistere? Devo ricompilare invece di usare i pacchetti pronti di arch?

(come al solito le soluzioni degli altri con me non funzionano mai, oppure son cose che ho già fatto. :boh).

pierino_89
01-02-15, 23: 25
No, deve esserci, a meno che tu non stia usando un kernel custom. Il modulo si dovrebbe chiamare nvidia.ko come file, ma su lsmod vedi solo "nvidia".

Andy86
01-02-15, 23: 31
Ah, ecco, il povero lsmod me lo sono dimenticato.
Io davo "modprobe nvidia" e mi diceva "not found".
Ora provo.

Edit: ho trovato il problema, pacman dice: "/usr/lib/modules/extramodules-3.18-ARCH/version: File o directory non esistente", quindi non riesce a installarlo perché tra chakra e arch cambia il nome della cartella di destinazione... ora provo a rimediare con un collegamento simbolico. :sisi

pierino_89
01-02-15, 23: 46
"/usr/lib/modules"??? Qualcuno deve cambiare spacciatore :ghgh
I moduli devono stare in /lib/modules, perché /usr potrebbe non essere disponibile al boot. Non lo dico io, lo dice la FHS :tong2

Andy86
01-02-15, 23: 59
Eh, solo che da quando hanno standardizzato /lib è un collegamento simbolico a /usr/lib :ghgh

Only registered members can view code.

Stando al sito ufficiale si chiama "usr merge": TheCaseForTheUsrMerge (http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/)

Comunque ho copiato i file da "extramodules-3.18-ARCH" a "extramodules-3.18-CHAKRA".
Per ora lsmod lo vede (ovvio, sarà ancora caricato quello vecchio), ma modprobe dice "not found".
Mi fido a riavviare o rischio che non sale più un'altra volta?

pierino_89
02-02-15, 00: 24
Eh, solo che da quando hanno standardizzato /lib è un collegamento simbolico a /usr/lib :ghgh
Stando al sito ufficiale si chiama "usr merge": TheCaseForTheUsrMerge (http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/)

Dunque alla fine la fazione pro-systemd ha vinto :ghgh buono a sapersi, vedremo in che direzione andranno gli altri.



Comunque ho copiato i file da "extramodules-3.18-ARCH" a "extramodules-3.18-CHAKRA".
Per ora lsmod lo vede (ovvio, sarà ancora caricato quello vecchio), ma modprobe dice "not found".
Mi fido a riavviare o rischio che non sale più un'altra volta?
Per "ricaricare" la lista dei moduli disponibili mi pare si debba usare "depmod -e". Alla peggio usi "insmod" che prende come parametro il percorso del modulo. Ah, non l'ho detto perché mi sembrava ovvio, ma non puoi scaricare il modulo se hai l'interfaccia grafica attiva, e non puoi "ricaricarlo" se prima non hai scaricato l'altro :eye

Andy86
02-02-15, 11: 37
:bai

Allora, più che ricaricare la lista erano proprio da mettere nella cartella giusta.
Solo modprobe s'è piantato lo stesso con un "exec format error" e insmod con "invalid module format".

Vuol dire che quelli di arch non sono compatibili con chakra?

Se compilo i moduli se li crea da solo quelli giusti?

Ho provato a backuppare i vecchi e poi inserire quelli, ovviamente non andavano bene. :lol:

Per ora ho rimesso i vecchi e il direct rendering è tornato.
Probabimente per quello era solo questione di riavviare tutto e non solo la grafica.

pierino_89
02-02-15, 14: 21
Se compilo i moduli se li crea da solo quelli giusti?

Sì, i moduli sono sempre compilati in modo da poter essere usati su qualsiasi versione del kernel (a patto che abbia le features necessarie :ghgh).

Andy86
02-02-15, 14: 35
No, aspetta, se sono sempre compilati in modo da poter essere usati su qualsiasi versione del kernel perché quelli precompilati sul mio kernel non vanno? :m:

pierino_89
02-02-15, 15: 11
Perché evidentemente non stai usando né il .run né un pacchetto che usi la tecnologia dkms, ma un pacchetto che contiene un archivio di quel che viene prodotto dall'esecuzione del .run :ghgh

Andy86
02-02-15, 15: 32
Sarò rinco ma non ho capito... se serve dkms allora vuol dire che i moduli del kernel non sono compilati per funzionare con qualunque versione, altrimenti non servirebbe.

Che cosa sto usando te l'ho detto più volte: la versione dei repo di arch perché nei repo di chakra non c'è.
(visto che in teoria i pacchetti sono testati e ordinati, a differenza del .run che lascia sporcizia che pacman non può togliere).

Ora provo se riesco con makepkg.

pierino_89
02-02-15, 15: 51
Sarò rinco ma non ho capito... se serve dkms allora vuol dire che i moduli del kernel non sono compilati per funzionare con qualunque versione, altrimenti non servirebbe.
Forse non mi sono spiegato bene io... Il driver nel complesso va con qualsiasi versione. Il modulo di solito è specifico per la versione del kernel, e viene compilato durante la fase di installazione oppure da dkms se lo trova necessario. Ovviamente se il tutto viene pacchettizzato con il modulo in formato binario, non funziona su altri kernel. Per questo motivo di solito si tende ad evitare :tong2



Che cosa sto usando te l'ho detto più volte: la versione dei repo di arch perché nei repo di chakra non c'è.
(visto che in teoria i pacchetti sono testati e ordinati, a differenza del .run che lascia sporcizia che pacman non può togliere).

E ho capito, ma non ho la vista a raggi X, non so cosa c'è dentro i pacchetti di arch/chakra o come funzionino di preciso:lol:

Andy86
02-02-15, 16: 44
Ah, ok.
Per curiosità, per versione s'intende proprio versione, tipo linux 3.18.1, o anche tra distro diverse sono considerate versioni diverse?

pierino_89
02-02-15, 17: 04
Ogni distro applica delle patch diverse al kernel, quindi la versione non è mai esattamente la stessa. Come se non bastasse, già se compili due volte lo stesso kernel potrebbe rifiutarsi di caricare il modulo :ghgh
È vero che esiste un'opzione che consente di caricare moduli di una versione diversa, ma non so in quanti l'abbiano abilitata.

Andy86
02-02-15, 17: 17
Ok. Il modulo uvm è importante?

Perché makepkg al primo tentativo s'è schiantato dicendo che non lo trovava tra i sorgenti, ho commentato le righe relative nel makepkg (che ho modificato da quello dei beta inserendo nomi e versione giusta) ed ha compilato.

pierino_89
02-02-15, 17: 23
Only registered members can view code.
Direi che puoi farne a meno :eye

Andy86
02-02-15, 18: 53
Niente. Non va neanche così... :wall
All'installazione del pacchetto esce che il modulo è in uso, poi al riavvio non sale e modprobe se ne esce con un "no such file". :boh

pierino_89
02-02-15, 21: 38
Stoppa l'interfaccia grafica e rimuovi il modulo, così magari è più contento.

Andy86
02-02-15, 22: 34
:bai

Beh, quando modprobe ha detto "no such file" ero su un tty e da quello ho reinstallato il pacchetto anche dopo aver dato "modprobe -r nvidia", dal punto di vista di modprobe non ha sortito alcun effetto.

Sono un po' scettico ad usare il .run perché poi pacman si lamenta.
Poi magari da un giorno all'altro quelli di chakra mettono nei repository.

Armandillo
03-02-15, 15: 15
:bai

Mi rendo conto che Linux e Windows sono dei pianeti diversi ma questo assoluto modo di aggiornare i driver a tutti i costi da parte di NVidia sembra non tenere presente tutti i fattori.
Su Seven l'ultimo suo aggiornamento mi ha prodotto un problema (schermo nero) con l'unico gioco che uso fare (Civilization V), in pratica funzionava solo con le Directx 9 :furious
Non e' poi la prima volta che nuovi driver creino problemi su schede magari vecchiotte ma in questo caso la mia e' abbastanza recente.
Per concludere sono stato costretto a disinstallate NVidia Experience (che mi ottimizzava i driver per i giochi), Physics e 3D lasciando a Windows il compito di aggiornare e guarda caso non l'ha fatto mantenendo i driver del 2014 :sisi
Penso che aggiornare non sempre porti vantaggi e che spesso porti solo problemi

:bai

Andy86
03-02-15, 19: 57
:bai

Beh, io di problemi aggiornando i driver ne ho risolti parecchi, soprattutto ai tempi di windows.
Ora il fatto era legato a quell'altro thread sul gioco che su wine, da un video di youtube, risulta funzionare con la nuova vs. dei driver.
Per questo volevo provare.

Andy86
03-02-15, 23: 47
Ho fatto un'altra prova, modificando un pkgbuild proprio di chakra (nvidia-gk-testing), stavolta ha compilato e installato senza errori di sorta, però ancora non s'è avviato e sempre modprobe si lamenta, stavolta con:

error: Driver 'nvlink' is already registered, aborting...

:boh

Andy86
04-02-15, 23: 48
:bai

Ho scoperto il problema, il file "nouveau_blacklist" andava nel posto sbagliato e non veniva considerato, così il kernel non vedeva la scheda video perché impegnata dai nouveau (anche se non sono installati... :boh).

Ho modificato per mandare il file in /etc/modprobe.d/, cioè come nel pacchetto vecchio da pacman, ed il sistema è salito. :hap

Purtroppo però non ha risolto il problema del gioco, anche se ora ho la stessa versione del tipo nel video. :boh:wall