Driver NVIDIA non funzionanti su Fedora 36

Ieri pomeriggio, a tre giorni dal rilascio ufficiale di Fedora 36, ho deciso di eseguire l’aggiornamento di sistema.

Premetto solo che per poter eseguire l’aggiornamento ho dovuto da subito disinstallare Jellyfin, in quanto la versione aggiornata di una sua dipendenza fornisce una libreria che il programma non riconosce più come valida… resto in attesa (spero non per troppo) della nuova versione del programma che dovrebbe risolvere il problema.
Così come resto in attesa che i repository di MEGASync si allineino alla nuova versione di Fedora.

L’unica cosa che purtroppo mi ha dato l’impressione di un “regresso” sono stati i problemi riscontrati con i soliti driver proprietari NVIDIA… mi è sembrato di essere tornato a qualche anno fa, quando questo tipo di problemi erano un’amara consuetudine ad ogni aggiornamento del kernel (o quasi).

Con il kernel 5.17.6 infatti (ma in rete ho visto che il problema si presentava anche con il 5.17.5 con il rilascio in beta), venivano abilitati i driver nouveau già al caricamento di plymouth… venivano perché nel tentativo di risolvere il problema ho fatto qualche prova a rimuovere e reinstallare i driver NVIDIA ma, se prima venivano abilitati i driver nouveau come metodo di ripiego, adesso compare soltanto una desolante schermata nera alla quale mi ero disabituato già da qualche rilascio di Fedora.

Incrocio le dita, sperarando nel rilascio in breve termine di una nuova versione del kernel che possa risolvere questo problema che stranamente si è presentato solo con Fedora 36… su Fedora 35 infatti, avevo ricevuto l’aggiornamento al kernel 5.17.6 proprio il giorno prima senza riscontrare alcun problema di sorta.

Dai un’occhiata qui

https://rpmfusion.org/CommonBugs

Io ho avuto un problema analogo con la mia NVIDIA GeForce GTX 1650; per risolvere ho dovuto dare un
dnf remove remove xorg-x11-drv-nvidia.x86_64
e poi
dnf install xorg-x11-drv-nvidia-470xx akmod-nvidia-470xx

non so se tra le varie prove che hai fatte ti è capitato di dare questi comandi (ammesso che i driver 470 vadano bene per la tua scheda video naturalmente)

@jack_71 avendo una GeForce GT 730 è un imprevisto nel quale sono incappato già in seguito all’aggiornamento dalla 34 alla 35. La versione 470.xx dei driver infatti, è proprio quella che avevo installata prima dell’aggiornamento alla 36.

@alciregi grazie per la risposta, se solo avessi notato prima questo link sul sito di rpmfusion forse sarei stato in grado di risolvere già da subito… l’errore che mi restituiva in fase di avvio infatti, prima di ripiegare sui driver nouveau, era proprio che non fosse presente il modulo nvidia.

Ho fatto un tentativo ad utilizzare depmod -ae come consigliato (e a reinstallare il kernel), ma purtroppo non è stato risolutivo.

La cosa strana è che se prima il sistema ripiegava in automatico su nouveau, già dopo il primo tentativo di rimuovere i driver nvidia, per poter avviare il sistema mi è toccato modificare i parametri di avvio di grub perché, nonostante la rimozione dei driver nvidia, non erano state rimosse le stringhe che blacklistano nouveau dal file di configurazione di grub.
Reistallando i driver invece, mi è toccato addirittura rimuovere alcune stringhe che si erano duplicate.

Ho poi fatto svariati tentativi a rimuovere e reinstallare i driver… memore degli svariati problemi che si riscontravano in passato con i driver nvidia ho provato i classici comandi che spesso erano risolutivi nel risolverli
akmods --force
dracut --regenerate--all --force

ma niente, non c’è stato verso di farli funzionare… a meno che non abbia fatto qualche casino con il file di configurazione di grub, ma direi che per ora ho già perso la pazienza e non mi va proprio di fare ulteriori tentativi.
Spero solo che con il rilascio del prossimo kernel ci sia qualche possibilità di trovare una soluzione al problema.

Un breve (e triste) aggiornamento sul problema che sto riscontrando.

Tra gli aggiornamenti disponibili oggi era presente il kernel 5.17.7 e, ovviamente, ho fatto un ulteriore tentativo ad installare i driver proprietari nvidia.

Purtroppo la situazione non è migliorata, all’avvio solita schermata nera… neppure plymouth viene visualizzato correttamente.

Stasera però ho dovuto allontanarmi dal PC per qualche minuto e quando sono tornato, dopo aver interrotto il blocco schermo, ho intravisto la schermata di login.

Apparentemente i driver sembrano funzionare, l’unica stranezza è che ad ogni avvio del PC devo attendere (all’incirca una ventina di minuti) che lo schermo vada in bloccho e, successivamente, interrompendo il blocco (muovendo il mouse ad esempio) riesco solo a quel punto a visualizzare la schermata di login per accedere alla sessione.

