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 [10/12/2016 11:06] PengouinPdt [Gestion des erreurs] |
doc:materiel:cartes-graphique:nvidia:optimus [10/12/2016 16:35] PengouinPdt [Procédure d'installation de Bumblebee] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Nvidia Optimus ====== | ||
- | |||
- | * Objet : Nvidia Optimus | ||
- | * Niveau requis :{{tag>avisé}} | ||
- | * Commentaires : // Le logiciel Bumblebee est un logiciel qui se charge de gérer votre carte graphique Nvidia. // | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
- | * Suivi :{{tag>à-tester}} | ||
- | * Création par [[user>smolski]] le 08/02/2012 | ||
- | * Testé par .... le .... | ||
- | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=4924 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | |||
- | |||
- | |||
- | ===== Introduction ===== | ||
- | |||
- | La technologie Nvidia Optimus est équipée sur certains ordinateurs portables. \\ | ||
- | Il s'agit : | ||
- | - [[doc:materiel:cartes-graphique:cartes-graphique|d'une carte graphique]] **dédiée** | ||
- | - //couplée// à une carte graphique **intégrée** de marque **Intel**. | ||
- | |||
- | Le processeur de l'ordinateur portable gère l'affichage graphique et y alloue une partie de sa puissance. \\ | ||
- | Lorsque la charge graphique est trop importante : | ||
- | - la carte graphique Intel intégrée passe le relais à -> \\ | ||
- | - [[doc:materiel:cartes-graphique:nvidia:accueil|la carte Nvidia]], (//qui est beaucoup plus puissante mais plus énergivore//). | ||
- | |||
- | De ce fait, cette technologie permet à l'ordinateur portable | ||
- | - d'avoir une meilleure autonomie sur batterie en utilisant que la carte graphique intégrée | ||
- | - d'avoir une meilleure puissance graphique branché sur secteur, en utilisant la carte graphique dédiée. \\ Bien sûr, il reste possible aussi de l'utiliser sur batterie... | ||
- | |||
- | Sous votre Debian adorée, cela n'est pas correctement possible. | ||
- | |||
- | La situation est en fait critique parce que le portable alimente bien électriquement la carte graphique Nvidia mais ne peut pas utiliser sa puissance, il n'y a donc : | ||
- | - ni autonomie, | ||
- | - ni puissance... | ||
- | |||
- | [[doc:systeme:noyau:theorie|Les noyaux Linux 3.3]] ou supérieurs devraient améliorer davantage encore le support matériel. | ||
- | |||
- | ==== Eurékâ ! ==== | ||
- | |||
- | **Bumblebee** est un logiciel qui se charge de gérer votre carte graphique Nvidia. \\ | ||
- | Tous les logiciels que vous lancez utiliseront par défaut la carte intégrée, cependant, vous pourrez alors lancer ces programmes en //leur donnant l'ordre// d'utiliser la carte Nvidia avec le préfixe ''optirun'' ! =) | ||
- | |||
- | ===== Fonctionnement ===== | ||
- | |||
- | Il vous faut bien comprendre le fonctionnement : | ||
- | - Votre station démarre et fonctionne **à partir** de la puce graphique Intel et grâce au projet ''Bumblebee'' avec l'usage de l'outil ''optirun'', vous activerez //momentanément// votre processeur graphique nvidia. | ||
- | - Dans ce contexte d'usage, vous ne fonctionnerez jamais **directement** avec votre carte nvidia. | ||
- | |||
- | ==== HDMI ==== | ||
- | |||
- | Pas de gestion HDMI à partir de la puce graphique nVidia ! | ||
- | |||
- | ===== Vérification ===== | ||
- | |||
- | |||
- | 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> | ||
- | |||
- | Exemple de sortie du terminal : | ||
- | <code> | ||
- | 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) | ||
- | 01:00.0 VGA compatible controller: nVidia Corporation GF108 [GeForce GT 540M] (rev ff) | ||
- | </code> | ||
- | |||
- | Autre exemple : | ||
- | <code> | ||
- | 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) | ||
- | 03:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev ff) | ||
- | </code> | ||
- | |||
- | Si une seule ligne est rapportée, c'est que votre PC ne dispose pas de ce système. \\ | ||
- | Par contre, si la réponse est de deux lignes, dont une qui contient Intel et une autre Nvidia, c'est que votre ordinateur portable en est équipé. | ||
- | |||
===== Procédure d'installation de Bumblebee ===== | ===== Procédure d'installation de Bumblebee ===== | ||
Ligne 139: | Ligne 66: | ||
=> Pour installer Bumblebee et gérer le pilote privatif nvidia : | => Pour installer Bumblebee et gérer le pilote privatif nvidia : | ||
- | <code root>apt-get install nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils bumblebee-nvidia primus</code> | + | <code root>apt-get install bumblebee-nvidia primus nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils xserver-xorg-video-nvidia linux-headers-$(uname -r)</code> |
Toutefois installer de préférence la version des dépôts backports de jessie : \\ | Toutefois installer de préférence la version des dépôts backports de jessie : \\ | ||
- | <code root> apt-get install -t jessie-backports nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils bumblebee-nvidia primus</code> | + | <code root> apt-get install -t jessie-backports bumblebee-nvidia primus nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils 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 226: | Ligne 153: | ||
Ensuite, **redémarrez l'ordinateur** puis votre session comme d'habitude. | Ensuite, **redémarrez l'ordinateur** puis votre session comme d'habitude. | ||
- | ===== Utilisation ===== | ||
- | |||
- | À partir de maintenant, pour activer la gestion du processeur graphique Nvidia, il faut précéder toute commande par l'usage de la commande 'optirun', telle que - //par exemple// - : | ||
- | |||
- | <code user>optirun firefox</code> | ||
- | |||
- | ==== Gestion du panel nvidia ==== | ||
- | |||
- | Pour pouvoir utiliser le panel nvidia, le seul moyen est de le lancer en mode console, tel que : | ||
- | |||
- | <code user>optirun nvidia-settings -c :8 </code> | ||
- | |||
- | <note>Il est possible de modifier le menu, pour ajouter la commande 'optirun', voir ci-dessous ... le chapitre "Gestion menu"</note> | ||
- | |||
- | ==== Test ==== | ||
- | |||
- | Lancez un terminal et lancez la commande suivante pour tester les performances de votre carte graphique intégrée Intel : | ||
- | <code user> | ||
- | glxgears</code> | ||
- | |||
- | Un engrenage doit apparaître et le nombre d'image par seconde doit être inscrit toutes les 5s dans le terminal. Cela estime la puissance de la carte intégrée. | ||
- | |||
- | Maintenant, démarrez la même commande avec le préfixe « optirun » : | ||
- | <code user> | ||
- | optirun glxgears</code> | ||
- | |||
- | Normalement, les performances affichées dans le terminal devraient être nettement supérieures ! \\ | ||
- | Sur le PC où ces lignes sont écrites, la carte intégrée affiche 60fps (pour « frames per seconds », images par seconde en français) et la carte Nvidia affiche 1100fps. | ||
- | |||
- | |||
- | ===== Gestion des erreurs ===== | ||
- | |||
- | S'il n'y a pas de différence de performances entre « glxgears » et « optirun glxgears », vérifiez que vous avez scrupuleusement suivi le tutorial. | ||
- | |||
- | Si c'est le cas, veuillez rapporter votre problème sur le forum dans le lien pour la FAQ de ce tuto ci-dessous : | ||
- | |||
- | * [[http://debian-facile.org/viewtopic.php?id=6324 | Problème d'installation résolu par Rol]] | ||
- | * http://forum.ubuntu-fr.org/viewtopic.php?id=565321 | ||
- | |||
- | |||
- | <note important>Il semble que la version 340 du pilote nvidia soit défectueuse - version par défaut pour Jessie !</note> | ||
- | |||
- | ==== erreur libturbojpeg.so ==== | ||
- | |||
- | Lorsque vous exécutez une commande avec optirun, vous avez pour retour le message d'erreur suivant : | ||
- | |||
- | <code>error while loading shared libraries: libturbojpeg.so: cannot open shared object file: No such file or directory</code> | ||
- | |||
- | Selon votre version de Debian, il va falloir faire une modification système, avec des droits administrateurs, puis une fois accomplie, exécutez à nouveau la commande ! | ||
- | |||
- | === architecture pc 32 bits === | ||
- | |||
- | Si votre architecture est 32 bits, tapez dans votre terminal console préféré, cette commande avec les droits administrateur : | ||
- | |||
- | <code root>ln -s /usr/lib/i386-linux-gnu/libturbojpeg.so.0 /usr/lib/i386-linux-gnu/libturbojpeg.so</code> | ||
- | |||
- | === architecture pc 64 bits === | ||
- | |||
- | Si votre architecture est 64 bits, tapez cette commande-ci, toujours avec les droits administrateur : | ||
- | <code root>ln -s /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0 /usr/lib/x86_64-linux-gnu/libturbojpeg.so</code> | ||
- | |||
- | ==== [ERROR]Cannot access secondary GPU - error: Could not load GPU driver ==== | ||
- | |||
- | Testez une des solutions, une par une, puis ensuite [[#redemarrer-le-service-bumblebeed|redémarrer le service Bumblebee]], et essayez d'utiliser à nouveau votre commande précédée d'optirun ! | ||
- | |||
- | === Modification de "Driver" === | ||
- | |||
- | Une solution très simple est d'éditer le fichier /etc/bumblebee/bumblebee.conf, avec les droits administrateurs, pour modifier la ligne 'Driver=' en début de fichier : | ||
- | |||
- | <code> | ||
- | # Configuration file for Bumblebee. Values should **not** be put between quotes | ||
- | |||
- | ## Server options. Any change made in this section will need a server restart | ||
- | # to take effect. | ||
- | [bumblebeed] | ||
- | # The secondary Xorg server DISPLAY number | ||
- | VirtualDisplay=:8 | ||
- | # Should the unused Xorg server be kept running? Set this to true if waiting | ||
- | # for X to be ready is too long and don't need power management at all. | ||
- | KeepUnusedXServer=false | ||
- | # The name of the Bumbleblee server group name (GID name) | ||
- | ServerGroup=bumblebee | ||
- | # Card power state at exit. Set to false if the card shoud be ON when Bumblebee | ||
- | # server exits. | ||
- | TurnCardOffAtExit=false | ||
- | # The default behavior of '-f' option on optirun. If set to "true", '-f' will | ||
- | # be ignored. | ||
- | NoEcoModeOverride=false | ||
- | # The Driver used by Bumblebee server. If this value is not set (or empty), | ||
- | # auto-detection is performed. The available drivers are nvidia and nouveau | ||
- | # (See also the driver-specific sections below) | ||
- | Driver= | ||
- | (...) | ||
- | </code> | ||
- | |||
- | Modifiez la ligne 'Driver=' tel que : **Driver=nvidia** | ||
- | |||
- | <note>En effet, Bumblebee sans cette modification n'arrive pas à trouver le bon module.</note> | ||
- | |||
- | === Modification de "KernelDriver" === | ||
- | |||
- | Dans un premier temps, vérifiez le nom du pilote nvidia chargé : | ||
- | |||
- | <code root>modinfo nvidia</code> | ||
- | |||
- | puis : | ||
- | |||
- | <code root>modinfo nvidia-current</code> | ||
- | |||
- | Si l'une des deux commandes restitue, par exemple : | ||
- | |||
- | <code>modinfo: ERROR: Module not found.</code> | ||
- | |||
- | C'est que ce n'est pas le bon nom de pilote utilisé. | ||
- | |||
- | S'il vous restitue, par exemple : | ||
- | |||
- | <code> | ||
- | modinfo nvidia-current | ||
- | filename: /lib/modules/4.8.0-1-amd64/updates/dkms/nvidia-current.ko | ||
- | alias: char-major-195-* | ||
- | version: 367.57 | ||
- | supported: external | ||
- | license: NVIDIA | ||
- | (...) | ||
- | </code> | ||
- | |||
- | <note>Normalement, le bon nom de pilote doit être 'nvidia-current'</note> | ||
- | |||
- | Ensuite, éditez le fichier '/etc/bumblebee/bumblebee.conf' pour vérifier la section [driver-nvidia], avec les droits administrateur : | ||
- | |||
- | <code root>nano /etc/bumblebee/bumblebee.conf</code> | ||
- | <code> | ||
- | (...) | ||
- | ## Section with nvidia driver specific options, only parsed if Driver=nvidia | ||
- | [driver-nvidia] | ||
- | # Module name to load, defaults to Driver if empty or unset | ||
- | KernelDriver=nvidia-current | ||
- | (...) | ||
- | </code> | ||
- | |||
- | S'il apparaît que la ligne 'KernelDriver' comporte juste la mention suivante 'KernelDriver=nvidia', modifiez-la par '** KernelDriver=nvidia-current**' | ||
- | |||
- | Si dans votre cas, exceptionnel, le bon nom de pilote est bel et bien 'nvidia', modifiez si besoin la ligne en question par "KernelDriver=nvidia". | ||
- | |||
- | //C'est un [[https://bugs.debian.org/717687|bogue]] Debian connu - apparemment réglé dans la future version 3.2.1-11 de Bumblebee// | ||
- | |||
- | ==== [ERROR]Cannot access secondary GPU - error: [XORG] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied ==== | ||
- | |||
- | 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-video-nvidia' === | ||
- | |||
- | Vérifier l'installation du paquet **xserver-xorg-video-nvidia**. | ||
- | |||
- | <code user>dpkg -l | egrep "xserver-xorg-video-nvidia"</code> | ||
- | <code>ii xserver-xorg-video-nvidia 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-get install xserver-xorg-video-nvidia</code> | ||
- | |||
- | === Gestion du fichier 'xorg.conf.nvidia' === | ||
- | |||
- | Ouvrez le fichier '/etc/bumblebee/xorg.conf.nvidia', et ajoutez les informations suivantes : | ||
- | |||
- | <code root>nano /etc/bumblebee/xorg.conf.nvidia</code> | ||
- | <code> | ||
- | Section "Screen" | ||
- | Identifier "Default Screen" | ||
- | Device "DiscreteNvidia" | ||
- | EndSection | ||
- | </code> | ||
- | |||
- | //C'est un [[https://bugs.debian.org/756522|bogue]] Debian Jessie connu, à-propos de Bumblebee - version 3.2.1-*, et Nvidia : 340.*.// | ||
- | |||
- | === Vérification prise en charge par 'nouveau' === | ||
- | |||
- | Si vous avez installé Bumblebee pour fonctionner avec le pilote libre 'nouveau', vérifiez le support de votre GPU nvidia par le pilote - s'il n'est pas pris-en-charge, installez la version 'Bumblebee-nvidia'. Si votre version de GPU est bien prise en charge par le pilote 'nouveau', vérifiez l'écriture de l'identifiant de Bus PCI, tel que ci-dessous. | ||
- | |||
- | === Erreur d'identifiant PCI === | ||
- | |||
- | <note important>L'identifiant de Bus PCI doit bien être écrit ainsi : BusID "PCI:01:00:0" - et non pas BusID "PCI:01:00.0"</note> | ||
- | |||
- | Si vous utilisez Bumblebee avec le pilote 'nouveau', vérifiez le support de votre version de GPU - si ce n'est pas le cas, installez la version de 'Bumblebee-nvidia'. Si c'est le cas, vérifiez votre écriture de l'identifiant du Bus PCI. | ||
- | |||
- | Il peut être utile, dans les deux cas de commenter toute écriture relative à l'identifiant du Bus PCI. | ||
- | |||
- | === Xorg >= 1.18 === | ||
- | |||
- | 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> | ||
- | |||
- | //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) No devices detected ==== | ||
- | |||
- | Ouvrez le fichier '/etc/bumblebee/xorg.conf.nvidia', et modifiez l'option BusID. Vous trouverez cette information par l'usage de la commande 'lsusb'. | ||
- | |||
- | ==== [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Problem parsing the config file ==== | ||
- | |||
- | **Vérifiez le fichier de configuration que vous venez de modifier !!!** | ||
- | |||
- | Que ce soit le fichier '/etc/bumblebee/xorg.config.nvidia' ou '/etc/bumblebee/xorg.config.nouveau', vous avez créé/modifié une section, et oublié/supprimé par erreur, de fermer correctement la section, voire une section est mal écrite ! | ||
- | |||
- | ==== fallen off the bus ==== | ||
- | |||
- | Si 'dmesg' vous informe du soucis GPU suivant 'fallen off the bus', il y a deux manières de régler le problème : | ||
- | |||
- | === première solution === | ||
- | |||
- | Testez la commande suivante, avant le lancement d'optirun : | ||
- | |||
- | <code root>tee /sys/module/rcutree/parameters/rcu_idle_gp_delay <<<1 </code> | ||
- | |||
- | Si cela fonctionne en effet correctement, **modifiez le fichier '/etc/default/grub' pour ajouter** l'information suivante à la ligne de commande GRUB_CMDLINE_LINUX_DEFAULT : rcutree.rcu_idle_gp_delay=1. | ||
- | |||
- | <code root>nano /etc/default/grub</code> | ||
- | <code>(...) | ||
- | GRUB_CMDLINE_LINUX_DEFAULT="quiet rcutree.rcu_idle_gp_delay=1" | ||
- | (...)</code> | ||
- | |||
- | Mettez-à-jour votre grub : | ||
- | |||
- | <code root>update-grub</code> | ||
- | |||
- | et **redémarrez votre ordinateur** ... | ||
- | |||
- | === deuxième solution === | ||
- | |||
- | L'autre solution est de vérifier votre version de kernel linux - en effet ce problème concerne les noyaux versions 3.10 à 3.19 ! | ||
- | Soit vous choisissez un noyau antérieur, soit vous upgradez sur un noyau plus récent ! | ||
- | |||
- | //C'est clairement un [[https://github.com/Bumblebee-Project/Bumblebee/issues/455#issuecomment-22497464|bogue]] de Bumblebee.// | ||
- | |||
- | ==== modprobe:FATAL:Module nouveau in use ==== | ||
- | |||
- | Vous avez installé le pilote nvidia ... \\ | ||
- | et le système vous répond l'erreur suivante : 'modprobe:FATAL:Module nouveau in use', il est intéressant de le désactiver le module 'nouveau' lors du démarrage du noyau. | ||
- | |||
- | Paramétrez le fichier de configuration de grub '/etc/default/grub' afin de rajouter les paramètres noyau suivants 'nouveau.modeset=0' et 'modprobe.blacklist=nouveau' dans la ligne de configuration relative à 'GRUB_CMDLINE_LINUX_DEFAULT', telle que, par exemple : | ||
- | |||
- | <code root>nano /etc/default/grub</code> | ||
- | <code>(...) | ||
- | GRUB_CMDLINE_LINUX_DEFAULT="quiet nouveau.modeset=0 modprobe.blacklist=nouveau" | ||
- | (...)</code> | ||
- | |||
- | Mettez-à-jour votre grub : | ||
- | |||
- | <code root>update-grub</code> | ||
- | |||
- | et **redémarrez votre ordinateur** ... | ||
- | |||
- | //[[https://fixmynix.com/nvidia-optimus-troubleshooting-in-debain-kali-linux-ubuntu/|source]]// | ||
- | ===== Autres informations ===== | ||
- | |||
- | ==== Redémarrer le service bumblebeed ==== | ||
- | |||
- | 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> | ||
- | |||
- | ==== Documentation alternative ==== | ||
- | |||
- | Vous pouvez retrouver un complément d'informations sur la page [[http://wiki.debian.org/fr/Bumblebee|wiki du projet Debian]]... | ||
- | |||
- | ==== Gestion menu ==== | ||
- | |||
- | Si vous utilisez « Gnome », l'environnement de bureau par défaut de Debian, vous pouvez configurer vos raccourcis du menu avec « alacarte » | ||
- | <code root>apt-get install alacarte</code> | ||
- | |||
- | ==== Ordinateurs testés ==== | ||
- | |||
- | * Asus N53SV, wheezy et SID, s'installe et fonctionne sans modification manuelle. | ||
- | * Dell AlienWare 13, sous Sid | ||
- | * Dell Optirun R15, sous Jessie | ||
- | |||
- |