Bumblebee (Français)
Bumblebee est une solution pour la technologie Nvidia Optimus permettant d'exploiter la carte graphique dédiée.
À propos de Bumblebee
La technologie Nvidia Optimus optimise automatiquement votre ordinateur portable, en permettant des performances graphiques remarquables, tout en améliorant l’autonomie de votre batterie pour que votre plaisir dure plus longtemps. [...]
Bumblebee est un script d'installation basé sur VirtualGL pour être en mesure d'utiliser le GPU dédié, qui n'est physiquement pas connecté à l'écran.
Installation
Depuis début avril Bumblebee est dans le dépot [community]:
- bumblebee : Version stable du paquet. Utilise par défaut le Pilote nVidia.
Autre version disponible depuis AUR:
- bumblebee-gitAUR : Version de la branche de développement.
Pour lancer des applications 32-bit sur un système 64-bit, il faut également installer le paquet lib32-nvidia-utils (le |dépôt [multilib] doit être activé).
Pour ajouter la fonctionalité de gestion de l'énergie, vous avez besoin d'installer bbswitch depuis [community].
Installation de Bumblebee avec Intel / Nvidia
Installer mesa, xf86-video-intel, bumblebee et nvidia (le paquet nvidia installera nvidia-utils en dépendance).
Installation de Bumblebee avec Intel / Nouveau
- xf86-video-nouveau : Pilote d'accélération 3D (Expérimental)
- nouveau-dri[broken link: package not found] : Mesa DRI + Galium 3D
- mesa : Mesa 3D
pacman -S mesa-dri xf86-video-intel bumblebee xf86-video-nouveau nouveau-dri mesa
Configuration
Vous devez configurer un second serveur X, installer le pilote propriétaire, et démarrer le service Bumblebee.
Ajouter les permissions
Pour pouvoir utiliser optirun
, il est nécessaire d'ajouter les utilisateurs au groupe bumblebee :
gpasswd -a <utilisateur> bumblebee
<utilisateur>
par votre login d'utilisateur.Lancer le service Bumblebee
Depuis le terminal :
systemctl start bumblebeed.service
Charger au démarrage :
systemctl enable bumblebeed.service
Tester Bumblebee
Vous pouvez tester Bumblebee en comparant ces deux commandes :
glxgears
Puis :
optirun glxgears
glxgears
fait partie du paquet mesa-demos.Si glxgears ne marche pas, essayez les commandes suivantes :
- Si vous avez un système 64 bits :
glxspheres64
Puis :
optirun glxspheres64
Puis :
optirun glxspheres64
glxspheres64
fait partie du paquet virtualgl.Utilisation
Pour lancer un programme en utilisant la carte graphique dédiée :
optirun <application>
Pour voir les options propres à la commande optirun :
optirun --help
primusrun
au détriment de optirun
puisqu'elle offre de meilleures performances.Usage :
primusrun <application>
Ou :
optirun -b primus <application>
primusrun
fait partie du paquet primus.Nvidia Settings
Pour avoir accès, avec Bumblebee , à Nvidia settings, utiliser cette commande:
optirun nvidia-settings -c :8
Gestion de l'énergie
Le but de la gestion de l'énergie est d'éteindre la carte graphique lorsqu'elle n'est pas utilisée et l'allumer à nouveau lorsque c'est nécessaire. Actuellement, passer d'une carte à l'autre n'est pas géré automatiquement.
Pour activer la gestion de l'énergie, assurez-vous que vous avez bien installé bbswitch ou bbswitch-gitAUR et que le module est chargé au démarrage.
Pour économiser un maximum d'énergie en activant la carte Nvidia que lorsqu'en on a besoin, vous pouvez créer le fichier /etc/modprobe.d/bbswitch.conf
:
/etc/modprobe.d/bbswitch.conf
options bbswitch load_state=0 unload_state=0
Maintenant dans le fichier /etc/bumblebee/bumblebee.conf
modifier les options :
/etc/bumblebee/bumblebee.conf
[...] [bumblebeed] KeepUnusedXServer=false ... [driver-nvidia] PMMethod=bbswitch ... [driver-nouveau] PMMethod=bbswitch [...]
Redémarrez maintenant le daemon depuis le terminal :
systemctl restart bumblebeed.service
Il est maintenant possible de tester l'activation automatique de la carte Nvidia :
$ cat /proc/acpi/bbswitch 0000:01:00.0 OFF $ optirun glxgears > /dev/null & $ cat /proc/acpi/bbswitch 0000:01:00.0 ON # Après avoir fermé la fenêtre de glxgears $ cat /proc/acpi/bbswitch 0000:01:00.0 OFF
Problèmes
La carte secondaire ne peut pas être activée
Si vous obtenez une erreur ressemblant à ceci :
[ERROR]Cannot access secondary GPU - error: Could not enable discrete graphics card
Il est possible que cela soit dû à un paramètre de gestion de l'énergie qui empêche la carte de s'activer, via tlp ou laptop-mode-tools. Pour permettre l'activation de la carte, obtenir l'ID de celle-ci via la commande suivante :
lspci | grep "NVIDIA" | cut -b -8C
Puis copier cet ID dans la liste noire runtime-pm de tlp ou laptop-mode-tools avec un éditeur de texte comme nano ou vim.
Pour tlp, se rendre dans /etc/default/tlp
et ajouter ou modifier la ligne RUNTIME_PM_BLACKLIST="ID-de-la-carte"
Pour laptop-mode-tools, se rendre dans /etc/laptop-mode/conf.d/runtime-pm.conf
et modifier la ligne AUTOSUSPEND_RUNTIME_DEVID_BLACKLIST="ID-de-la-carte"
Si le problème persiste, alors c'est que le noyau ne détecte pas la carte nvidia et il est très probable que cela soit dû à ce problème. Pour y remédier, il faut passer au noyau le paramètre pcie_port_pm=off
.