Utiliser NVIDIA Optimus sous Linux grâce à Bumblebee (MAJ)

vignette

Rédigé par P3ter - - 2 commentaires

En installant Ubuntu 11.10 sur mon Asus j'ai eu quelques problèmes pour utiliser les pilotes propriétaires et surtout pour faire fonctionner NVIDIA Optimus. C'est là qu'entre en jeu Bumblebee, un outil qui va vous permettre de tirer pleinement parti de cette technologie.

 


MAJ 08.12.2012 : Bumblebee a été mis à jour et permet désormais de lancer Steam avec la commande optirun, il est aussi possible d'utiliser les pilotes beta Nvidia 310, qui intègrent les optimisations de Valve et doubles les performances sous Linux. Pour une installation et configuration des drivers Nvidia 310, cliquer ici.

 


 

NVIDIA Optimus, le principe

Optimus est une technologie dédiée aux netbooks et mise au point par NVIDIA. Elle permet de bénéficier d'une carte graphique puissante sans pour autant réduire considérablement la batterie de l'ordinateur. Le principe est simple : le netbook est équipé de deux GPU physiquements liés : un Intel et un NVIDIA. Optimus est capable de passer de l'un à l'autre de manière totalement transparente pour l'utilisateur. En utilisation classique (burautique, Internet, etc) la puce NVIDIA n'est pas sollicité. La carte est même éteinte ! Au lancement d'un jeux par exemple le système d'exploitation passe automatiquement sur le GPU NVIDIA. Simple, non ? L'avantage premier est d'améliorer considérablement l'autonomie de l'ordinateur en utilisation classique.

 

 

 

NVIDIA Optimus logo

Le problème pour nous Linuxien est que X.Org (le moteur graphique de Linux) ne sait pas gérer la technologie Optimus. Aucun développement n'est prévue du coté de la Fondation X.Org qui devrait revoir en profondeur le code source pour y intégrer Optimus. Un développement qui ne pourrait pas arriver avant quelques années.

 

 

 

 

Présentation de Bumblebee

Heureusement depuis mai 2011 un projet sous licence GPL a été lancé avec la volonté d'apporter une solution à la gestion de NVIDIA Optimus sous Linux. Il s'agit du projet Bumblebee dont la version 3 est sortie le 19 janvier 2012.

 

 

 

 

Bumblebee logo

Bumblebee essai d'imiter le fonctionnement d'Optimus. La carte NVIDIA est gérée via un serveur X séparé et connecté à un "fake screen" (il est configuré dans X.Org mais pas utilisé). Ce second serveur utilise VirtualGL comme si c'était un serveur distant. Bumblebee peut faire appel a ce second serveur et est capable d'éteindre physiquement la carte NVIDIA.

 

 

 

 

Installation de Bumblebee

 

 

Ubuntu

Il suffit d'ajouter le ppa et les paquets comme ci-dessous :

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia

Debian

La procédure est un peut plus complexe mais est détaillé ici
 

Arch Linux

Les paquets sont disponibles dans AUR.

yaourt -S bumblebee

On ajoute l'utilisateur courant au groupe "bumblebee" (droits root nécessaires)

usermod -a -G bumblebee $USER

$USER est une variable d'environnement qui contient le nom de l'utilisateur de la session courante (echo $USER)

Ensuite il faut redémarrer ou se reconnecter. Vous pourrez alors bénéficier des effets de votre bureau GNOME, Unity ou KDE (installez "compiz-settings-manager"

 

 

Utiliser Bumblebee

Lancer une application avec la carte NVIDIA grâce à la commande "optirun", syntaxe :

 

 

optirun [options]  [application-parameters]

Exemple :

optirun supertux

Pour comparer les deux cartes (Intel et NVIDIA) on peut utiliser l'outil glxspheres :

glxspheres
optirun glxspheres

Laissez tourner quelques secondes puis fermez la fenêtre et comparer les chiffres dans le terminal. Ceux de la commande lancé avec optirun doivent être plus grand.
 

Conclusion

Sur mon Asus et grâce à Bumblebee j'ai gagné 2h d'autonomie de batterie (passant de 5h à 7h). J'ai pu retrouver les effets de bureaux sous Ubuntu avec Unity 3D. En revanche j'ai des problèmes pour utiliser "optirun" qui pousse X.Org à 100% de mon CPU et qui se termine par une erreur. Mais finalement je me passe complètement de ma carte NVIDIA sous Linux.

Pour ceux qui souhaites utiliser leur port HDMI malheureusement Bumblebee ne le permet pas. Mais c'est en cours de développement par les contributeurs du projet.

Troubleshooting :
https://github.com/Bumblebee-Project/Bumblebee/wiki/Troubleshooting

Sources :
wiki officiel : https://github.com/Bumblebee-Project/Bumblebee/wiki/Install-and-usage
wiki de configuration (pas nécessaire pour une utilisation standart) : https://github.com/Bumblebee-Project/Bumblebee/wiki/Configuration

wiki ubuntu : https://wiki.ubuntu.com/Bumblebee
wiki archlinux : http://wiki.archlinux.fr/Bumblebee

Nvidia Optimus : http://www.nvidia.fr/object/optimus_technology_fr.html

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la quatrième lettre du mot vjzkiq ?

#1  - Julien a dit :

Hello !
Merci pour le tuto' ! Toutefois, je n'ai toujours pas d'interface graphique, malgré l'installation de Bumblebee sur mon ArchLinux...
J'ai installé Arch' sur ce PC : http://www.acer.fr/ac/fr/FR/content/model-datasheet/NX.M6VEF.001
L'écran tactile peut-il être un frein / auteur de bugs ?
L'interface "TWM" de Xorg se lance, mais ne détecte pas ma nVidia 710M... Aurais-tu des conseils à me donner ?
PS : J'ai déjà effectué les manip' des wiki et autres forum Arch... Sans succès. :(

Répondre

#2  - Pedro CADETE a dit :

@Julien : Bonjour, ton problème ne vient pas de Bumblebee.

Que te retourne la commande lspci | grep VGA ? Sur mon PC portable je vois mes deux cartes la Intel et la NVIDIA.

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 415M] (rev ff)

Si tu ne vois pas ta carte, alors elle n'est effectivement pas reconnu par ArchLinux. En revanche, si la commande t'affiche bien ta carte graphique normalement la simple installation des driver NVIDIA devrait suffire. Regarde cet article et celui là, ça pourrait peut-être t'aider.

Répondre