Bumblebee (Français)

From ArchWiki

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir ArchWiki:Translation Team (Français) (Discuss in Talk:Bumblebee (Français)#)
Attention: Bumblebee est en cours de développement, il est possible que vous rencontriez un certain nombre de bogues. Reportez les bogues sur la page GitHub de Bumblebee.

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.

Note: La carte gérée par bumblebee intervient en seconde carte, pensez aussi à installer le pilote pour la carte intel Intel pour, dans un 1er temps avoir un affichage graphique.

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:

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).

Note: L’implémentation d'OpenCL pour Nvidia nécessite également l'installation du paquet opencl-nvidia.
Astuce: Pour lancer des applications 32 bits, telles que des jeux sous Wine, sur un système 64 bits vous aurez encore besoin d'ajouter lib32-nvidia-utils et lib32-mesa-libglAUR[broken link: replaced by lib32-mesa] depuis le dépôt [multilib].

Installation de Bumblebee avec Intel / Nouveau

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
Note: Remplacez <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
Note: 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
Note: 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
Astuce: Il est conseillé d'utiliser primusrun au détriment de optirun puisqu'elle offre de meilleures performances.

Usage :

primusrun <application>

Ou :

optirun -b primus <application>
Note: primusrun fait partie du paquet primus.
Note: Si votre carte graphique Nvidia prends en charge CUDA alors il vous faut l'activer au moyen de Bumblebee pour profiter de cette dernière technologie.

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.

Note: Il est possible d'utiliser bbswitch-dkms pour éviter de devoir recompiler le module à chaque mise à jour du kernel.

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 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.

Voir Aussi