Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Compatibilité et installation des drivers Nvidia propriétaires dès le noyau Linux 4.2

En raison d'une restriction implémentée dans le noyau depuis sa version 4.2, il est normalement impossible de pouvoir compiler tel que cela se faisait, les drivers propriétaires de nvidia, mais un hack existe, consistant à faire passer le module Nvidia pour un module sous licence GPL.

Tout d'abord il faut télécharger la version 352.41 des pilotes Linux sur le site de Nvidia.

Rendre exécutable et extraire le driver

chmod +x NVIDIA-Linux-x86_64-352.41.run
./NVIDIA-Linux-x86_64-352.41.run --extract-only

Puis se rendre dans le dossier extrait avec la commande

 cd NVIDIA-Linux-x86_64-352.41

Créer le fichier de patch :

 nano nvidia-4.2.patch 

et coller et enregistrez :

diff --git a/kernel/nv-frontend.c b/kernel/nv-frontend.c
index 65bbb1b..be39c8d 100644
--- a/kernel/nv-frontend.c
+++ b/kernel/nv-frontend.c
@@ -15,7 +15,7 @@
 #include "nv-frontend.h"
 
 #if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL\0NVIDIA");
 #endif
 #if defined(MODULE_INFO)
 MODULE_INFO(supported, "external");
diff --git a/kernel/nv.c b/kernel/nv.c
index abe81ed..05945b5 100644
--- a/kernel/nv.c
+++ b/kernel/nv.c
@@ -31,7 +31,7 @@
 
 #if defined(NV_VMWARE) || (NV_BUILD_MODULE_INSTANCES != 0)
 #if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL\0NVIDIA");
 #endif
 #if defined(MODULE_INFO)
 MODULE_INFO(supported, "external");

Pour appliquer le patch, lancez la commande :

patch -Np1 -i nvidia-4.2.patch

Enfin, compiler le driver Nvidia nécessite gcc et g++ 4.8, pour les installer :

sudo apt-get install gcc-4.8 g++-4.8

Puis on configure l'OS pour que cette version soit utilisée par défaut.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 1

Tuer X si celui-ci est démarré

sudo service lightdm stop

Et enfin, on peut lancer l'installateur Nvidia, qui devrait pouvoir compiler correctement le module avec DKMS, pour le noyau Linux 4.2 et ultérieurs.

sudo ./nvidia-installer 
  • nvidia-4.2.txt
  • Dernière modification: Le 28/10/2015, 12:29
  • par obelix