È evidente che ci sia un problema con i driver proprietari (con nouveau non si presenta questo tipo di problema), quello che non mi è del tutto chiaro è se il problema possa essere imputabile esclusivamente ai driver proprietari o se eventualmente possano esserci problemi anche con altre componenti come plymouth (o magari lightdm).

Per ora mi vedo comunque costretto a dover rimuovere nuovamente i driver proprietari… non mi sembra affatto che 20 minuti siano un tempo ragionevole di attesa per poter accedere al PC.

Vi aggiorno sulla situazione dato che, a quanto pare (come purtroppo temevo) esiste effettivamente un problema a livello di kernel…

Oggi, dopo l’ennesimo tentativo di installare i driver nvidia, ho inviato una segnalazione sul bugzilla di rpmfusiom allegando un bug report che allego anche qui

https://paste.centos.org/view/f81dc016

Nel giro di un paio di minuti ho ricevuto questa risposta:

The simpledrm fix should be in 5.17.10

https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1788

That should fix most issues.

https://bugzilla.rpmfusion.org/show_bug.cgi?id=6303#c7

Dovrò semplicemente attendere fino al rilascio del kernel 5.17.10 per avere una risoluzione a questo problema.

Problemi risolti con il fix del driver SimpleDRM introdotto sulla versione 5.17.11 del kernel ricevuta oggi tra gli aggiornamenti.

L’avvio del sistema ora è molto più rapido… impiega alcuni secondi in più rispetto all’avvio con nouveau, ma per fortuna tutto sembra avviarsi normalmente e senza intoppi (almeno per ora).

Scusa @oStile10001, ma te hai una nvidia funzionante con i driver proprietari?
Perché io non riesco a farla andare.
Ho seguito più volte la procedura di RPMfusion ma non risolve.

Questo SimpleDRM di cui parli, viene installato in automatico? Non mi sembra di averlo visto.

Attualmente utilizzo lo stesso modello di scheda grafica nvidia alla quale facevo riferimento qualche mese fa

$ /sbin/lspci | grep -e VGA
03:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 730] (rev a1)

una GeForce GT 730 per l’appunto e posso garantirti che ha sempre funzionato da quando hanno fixato SimpleDRM… almeno fino alla versione 5.19.16-200 del kernel.

comunque SimpleDRM altro non è che un modulo del kernel, cioé:

[…] un frammento di codice eseguibile che fa riferimento a funzioni e variabili esterne, oltre a dichiarare le funzione e le variabili che lui stesso definisce.
Moduli del Kernel

Ovviamente ogni modulo può essere pacchettizzato e distribuito con il kernel stesso, o essere aggiunto (ricompilando il kernel) manualmente.

1 Mi Piace

Comunque, ho volutamente specificato fino alla versione 5.19.16-200 del kernel perché proprio oggi, provando ad aggiornare il kernel all’ultima versione rilasciata (la 6.0.5-200), ho riscontrato anch’io un problema con i driver proprietari… stavolta però credo che SimpleDRM non c’entra.

Sembra piuttosto che il problema sia dovuto ad akmods che non riesce a generare il modulo per il kernel (o almeno questa è stata la mia impressione)

sudo akmods --force --kernels 6.0.5-200.fc36.x86_64                    1 ↵
Checking kmods exist for 6.0.5-200.fc36.x86_64             [  OK  ]
Building and installing nvidia-470xx-kmod                  [FALLITO]
Building rpms failed; see /var/cache/akmods/nvidia-470xx/470.141.03-1-for-6.0.5-200.fc36.x86_64.failed.log for details

Hint: Some kmods were ignored or failed to build or install.
You can try to rebuild and install them by by calling
'/usr/sbin/akmods --force' as root.

Questo invece è il contenuto del file di log generato: https://paste.centos.org/view/3aff8a59

1 Mi Piace

@Veon comunque a quanto pare il bug è già noto. Sono infatti già in molti (non solo utenti Fedora) ad avere problemi con i driver proprietari e l’ultima versione del kernel.

Questa è la segnalazione del bug aperta sul bugzilla di rpmfusion: akmod-nvidia-390xx build failed for kernel 6.0.5
Sarebbe noto anche ad nVidia, che al momento però non ha ancora rilasciato alcuna patch e, a quanto pare purtroppo, neanche avrebbe intenzione di farlo nel breve periodo :unamused: sembra infatti che non rientrerebbe tra le loro prerogative, non prima della fine dell’anno almeno.

L’oneroso compito l’avrebbe assolto un certo Ike Devolder sviluppatore ed utente di Arch Linux. È possibile trovare le patch tra i suoi progetti su gitlab, ma andrebbe applicata manualmente al kernel volta per volta (ad ogni aggiornamento)… non ho idea di quanto possa essere effettivamente risolutiva e pratica.

A questo indirizzo trovi anche una procedura per abilitare un repository di terze party con il kernel già patchato: Howto Install Kernel 6.0.5 on Fedora 37/36, personalmente comunque non ho avuto alcuna premura nel testarlo… al momento i driver funzionano ancora sulle versioni precedenti del kernel e fino a quando avrò la possibilità di poterle conservare utilizzerò quelle. Almeno fino a quando non mi deciderò ad acquistare qualche Radeon (prima o poi lo farò per davvero.)

