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 →
Ceci est une ancienne révision du document !
La technologie Nvidia Optimus est équipée sur certains ordinateurs portables.
Il s'agit :
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 :
De ce fait, cette technologie permet à l'ordinateur portable
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 :
Les noyaux Linux 3.3 ou supérieurs devraient améliorer davantage encore le support matériel.
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
!
Il vous faut bien comprendre le fonctionnement :
Bumblebee
avec l'usage de l'outil optirun
, vous activerez momentanément votre processeur graphique nvidia.Pas de gestion HDMI à partir de la puce graphique nVidia !
Pour vérifier que vous disposez effectivement de matériel équipé de ce système, ouvrez un terminal et rentrez :
lspci | egrep "VGA|3D"
Exemple de sortie du terminal :
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)
Autre exemple :
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)
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é.
apt-get remove --purge nvidia-*
La démarche est la suivante :
dpkg --print-architecture
amd64
dpkg --add-architecture i386
apt-get update
apt-get install primus-libs-ia32 # pour wheezy, c'est : primus-libs:i386
À cette étape, il vous faut choisir quel pilote logiciel vous désirez installer :
De même, si vous installez le pilote, il vous faudra être attentif aux différentes recommandations pour désactiver le support 'nouveau'.
⇒ Pour installer Bumblebee et fonctionner avec le pilote libre 'nouveau' :
apt-get install bumblebee mesa-utils
⇒ Pour installer Bumblebee et gérer le pilote privatif nvidia :
apt-get 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)
Toutefois installer de préférence la version des dépôts backports de jessie :
apt-get install -t jessie-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)
Lors de l'installation, il vous sera affiché une première fenêtre d'information :
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 :
vous affichant qu'il faudra modifier manuellement la configuration de votre machine pour qu'elle fonctionne avec le pilote nvidia - c'est ce que vous ferez ensuite.
En effet, depuis que Xorg fonctionne de manière automatique, on ne doit pas - sauf cas particulier - créer de fichier xorg.conf.
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” …
Pour vérifier s'ils sont actifs, exécutez :
lsmod | egrep -i "nouveau|vga_switcheroo"
S'il n'y a rien, c'est impeccable !
Si c'est le cas, déchargez les modules correspondants ainsi :
modprobe -r nouveau
modprobe -r vga_switcheroo
En effet, si ces modules sont actifs, ils empêcheront le fonctionnement correct avec le pilote nvidia !
Il se peut aussi que vous ayez le message d'erreur suivant :
modprobe:FATAL:Module nouveau in use
dans ce cas, veuillez lire le chapitre d'erreur relatif …
Il semble nécessaire de devoir installer le binaire VirtualGL
, requis par optirun … qui, malheureusement n'est pas fourni dans les dépôts officiels !
Téléchargez-le à partir de la page de téléchargement du projet.
Ne téléchargez pas le fichier relatif à l'archive .tar.gz, mais
virtualgl_num-version_i386.deb
, ou virtualgl_num-version_amd64.deb
. Téléchargez le bon fichier4), puis installez-le à l'aide de l'outil dpkg …
cd Téléchargements/
dpkg -i virtualgl_*.deb
« Si sudo est configuré pour votre utilisateur courant, c'est-à-dire si votre utilisateur est membre du groupe sudo, cette étape n'est pas nécessaire (le script post-installation du paquet bumblebee se charge d'ajouter automatiquement les utilisateurs de sudo au groupe bumblebee). »
C'est probablement la raison pour laquelle Bumblebee marche directement avec Ubuntu mais pas avec Debian, avec pourtant la même configuration d'origine.
En fait Ubuntu installe sudo par défaut ; ce qui n'est pas le cas de Debian qui vous propose de créer la session root à l'installation du système.
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.
La procédure n'étant pas complètement automatisée, il faut 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) :
groupadd bumblebee
adduser USER bumblebee
Ajoutez votre utilisateur au groupe bumblebee - là aussi, remplacez USER du tuto par votre nom d'utilisateur - :
adduser USER bumblebee
Ensuite, redémarrez l'ordinateur puis votre session comme d'habitude.
À 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 - :
optirun firefox
Pour pouvoir utiliser le panel nvidia, le seul moyen est de le lancer en mode console, tel que :
optirun nvidia-settings -c :8
Lancez un terminal et lancez la commande suivante pour tester les performances de votre carte graphique intégrée Intel :
glxgears
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 » :
optirun glxgears
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.
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 :
Lorsque vous exécutez une commande avec optirun, vous avez pour retour le message d'erreur suivant :
error while loading shared libraries: libturbojpeg.so: cannot open shared object file: No such file or directory
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 !
Si votre architecture est 32 bits, tapez dans votre terminal console préféré, cette commande avec les droits administrateur :
ln -s /usr/lib/i386-linux-gnu/libturbojpeg.so.0 /usr/lib/i386-linux-gnu/libturbojpeg.so
Si votre architecture est 64 bits, tapez cette commande-ci, toujours avec les droits administrateur :
ln -s /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0 /usr/lib/x86_64-linux-gnu/libturbojpeg.so
Testez une des solutions, une par une, puis ensuite redémarrer le service Bumblebee, et essayez d'utiliser à nouveau votre commande précédée d'optirun !
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 :
# 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= (...)
Modifiez la ligne 'Driver=' tel que : Driver=nvidia
Dans un premier temps, vérifiez le nom du pilote nvidia chargé :
modinfo nvidia
puis :
modinfo nvidia-current
Si l'une des deux commandes restitue, par exemple :
modinfo: ERROR: Module not found.
C'est que ce n'est pas le bon nom de pilote utilisé.
S'il vous restitue, par exemple :
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 (...)
Ensuite, éditez le fichier '/etc/bumblebee/bumblebee.conf' pour vérifier la section [driver-nvidia], avec les droits administrateur :
nano /etc/bumblebee/bumblebee.conf
(...) ## 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 (...)
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 bogue Debian connu - apparemment réglé dans la future version 3.2.1-11 de Bumblebee
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é, 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 l'installation du paquet xserver-xorg-video-nvidia.
dpkg -l | egrep "xserver-xorg-video-nvidia"
ii xserver-xorg-video-nvidia 340.96-1 amd64 NVIDIA binary Xorg driver
Si vous n'avez aucun retour, c'est qu'il n'est pas installé, faites-le :
apt-get install xserver-xorg-video-nvidia
Ouvrez le fichier '/etc/bumblebee/xorg.conf.nvidia', et ajoutez les informations suivantes :
nano /etc/bumblebee/xorg.conf.nvidia
Section "Screen" Identifier "Default Screen" Device "DiscreteNvidia" EndSection
C'est un bogue Debian Jessie connu, à-propos de Bumblebee - version 3.2.1-*, et Nvidia : 340.*.
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.
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.
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é !
apt-get remove --purge xserver-xorg-legacy
C'est clairement un bogue de Bumblebee.
Ouvrez le fichier '/etc/bumblebee/xorg.conf.nvidia', et modifiez l'option BusID. Vous trouverez cette information par l'usage de la commande 'lsusb'.
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 !
Si 'dmesg' vous informe du soucis GPU suivant 'fallen off the bus', il y a deux manières de régler le problème :
Testez la commande suivante, avant le lancement d'optirun :
tee /sys/module/rcutree/parameters/rcu_idle_gp_delay <<<1
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.
nano /etc/default/grub
(...) GRUB_CMDLINE_LINUX_DEFAULT="quiet rcutree.rcu_idle_gp_delay=1" (...)
Mettez-à-jour votre grub :
update-grub
et redémarrez votre ordinateur …
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 bogue de Bumblebee.
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 :
nano /etc/default/grub
(...) GRUB_CMDLINE_LINUX_DEFAULT="quiet nouveau.modeset=0 modprobe.blacklist=nouveau" (...)
Mettez-à-jour votre grub :
update-grub
et redémarrez votre ordinateur …
Pour redémarrer le service lié à Bumblebee, exécutez la commande suivante en tant qu'administrateur :
service bumblebeed restart
systemctl restart bumblebeed
Vous pouvez retrouver un complément d'informations sur la page wiki du projet Debian…
Si vous utilisez « Gnome », l'environnement de bureau par défaut de Debian, vous pouvez configurer vos raccourcis du menu avec « alacarte »
apt-get install alacarte