Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:materiel:cartes-graphique:nvidia:optimus [12/11/2017 16:35] PengouinPdt [Gestion des erreurs] |
doc:materiel:cartes-graphique:nvidia:optimus [09/08/2020 18:18] Debian Alain [Procédure d'installation de Bumblebee] |
||
---|---|---|---|
Ligne 55: | Ligne 55: | ||
Pour vérifier que vous disposez effectivement de matériel équipé de ce système, ouvrez un terminal et rentrez : | Pour vérifier que vous disposez effectivement de matériel équipé de ce système, ouvrez un terminal et rentrez : | ||
- | <code user>lspci | egrep "VGA|3D"</code> | + | <code user>lspci | egrep "VGA|3D|Display"</code> |
Exemple de sortie du terminal : | Exemple de sortie du terminal : | ||
Ligne 76: | Ligne 76: | ||
<note warning>**NE SURTOUT PAS CHERCHER À INSTALLER LES PILOTES NVIDIA PAR TOUT AUTRE MÉTHODE !!!** \\ | <note warning>**NE SURTOUT PAS CHERCHER À INSTALLER LES PILOTES NVIDIA PAR TOUT AUTRE MÉTHODE !!!** \\ | ||
Si jamais vous l'avez fait, désinstallez tout avant((voir : [[doc:systeme:apt:apt-get#purge-autoremove | Nettoyage des paquets avec apt-get]])) : | Si jamais vous l'avez fait, désinstallez tout avant((voir : [[doc:systeme:apt:apt-get#purge-autoremove | Nettoyage des paquets avec apt-get]])) : | ||
- | <code root>apt-get remove --purge nvidia-*</code></note> | + | <code root>apt purge nvidia-*</code></note> |
La démarche est la suivante : | La démarche est la suivante : | ||
Ligne 92: | Ligne 92: | ||
==== Installation de Bumblebee ==== | ==== Installation de Bumblebee ==== | ||
- | <note warning>**Ne cherchez pas à utiliser le pilote libre 'nouveau' si votre carte graphique de fabriquant nvidia n'est pas supportée** par celui-ci. | + | === Ajout support architecture 32 bits === |
- | Pour savoir, si elle est supportée, lisez la [[https://nouveau.freedesktop.org/wiki/CodeNames/|page du "code name" fournie par la projet nouveau]], et recherchez la mention correspondante à votre GPU. Puis selon le "code name" correspondant, lisez cette [[https://nouveau.freedesktop.org/wiki/VideoAcceleration/|page]] pour connaître le support ou non de votre carte vidéo. | + | |
- | **Si votre carte graphique n'est pas supportée, utilisez directement le projet Bumblebee avec le pilote privatif !**</note> | + | |
<note important>Pour ceux qui ont installé la version 64 bits de Debian, pensez à ajouter la [[https://wiki.debian.org/fr/Multiarch/HOWTO|gestion du multi-architecture]] pour 32 bits, on vérifie que l'architecture soit 'amd64', et si c'est le cas, on active le mode correspondant, puis on met-à-jour sa distribution : | <note important>Pour ceux qui ont installé la version 64 bits de Debian, pensez à ajouter la [[https://wiki.debian.org/fr/Multiarch/HOWTO|gestion du multi-architecture]] pour 32 bits, on vérifie que l'architecture soit 'amd64', et si c'est le cas, on active le mode correspondant, puis on met-à-jour sa distribution : | ||
Ligne 104: | Ligne 102: | ||
<code root>apt install primus-libs-ia32</code> | <code root>apt install primus-libs-ia32</code> | ||
</note> | </note> | ||
+ | |||
+ | === Choisir le pilote nouveau ou nvidia ? === | ||
À cette étape, il vous faut choisir quel pilote logiciel vous désirez installer : | À cette étape, il vous faut choisir quel pilote logiciel vous désirez installer : | ||
+ | |||
* Le pilote libre nommé 'nouveau', fonctionnel pour la plupart des anciennes cartes graphiques, | * Le pilote libre nommé 'nouveau', fonctionnel pour la plupart des anciennes cartes graphiques, | ||
* ou installer le pilote "privatif" nvidia, qui apportera plus de support que le pilote libre 'nouveau'. | * ou installer le pilote "privatif" nvidia, qui apportera plus de support que le pilote libre 'nouveau'. | ||
- | <note warning>Comprenez que c'est soit l'un, soit l'autre ... ce ne peut pas être les deux en même temps.</note> | + | |
- | De même, si vous installez le pilote, il vous faudra être attentif aux différentes recommandations pour désactiver le support 'nouveau'. | + | <note warning>Comprenez que c'est soit l'un, soit l'autre… ce ne peut pas être les deux en même temps. |
+ | |||
+ | De même, si vous installez le pilote nvidia, il vous faudra être attentif aux différentes recommandations pour désactiver le support 'nouveau'. | ||
+ | |||
+ | **Ne cherchez pas à utiliser le pilote libre 'nouveau' si votre carte graphique de fabriquant nvidia n'est pas supportée** par celui-ci. | ||
+ | |||
+ | Pour savoir si elle est supportée, lisez la [[https://nouveau.freedesktop.org/wiki/CodeNames/|page du "code name" fournie par la projet nouveau]], recherchez la mention correspondante à votre GPU, vous y trouverez aussi le nom de l'architecture correspondante. | ||
+ | |||
+ | //Vous pouvez aussi lire cette [[https://nouveau.freedesktop.org/wiki/VideoAcceleration/|page]] pour connaître le support complet ou non de votre carte vidéo.// | ||
+ | </note> | ||
+ | |||
+ | Pour récapituler : | ||
+ | - l'architecture matérielle NV110, nommée Maxwell, est supportée à partir de la version du serveur X : "**xf86-video-nouveau-1.0.14**". | ||
+ | - l'architecture matérielle NV130, nommée Pascal, est supportée à partir de la version du serveur X : "**xf86-video-nouveau-1.0.15**" | ||
+ | |||
+ | Pour information, la version supportée du serveur X : | ||
+ | - Sous Jessie (Debian 8) : la **[[https://packages.debian.org/jessie/xserver-xorg-video-nouveau|1.0.11]]** | ||
+ | - Sous Stretch (Debian 9): la **[[https://packages.debian.org/stretch/xserver-xorg-video-nouveau|1.0.13]]** | ||
+ | - Sous Buster (Debian 10) : la **[[https://packages.debian.org/buster/xserver-xorg-video-nouveau|1.0.16]]** | ||
+ | |||
+ | **De fait, les cartes de famille Maxwell, ou Pascal, n'ont pas le support du pilote libre pour Jessie, ni Stretch. Ce support semble s'améliorer sous Buster . Néanmoins, si votre carte graphique n'est pas supportée ou mal supportée, utilisez directement le projet Bumblebee avec le pilote privatif ! ** | ||
=== Bumblebee avec 'nouveau' === | === Bumblebee avec 'nouveau' === | ||
Ligne 115: | Ligne 136: | ||
=> Pour installer Bumblebee et fonctionner avec le pilote libre 'nouveau' : | => Pour installer Bumblebee et fonctionner avec le pilote libre 'nouveau' : | ||
<code root>apt install bumblebee mesa-utils</code> | <code root>apt install bumblebee mesa-utils</code> | ||
+ | |||
+ | Il semble suggérer d'installer le pilote ''firmware-misc-nonfree'' qui en ont besoin pour l'accélération graphique des cartes 'Maxwell' et supérieures. Néanmoins, il faut à minima la version 1.0.15-2 du serveur X (OK, pour Buster) !!! | ||
+ | |||
+ | <note>xserver-xorg-video-nouveau (1:1.0.15-2) unstable; urgency=medium | ||
+ | |||
+ | (...) | ||
+ | * Suggest firmware-misc-nonfree, needed for acceleration on Maxwell | ||
+ | and newer cards. | ||
+ | (...) | ||
+ | </note> | ||
+ | |||
+ | Si donc, vous fonctionnez avec Buster, installez en plus le pilote 'firmware-misc-nonfree' : | ||
+ | <code root>apt install firmware-misc-nonfree</code> | ||
=== Bumblebee avec 'nvidia' === | === Bumblebee avec 'nvidia' === | ||
Ligne 120: | Ligne 154: | ||
=> Pour installer Bumblebee et gérer le pilote privatif nvidia : | => Pour installer Bumblebee et gérer le pilote privatif nvidia : | ||
<code root>apt install nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils bumblebee-nvidia primus xserver-xorg-video-nvidia linux-headers-$(uname -r)</code> | <code root>apt install nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils bumblebee-nvidia primus xserver-xorg-video-nvidia linux-headers-$(uname -r)</code> | ||
- | Toutefois installer de préférence la version des dépôts backports : \\ | ||
- | <code root> apt install -t stretch-backports nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils bumblebee-nvidia primus xserver-xorg-video-nvidia linux-headers-$(uname -r)</code> | ||
Lors de l'installation, il vous sera affiché une première fenêtre d'information : \\ | Lors de l'installation, il vous sera affiché une première fenêtre d'information : \\ | ||
Ligne 128: | Ligne 160: | ||
vous avertissant qu'il y a conflit entre le pilote 'nouveau' et le pilote 'nvidia', que celui-ci devrait être résolu par un redémarrage de votre machine. | vous avertissant qu'il y a conflit entre le pilote 'nouveau' et le pilote 'nvidia', que celui-ci devrait être résolu par un redémarrage de votre machine. | ||
- | \\ | + | |
En suivant, vous aurez une autre fenêtre d'information : | En suivant, vous aurez une autre fenêtre d'information : | ||
Ligne 145: | Ligne 178: | ||
Et, le cas où **il ne faut pas créer de fichier xorg.conf**, c'est justement avec le projet Bumblebee, car celui-ci crée ses propres fichiers utilisés selon le choix du pilote. \\ | Et, le cas où **il ne faut pas créer de fichier xorg.conf**, c'est justement avec le projet Bumblebee, car celui-ci crée ses propres fichiers utilisés selon le choix du pilote. \\ | ||
Fichiers qu'il ne créé surtout pas dans le répertoire relatif à Xorg ... parce que là, //ça serait le "bazard"// ...</note> | Fichiers qu'il ne créé surtout pas dans le répertoire relatif à Xorg ... parce que là, //ça serait le "bazard"// ...</note> | ||
+ | |||
+ | === Evolution bumblebee avec Nvidia === | ||
+ | configuration de l'exemple : | ||
+ | <code> | ||
+ | 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) | ||
+ | 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2) | ||
+ | </code> | ||
+ | |||
+ | installation des méta - paquets : | ||
+ | (avec testing bullseye) : | ||
+ | <code root>apt install --reinstall linux-image-amd64 linux-headers-amd64</code> | ||
+ | avec buster - backports : | ||
+ | <code root>apt -t buster-backports install --reinstall linux-image-amd64 linux-headers-amd64</code> | ||
+ | |||
+ | installation de bumblebee : | ||
+ | avec buster - backports | ||
+ | <code root>apt -t buster-backports install --reinstall bumblebee-nvidia primus libglx-nvidia0</code> | ||
+ | ou testing bullseye : | ||
+ | <code root>apt install --reinstall bumblebee-nvidia primus libglx-nvidia0</code> | ||
+ | installation bumblebee avec buster : | ||
+ | <code root>apt install --reinstall bumblebee-nvidia primus libglx-nvidia</code> | ||
+ | |||
+ | mesa : | ||
+ | <code root>apt install --reinstall mesa-utils</code> | ||
+ | |||
+ | tests carte intel : | ||
+ | <code user>glxinfo -B</code> | ||
+ | <code user>glxgears</code> | ||
+ | |||
+ | tests carte nvidia : | ||
+ | <code user>optirun glxinfo -B</code> | ||
+ | <code user>optirun glxgears</code> | ||
+ | |||
+ | <note tip>n.b.: si la synchro verticale est activée , glxgears s'alignera sur la fréquence de votre écran . | ||
+ | si la synchro verticale n'est pas activée , vous aurez l'indication des fps de votre carte graphique . | ||
+ | ce qui , à part faire joli , ne vous avancera pas plus ; | ||
+ | les fps supplémentaires n'étant tout simplement pas pris en compte par votre écran lors de l'affichage . | ||
+ | ex: vous avez une carte qui tourne à 200 fps , cela vous fera une belle jambe si , comme presque tout le monde , vous avez un écran 60 hz (classique , quoi ...) </note> | ||
+ | |||
+ | merci robert2a . | ||
=== Petites vérifications suite à l'installation du pilote nvidia === | === Petites vérifications suite à l'installation du pilote nvidia === | ||
Ligne 192: | Ligne 265: | ||
Pour être clair, sudo n'est pas nécessaire pour utiliser bumblebee ; juste il simplifie les choses en rendant inutile l'addition manuelle de l'utilisateur courant au groupe //bumblebee//.</note> | Pour être clair, sudo n'est pas nécessaire pour utiliser bumblebee ; juste il simplifie les choses en rendant inutile l'addition manuelle de l'utilisateur courant au groupe //bumblebee//.</note> | ||
- | === Sous Wheezy === | ||
- | |||
- | La procédure n'étant pas complètement automatisée, **il faut [[doc:systeme:groupadd|créer le groupe]] « bumblebee » et s'y intégrer**, pour avoir le droit de contrôler la carte graphique Nvidia. (Remplacez //USER// de l'exemple de la commande ci-dessous par votre nom d'utilisateur) : | ||
- | |||
- | <code root>groupadd bumblebee</code> | ||
- | <code root>adduser USER bumblebee</code> | ||
- | |||
- | |||
- | === Pour Jessie (et versions supérieures) === | ||
Ajoutez votre utilisateur au groupe bumblebee - //là aussi, remplacez //**USER**// du tuto par votre nom d'utilisateur// - : | Ajoutez votre utilisateur au groupe bumblebee - //là aussi, remplacez //**USER**// du tuto par votre nom d'utilisateur// - : | ||
Ligne 247: | Ligne 311: | ||
- allez dans votre librairie de jeux, | - allez dans votre librairie de jeux, | ||
- sélectionnez le jeu en question, | - sélectionnez le jeu en question, | ||
- | - puis faites un clic droit dessus, et choisissez le menu "Properties". | + | - puis faites un clic droit dessus, et choisissez le menu "Propriétés". |
- | - Ensuite, cliquez sur le bouton [SET LAUNCH OPTIONS], | + | - Ensuite, cliquez sur le bouton [DÉFINIR LES OPTIONS DE LANCEMENT...], |
- | - et spécifiez dans le champ l'information qui suit : ''$OPTIMUS_PREFIX %command%'' | + | - et spécifiez dans le champ l'information qui suit : ''$OPTIMUS_PREFIX %command%'' - Il est possible d'y écrire directement : ''primusrun %command%'' |
Ligne 264: | Ligne 328: | ||
<note important>Il semble que la version 340 du pilote nvidia soit défectueuse - version par défaut pour Jessie !</note> | <note important>Il semble que la version 340 du pilote nvidia soit défectueuse - version par défaut pour Jessie !</note> | ||
- | <note warning>**NOTE** : Après avoir appliqué une des corrections proposées, pensez toujours à redémarrer le service Bumblebee !</note> | + | <note warning>**NOTE** : Après avoir appliqué une des corrections proposées, pensez toujours à [[#redemarrer-le-service-bumblebeed|redémarrer le service Bumblebee]] !</note> |
- | ===== erreur libGL.so.1 ===== | + | ==== erreur libGL.so.1 ==== |
- | Lorsque vous exécutez optirun ou primus, vous avez le retour d'erreur suivant : | + | <note warning>Les modifications systèmes que ces propositions de solutions sont **pour des utilisateurs confirmés**. Comprenez bien qu'il ait très probable qu'aucune solution ne fonctionne dans votre cas. En effet, certaines solutions fonctionnent chez certains, et d'autres pour d'autres, voire aucune solution peut n'être fonctionnelle ! |
+ | |||
+ | **Tenez en compte** ! | ||
+ | |||
+ | Un bogue #[[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876033|867033]] est ouvert... Il n'est pas résolu, et pose régulièrement des problèmes avec les nouvelles versions de pilote. | ||
+ | </note> | ||
+ | |||
+ | Lorsque vous exécutez ''optirun'' ou ''primusrun'', vous avez le retour d'erreur suivant : | ||
<code user> | <code user> | ||
Ligne 283: | Ligne 354: | ||
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory | /usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory | ||
</code> | </code> | ||
- | |||
- | Un bogue #[[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876033|867033]] est ouvert... sachez que c'est galère à corriger, parce que même en installant les packages ci-dessous, vous ne serez pas sûr de résoudre le problème. | ||
Dans un premier temps, vérifiez que vous avez bien installé le package ''primus-libs-ia32''. Si ce n'est pas le cas, faites-le ! | Dans un premier temps, vérifiez que vous avez bien installé le package ''primus-libs-ia32''. Si ce n'est pas le cas, faites-le ! | ||
- | Ensuite, essayez l'installation des packages suivants : | + | Sachant qu'**il n'y a aucune garantie de fonctionnement**, vous pouvez essayer l'une des solutions suivantes : |
- | + | ||
- | <code root>apt install libgl1-nvidia-glx libgl1-nvidia-glx:i386 nvidia-driver-libs nvidia-driver-libs-i386</code> | + | |
+ | * Exécutez ''primusrun'' en le préfixant de l'option ''_GLVND_DISALLOW_PATCHING=1'', tel que : ''_GLVND_DISALLOW_PATCHING=1 primusrun glxgears'' - //(cf, la réponse [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876033#22 | 22]])// | ||
+ | * Éditez le fichier ''/usr/bin/primusrun'', pour modifier la ligne ''PRIMUS_libGL=${PRIMUS_libGL:-'/usr/$LIB/primus'}'' par ''PRIMUS_libGL=${PRIMUS_libGL:-"/usr/$LIB/primus"}'' - c'est-à-dire **changer les simples quotes en doubles quotes** - //(cf, la réponse [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876033#59 | 59]])// | ||
+ | * Essayez l'installation des packages suivants : <code root>apt install libgl1-nvidia-glx libgl1-nvidia-glx:i386 nvidia-driver-libs nvidia-driver-libs-i386</code> | ||
Ligne 414: | Ligne 484: | ||
Si vous n'avez aucun retour, c'est qu'il n'est pas installé, faites-le : | Si vous n'avez aucun retour, c'est qu'il n'est pas installé, faites-le : | ||
- | <code root>apt-get install xserver-xorg-video-nvidia</code> | + | <code root>apt install xserver-xorg-video-nvidia</code> |
=== Gestion du fichier 'xorg.conf.nvidia' === | === Gestion du fichier 'xorg.conf.nvidia' === | ||
Ligne 446: | Ligne 516: | ||
Si le serveur X est >= 1.18 et que votre Debian est une Testing, ou une Sid, il semble exister une incompatibilité entre le projet Bumblebee et le paquet 'xserver-xorg-legacy', donc supprimez ce dernier en tant qu'administrateur, s'il est installé ! | Si le serveur X est >= 1.18 et que votre Debian est une Testing, ou une Sid, il semble exister une incompatibilité entre le projet Bumblebee et le paquet 'xserver-xorg-legacy', donc supprimez ce dernier en tant qu'administrateur, s'il est installé ! | ||
- | <code root>apt-get remove --purge xserver-xorg-legacy</code> | + | <code root>apt purge xserver-xorg-legacy</code> |
//C'est clairement un [[https://github.com/Bumblebee-Project/Bumblebee/issues/749#issuecomment-216352740|bogue]] de Bumblebee.// | //C'est clairement un [[https://github.com/Bumblebee-Project/Bumblebee/issues/749#issuecomment-216352740|bogue]] de Bumblebee.// | ||
+ | |||
+ | ==== [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0) ==== | ||
+ | |||
+ | Cette erreur peut-être générée par un des différents points suivants ... veuillez les vérifier un par un, //pas tous en même temps, cela ne sert à rien//. Une fois qu'un point est vérifié/corrigé, [[#redemarrer-le-service-bumblebeed|redémarrez le service Bumblebee]] et essayez à nouveau votre commande. | ||
+ | |||
+ | Si cela ne fonctionne pas, passez au point suivant qui peut aider à la résolution, et répétez le même processus de vérification/modification puis redémarrage du service adéquat - **bien comprendre et accepter que cela ne réglera pas forcément votre problème** ! | ||
+ | |||
+ | === Vérifier 'xserver-xorg-input-mouse' === | ||
+ | |||
+ | Vérifier l'installation du paquet **xserver-xorg-input-mouse**. | ||
+ | |||
+ | <code user>dpkg -l | egrep "xserver-xorg-input-mouse"</code> | ||
+ | <code>ii xserver-xorg-input-mouse 340.96-1 amd64 NVIDIA binary Xorg driver</code> | ||
+ | |||
+ | Si vous n'avez aucun retour, c'est qu'il n'est pas installé, faites-le : | ||
+ | |||
+ | <code root>apt install xserver-xorg-input-mouse</code> | ||
+ | |||
+ | === Vérifier le fichier xorg.conf.nvidia === | ||
+ | |||
+ | Vérifiez le fichier ''/etc/bumblebee/[[#gestion-du-fichier-xorgconfnvidia|xorg.conf.nvidia]]''. | ||
+ | |||
+ | === Vérifier votre identifiant PCI === | ||
+ | |||
+ | Vérifiez que votre [[#erreur-d-identifiant-pci|identifiant de Bus PCI]] soit correctement écrit ! | ||
+ | |||
==== [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected ==== | ==== [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected ==== | ||
Ligne 514: | Ligne 610: | ||
Pour redémarrer le service lié à Bumblebee, exécutez la commande suivante en tant qu'administrateur : | Pour redémarrer le service lié à Bumblebee, exécutez la commande suivante en tant qu'administrateur : | ||
- | |||
- | === Pour Wheezy === | ||
- | |||
- | <code root>service bumblebeed restart</code> | ||
- | |||
- | === Pour Jessie (et versions supérieures) === | ||
<code root>systemctl restart bumblebeed</code> | <code root>systemctl restart bumblebeed</code> |