Driver nvidia con kernel 5.10 [RISOLTO]

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Driver nvidia con kernel 5.10 [RISOLTO]

Messaggio da gian_d »

Qualche ora fa ho aggiornato il kernel, ma a seguito dell'aggiornamento non si avvia più il server grafico. Poi ho scoperto che il mancato avvio era dovuto al mancato caricamento dei moduli kernel del driver. All'inizio non me ne ero accorto perché l'aggiornamento del kernel lo faccio attraverso uno script che aggiorna in sequenza anche i moduli del driver nvidia e di virtualbox.

Fatto sta che la compilazione dei moduli nvidia produce un errore con il kernel 5.10 perciò si arresta tutto. Per ora ho reinstallato il kernel 5.4.83. Ho visto che c'è una patch ma prima di usarla voglio verificare dove va a parare perché non sono sicuro se va applicata solo nello slackbuild nvidia-kernel o anche nello slackbuild nvidia-driver.

Per ora sconsiglio pertanto l'aggiornamento del kernel per chi usa il driver proprietario di nvidia

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Driver nvidia con kernel 5.10 [RISOLTO]

Messaggio da gian_d »

Ok, ora sono collegato dopo aver aggiornato il kernel e risolto i problemi con i driver.
Ho ricostruito la patch per includerla nello slackbuild. Così com'era non andava bene perché erano sballati i percorsi. La patch va applicata nello slackbuild di nvidia-kernel, sembra non sia necessaria invece per la compilazione del driver (l'ho ricompilato così come è rilasciato nel repository di Ponce).

Questo è il testo della patch:

Codice: Seleziona tutto

--- kernel/common/inc/nv-linux.h	2020-09-23 03:10:38.000000000 +0200
+++ kernel/common/inc/nv-linux.h	2020-12-21 21:28:44.402720929 +0100
@@ -11,6 +11,7 @@
 #ifndef _NV_LINUX_H_
 #define _NV_LINUX_H_
 
+#include <linux/version.h>
 #include "nvstatus.h"
 #include "nv-misc.h"
 #include "nv.h"
@@ -166,6 +167,11 @@
 
 #include <linux/pagemap.h>
 #include <linux/dma-mapping.h>
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0))
+// dma-mapping.h has been split on commit 0a0f0d8be76dcd4390ff538e7060fda34db79717,,
+// so this needs to be incldued now for the build to work
+#include <linux/dma-map-ops.h>
+#endif
 
 #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64)
 #include <linux/swiotlb.h>

--- kernel/nvidia-drm/nvidia-drm-gem-user-memory.c	2020-09-23 03:10:38.000000000 +0200
+++ kernel/nvidia-drm/nvidia-drm-gem-user-memory.c	2020-12-21 21:40:12.109633670 +0100
@@ -20,6 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/version.h>
 #include "nvidia-drm-conftest.h"
 
 #if defined(NV_DRM_AVAILABLE)
@@ -60,8 +61,14 @@
 {
     struct nv_drm_gem_user_memory *nv_user_memory = to_nv_user_memory(nv_gem);
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0))
+    // New parameter to drm_prime_pages_to_sg (commit 707d561f77b5e2a6f90c9786bee44ee7a8dedc7e)
+    return drm_prime_pages_to_sg(nv_gem->nv_dev->dev, nv_user_memory->pages,
+                                 nv_user_memory->pages_count);
+#else
     return drm_prime_pages_to_sg(nv_user_memory->pages,
                                  nv_user_memory->pages_count);
+#endif
 }
 
 static void *__nv_drm_gem_user_memory_prime_vmap(

Ho comunque scritto al mantainer dello slackbuild

gian_d
Linux 3.x
Linux 3.x
Messaggi: 654
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 6.6.xx
Desktop: KDE 5.27
Località: Sardinia
Contatta:

Re: Driver nvidia con kernel 5.10 [RISOLTO]

Messaggio da gian_d »

gian_d ha scritto:
lun 21 dic 2020, 22:46
Ho comunque scritto al mantainer dello slackbuild
Mi ha segnalato che il bug è stato risolto nella nuova versione del driver, di cui sarà disponibile lo slackbuild a giorni

Rispondi