revoir la page nvidia: installation avant ou après ? |
---|
Bumblebee est un projet indépendant géré par plusieurs développeurs réunis dans une équipe nommée Bumblebee Project et dont le but est de supporter la technologie Optimus (le support d'Hybrid SLI est aussi de la partie) sous GNU/Linux, que ce soit sous Ubuntu ou une autre distribution. Le support est néanmoins plus présent pour Ubuntu et ArchLinux que les autres distributions.
C'est la solution conseillée. Bumblebee offre la possibilité d'utiliser la carte graphique NVIDIA lorsque nécessaire (via au choix le pilote propriétaire nvidia ou le pilote libre nouveau, le pilote propriétaire nvidia étant cependant fortement recommandé dans le cas de cette technologie, et c'est d'ailleurs le comportement par défaut actuellement), et d'éteindre celle-ci le reste du temps. D'autres solutions existent, mais celle-ci à l'avantage d'être la plus stable, et a comme propriété non négligeable d'être en partie développée par un membre du forum Ubuntu-fr, ArchangeGabriel, qui pourra vous aider dans le topic dédié.
lsb_release -a
Ou depuis un terminal avec les commandes suivantes:
sudo apt-add-repository ppa:bumblebee/stable sudo apt-get update sudo apt-get install bumblebee bumblebee-nvidia virtualgl linux-headers-generic reboot
Passez au chapitre 3. Tester Bumblebee.
((en) Source)
Bumblebee est disponible dans les dépôts officiels pour Ubuntu Trusty 14.04 et au delà.
((en) Source)
Pour les utilisateurs avancés, si vous ne voulez pas utiliser les bibliothèques de pilote propriétaires de NVIDIA ou 32 bits (par exemple, si vous ne souhaitez que des économies d'énergie), vous pouvez faire une installation personnalisée: depuis un terminal avec les immandes suivantes:
sudo apt-get install --no-install-recommends bumblebee
Selon vos besoins, installez aussi:
((en) Source)
glxspheres
Si ça ne marche pas, il vous dit “commande introuvable”, essayer
glxspheres64
Si cela ne marche toujours pas, voir le chapitre glxspheres et glxspheres64 , commande introuvable.
Une fenêtre apparaît, avec une animation de sphères colorées. Laisser tourner 30s, puis fermez la fenêtre, et notez le résultat.
optirun glxspheres
Normalement, les résultats devraient être supérieurs avec optirun. Cependant, l'utilisation de VirtualGL limite les performances pour le moment, mais les développeurs travaillent sur ce problème, néanmoins il se peut que dans certaines situations la carte NVIDIA n'offre pas de meilleures performances.
Pour effectuer le lancement d'une application avec la carte graphique NVIDIA, saisir dans un terminal la commande optirun
suivi de l'application:
optirun [options] <application> [paramètres-de-l'application]
Par exemple:
optirun firefox
( Ce lien optirun: pour connaître la liste d'option.)
Normalement, vous n'utilisez pas optirun pour votre gestionnaire de fenêtre, l'installation d'application, ou d'autres programmes intensifs non-graphique,…. La commande optirun
est principalement utilisée pour les applications graphiques exigeants, par exemple les jeux.
Par ailleurs, le gestionnaire de configuration nVidia settings est accessible seulement en le lançant en ligne de commande dans un terminal:
optirun -b none nvidia-settings -c :8
: n'est pas dans la page source. Pour lancer des applications avec primus (il faut l'avoir installé d'abord, cf. ci-dessus) :
optirun -b primus <application>
(en) Source
cat /sys/class/power_supply/BAT0/power_now
(A noter que BAT0 peut être à remplacer par BAT1 sur certains modèles, voir même un autre chiffre)
optirun bash
Il semble a priori ne rien s'être passé, mais en réalité la carte est maintenant allumée.
cat /sys/class/power_supply/BAT0/power_now
update-grub
Un autre moyen de vérifier la consommation est d'utiliser l'outil powerstat
: Sera supprimée
Depuis la version 3.1 de Bumblebee, il suffit d'installer la version de votre choix.
Cela dépend des modèles, mais pour la plupart, c'est matériellement impossible. La carte NVIDIA et la carte Intel sont matériellement connectées entre elles, et seule la carte Intel est connectée à l'écran. Donc l'affichage passe forcément par la carte Intel, il n'est donc pas possible de la désactiver. Au mieux, il sera possible dans un futur lointain de tout faire tourner sur la carte NVIDIA et de n'utiliser la carte Intel que pour l'affichage à l'écran.
Cependant certaines cartes mères gèrent la désactivation des composants matériels vidéo et son depuis le Bios ( carte Gigabyte sous Peripherals/Internal Graphics –> Disable ) et certains modèles (Lenovo notamment) offrent cette possibilité.
Ce sera possible avec PRIME, mais pas avant (possible désormais avec les pilotes 319.12, Linux 3.9 et X.org 1.14, moyennant un peu de configuration à faire). voir sur le forum pour un tutoriel.
Un projet, aujourd'hui abandonné, visait à fournir cette fonctionnalité entre autres choses. Il s'agissait de bumblebee-ui. Une première vidéo de démonstration est disponible. On aura sûrement un outil similaire pour PRIME. Si vous utilisez Kubuntu ou autre distribution utilisant KDE, voir Plasma Bumblebee Indicator
C'est normal, car c'est la réalité. Bumblebee utilise le pilote nvidia et l'a donc installé. Cependant, ce pilote n'est chargé que lorsqu'il est utilisé, c'est-à-dire lorsque optirun tourne, car ce n'est pas lui qui est responsable de l'affichage. Rien d'alarmant donc.
Tout d'abord, si on vous conseille d'utiliser nvidia-xconfig, ne le faites pas !
En fait, le Panneau de Configuration NVIDIA ne détecte votre carte que si le fichier xorg.conf utilisé est celui de celle-ci et que de plus le serveur X.org sur lequel le Panneau tourne est géré par cette carte. Ces conditions font qu'il n'est pas possible d'utiliser le Panneau de Configuration NVIDIA tel quel pour le moment, nous réfléchissons aux différentes options qui s'offrent à nous pour contourner ce problème.
Voir à la section Utilisation ci-dessus, comment lancer nvidia-settings.
Non pas du tout, ce devrait plutôt être un “Warning” (Avertissement) qu'une “Error” (Erreur), mais ça ne pose en aucun cas de problèmes.
Très certainement. A moins qu'il ne s'agisse d'un problème simple dont les solutions existent déjà, votre port HDMI est probablement relié à la carte nVidia. Nous avons beaucoup de travaux à faire de ce point de vue là, car pour le moment, il est quasiment impossible d'utiliser un tel port HDMI sous GNU/Linux.
Vous rencontrez un problème, un message d'erreur, et vous ne savez pas quoi faire ? Commencer par comparer votre problème avec ceux décrits ici (chaque problème comporte plusieurs cas qui sont tous réglés par la solution proposée a priori, vous n'avez pas nécessairement tous les symptômes), et vous trouverez peut-être le (ou les) votre et sa (leur) solution(s).
C'est la première chose à vérifier, lire la page de la doc sur Optimus pour le vérifier.
Il est important d'avoir la dernière version disponible, de nombreux problèmes sont corrigés au fur et à mesure de leur découverte. Vérifiez donc qu'il n'y a pas de mises à jour disponibles avec le gestionnaire idoine.
Au 26/04/2013, les paquets de Bumblebee Project en sont aux versions suivantes (distro est à remplacer par le nom de version de votre système, e.g. oneiric) :
Il est conseillé d'utiliser la dernière version stable du pilote nvidia (331 au 04/03/2014), cf. la partie correspondante du guide d'installation.
Suppression prévue.
Un problème très fréquent sous Quantal est que les headers ne sont pas installés sur le système, empêchant la compilation du pilote nvidia ainsi que de bbswitch. Le message d'erreur correspondant est généralement celui-ci :
[ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect. [ERROR]Could not connect to bumblebee daemon - is it running?
La solution est la suivante (remplacer nvidia-current par la version que vous utilisez) :
sudo apt-get purge bbswitch-dkms nvidia-current sudo apt-get install linux-headers-generic sudo apt-get install --reinstall nvidia-current bbswitch-dkms bumblebee
sudo rm /etc/X11/xorg.conf
Si ce n'est pas le cas (i.e. le fichier n'existe pas) où que le problème persiste, regardez le problème suivant.
Xlib: extension "GLX" missing on display ":0"
Error: couldn't find RGB GLX visual or fbconfig
ERROR(596): Could not obtain RGB visual with requested properties
Ce problème vient d'une mauvaise installation du pilote nvidia qui a supplanté les librairies graphiques de la cartes Intel. Pour le corriger,
sudo apt-get install --reinstall libgl1-mesa-glx bumblebee-nvidia
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) [drm] failed to open device
lsmod | grep nouveau
S'il n'y a pas de retour, tout va bien. Sinon, effectuez ceci:
sudo rmmod nouveau
sudo modprobe nvidia-current
Si vous obtenez ce message d'erreur :
FATAL: Module nvidia_current not found.
Effectuez ceci :
sudo apt-get install --reinstall nvidia-current
Sinon, essayez de modifier l'option “Driver” en éditant avec les droits d'administrateur le fichier /etc/bumblebee/bumblebee.conf en remplaçant
Driver=
par
Driver=nvidia
Redémarrer et vérifier si cela a résolu le problème.
ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
Si vous êtes sur une version 64bits, commencez par vérifier que le paquet virtualgl-libs:i386 est bien installé. Si ce n'est pas le cas, installez-le et regardez si votre problème est réglé.
Si c'est le cas (paquet installé) ou que votre problème n'est pas réglé, vous êtes dans l'un des cas de figures suivants, et il n'existe aucune solution envisageable actuellement :
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to initialize the NVIDIA GPU at PCI:1:0:0. Please [ERROR]Aborting because fallback start is disabled.
rcutree.rcu_idle_gp_delay=1
à la ligne
GRUB_CMDLINE_LINUX_DEFAULT=
Exemple :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
devient
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rcutree.rcu_idle_gp_delay=1"
[VGL] ERROR: Could not open display :8
Certains programmes lancent des processus fils qui ne sont alors pas récupérés pas optirun. C'est un problème sur lequel nous travaillons, une solution temporaire qui peut faire l'affaire dans de nombreux cas est de réaliser la manipulation suivante.
Ouvrez un terminal, et lancez ceci :
optirun bash
Une nouvelle interface de terminal tournant sur la carte nVidia est alors disponible, vous pouvez lancer votre programme (sans optirun) via celle-ci.
Éditer et vérifiez les fichiers /var/log/Xorg.8.log et /var/log/kern.log. Si le premier se termine par :
(EE) NVIDIA(GPU-0): WAIT: (E, 0, 0x857d)
Et/ou que le second contient ces lignes :
NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000000 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000001 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000002 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000003 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000004 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000005 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000006 NVRM: Xid (0000:01:00): 16, Head 00000000 Count 00000007
Il peut s'agir d'un bug présent dans le noyau Linux avec la fonction de virtualisation des processeurs Intel. La solution est d'ajouter “intel_iommu=off” à la ligne de démarrage. Ou alors d'une incompatibilité du pilote nvidia (rare).
Il faut modifier le fichier init de bumblebeed :
start on (login-session-start or desktop-session-start) stop on (desktop-shutdown)
Et les remplacer par :
start on runlevel [2345] stop on runlevel [016]
Sous Ubuntu Trusty 14.04 (et au moins dans sa variante Gnome Shell Remix), il est possible qu'un certain nombre de paquets nécessaires au fonctionnement de Bumblebee ne soit pas présents par défaut dans les dépots officiels (bien que les paquets principaux bumblebee et bumblebee-nvidia le soit). Dans ce cas, les différentes commandes de tests “glxspheres” ou “glxspheres64” renvoient l'erreur “commande introuvable” bien que vous ayez suivi entièrement la procédure décrite plus haut pour Ubuntu 14.04.
Dans ce cas, l'ajout du PPA ppa:bumblebee/stable 2) est nécessaire:
sudo apt-add-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get upgrade
Vous pouvez maintenant suivre la procédure d'installation et de test décrite plus haut pour Ubuntu 14.04 et suivantes.