Grazie mille Paco, almeno mi metto l’anima in pace.

Alla fine lascio così, tanto al massimo ci gioco giusto a MineTest o simili giochi FOSS.
Certo un po’ rosico perché ho una 1050 ma vabbè.

Il prossimo pc sarà il nuovo thinkpad z13 :heart_eyes:

1 Mi Piace

@Veon, segnalo che ho ricevuto proprio oggi l’aggiornamento del pacchetto akmod-nvidia-470xx che ha corretto il bug che non consentiva la generazione del modulo del kernel… ora sembra funzionare tutto regolarmente.

Tieni comunque presente che per il modello della tua scheda grafica questa versione dei driver non è assolutamente compatibile… il pacchetto corretto per la GTX 1050 è ovviamente akmod-nvidia, che dovrebbe essere ormai alla versione 520 dei driver e che mi risulta abbia ricevuto il fix per il bug al quale facevo riferimento già da qualche mese.

1 Mi Piace

Grazie Paco,

allora io ho installato il akmod-nvidia-3:520.56.06-1.fc36.x86_64
solo che se mando il comando:
[[email protected] ~]$ DRI_PRIME=1 glxgears -info | grep REND
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: nouveau
GL_RENDERER = llvmpipe (LLVM 14.0.0, 256 bits)

ottengo questo “errore” con wayland, mentre con Xorg mi auto-switcha sull’intel.

C’è un altro modo per capire se funziona correttamente il driver su wayland?

Non che io sappia (non utilizzo Wayland)… potresti provare con il comando

inxi -G

per controllare che la scheda video sia rilevata e, soprattutto, che i moduli dei driver siano stati caricati correttamente… dovresti controllare in Display: tra le voci in loaded: che sia presente nvidia e che tra le voci presenti in unloaded sia presente nouveau

1 Mi Piace

Ok, ho controllato e risulta questa situazione qui:

Display: wayland server: X.Org v: 1.22.1.3 with: Xwayland v: 22.1.3
compositor: gnome-shell v: 42.5 driver: X: loaded: modesetting,nvidia
unloaded: fbdev,nouveau,vesa gpu: i915,nvidia,nvidia-nvswitch
resolution: 2560x1080~60Hz

OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 22.1.7

tutti questi dubbi mi son venuti, perché provando ad avviare Veloren (un gioco open source), con wayland utilizzando la nvidia non parte proprio, utilizzando la intel da errore vulkan qualcosa.
Cambiando sessione in xorg invece funziona, ma credo che non prenda nvidia.

Indagherò meglio, certo mi dispiace perché ero riuscito a farla funzionare sulla F35 :confused:

ah, ok… quindi il problema è sicuramente la doppia scheda video. Hai già provato a consultare anche la guida Optimus Howto presente su RPMFusion?

In particolare dovresti provare a dare un’occhiata a questo passaggio: NVIDIA PrimaryGPU Support dove viene consigliato di copiare il file di configurazione di nvidia nella cartella di Xorg

cp -p /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf

e modificare il file aggiungendo/modificando la stringa Option "PrimaryGPU" "yes"

Ad essere sincero ho sempre ritenuto poco utile utilizzare un file di configurazione per Xorg, ma ho dovuto ricredermi. Dopo che hanno rilasciato l’aggiornamento di akmods che ha corretto il bug al quale facevo riferimento qualche post fa, ho provato a copiare il file di configurazione sulla cartella di Xorg e la differenza è notevole.

1 Mi Piace

Ciao Paco,

allora ho provato ma su wayland non ha risolto.
Però loggando con Xorg, il problema sembra essersi risolto.

Mi dispiace perché volevo usare wayland, ma se non ho un hardware che lo supporta, non posso farci nulla. Rimarrò su Xorg.

Grazie ancora!

Purtroppo con Wayland non ho esperienza… preferisco utilizzare ambienti desktop che non hanno ancora adottato Wayland, non tanto per Wayland in se per se, ma GNOME e KDE Plasma proprio non li digerisco (ovviamente sono considerazioni puramente soggettive).

Teoricamente i driver proprietari dovrebbero funzionare anche con Wayland (fa eccezione solo l’accelerazione video VDPAU), nel tuo caso però hai il problema della doppia scheda video… il workaround che ti ho segnalato è valido per Xorg ma, come avrai avuto modo di notare, può non essere altrettanto valido su Wayland.

Personalmente non conosco altri workaround che potrebbero aiutarti a risolvere il problema, però provando a fare qualche ricerca online, con un po’ di fortuna, magari riusciresti anche a trovar qualcosa di altrettanto valido.

1 Mi Piace

Ciao Paco,

ho fatto diverse ricerche ma sembra che wayland + scheda ibrida non sia possibile.
Vabbè mi tengo Xorg e la nvidia funzionante.

Grazie ancora!

1 Mi Piace