Mageia : Installer Bumblebee pour les cartes Optimus



Introduction




Présentation



Une carte Optimus est une carte NVidia Hybride, couplée avec une puce intégrée Intel.
Le but de cette techno est d'améliorer l'autonomie d'un portable, et n'est présente que dans ceux-ci.


Le principe



Sous Windows, c'est :
  • On tourne sur le chipset intégré Intel. Le pilote NVidia éteint la NVidia.
  • Quand il y a de la demande de 3D, le pilote NVidia active celle-ci, et l’application utilise la NVidia.
  • Quand l'application est fermée, la carte NVidia est de nouveau éteinte.


Ainsi, le PC, quand il n'a pas besoin de puissance graphique, on ne tourne que sur Intel.

Sous Linux, les 2 cartes sont allumées mais seule le chipset graphique Intel est utilisé, puisque pas de pilote NVidia compatible.
Donc, même si on ne fait rien sur son ordinateur portable, l'autonomie est réduite.


Si on s'amuse à installer les pilotes NVidia, en forçant Xorg à utiliser la NVidia, celui-ci ne se lancera pas!
(A l'heure d'aujourd'hui avec les drivers 319 et le kernel 3.10.9)



L'histoire de Bumblebee



Un projet libre, nommé bumblebee est né pour pallier à ce problème, d'utiliser un fichier Xorg.nvidia pour lancer une application avec le pilote NVidia.
Mais avec seulement bumblebee installé, les deux cartes graphiques fonctionnent toujours. Même lorsque la NVidia n'est pas sollicitée.
En parallèle de bumblebee, on a bbswitch qui permet justement de couper l'alimentation de la carte NVidia lorsqu'aucune application 'optirun' n'est exécutée. (Optirun étant la commande permettant d'exécuter une application avec la carte graphique NVidia).

Ces deux logiciels (bumblebee et bbswith) fonctionnent en duo, avec le pilote NVidia installé à côté pour "reproduire" la technologie incluse dans le driver NVidia.

Sans bumblebee et bbswitch => Autonomie de 1h30 avec la batterie.
Dans les mêmes conditions avec bumblebee + bbswitch => Autonomie de 4h30 avec la batterie sans qu'aucune application 3D ne tourne avec la commande 'optirun'.

Même si on se fiche de l'autonomie, il n'est pas possible de désactiver dans le BIOS la puce graphique Intel pour ne fonctionner qu'avec la carte NVidia.

Installation



Assurez-vous à ce stade que votre Mageia soit à jour !

Relevez la version de votre noyau :

Code BASH :
uname -a


On installe enfin notre bumblebee.

Lors de l'installation, deux choix s'offrent à nous :

  • bumblebee-nouveau : C'est pour utiliser notre carte NVidia avec le pilote libre nouveau.
  • bumblebee-nvidia : C'est pour utiliser notre carte NVidia avec le pilote propriétaire NVidia


Installer la version de notre choix :

Pour de meilleures performances, je choisis bumblebee-nvidia

Code BASH :
urpmi bumblebee-nvidia


Une remarque peut s'offrir à vous si vous avez plusieurs noyaux installés :

Code BASH :
Afin de satisfaire les dépendances de « kernel-devel », un des paquetages suivants est nécessaire :
 1- kernel-desktop-devel-3.12.8-2.mga4-1-1.mga4.x86_64 : The kernel-devel files for kernel-desktop-3.12.8-2.mga4 (à installer)
 2- kernel-desktop-devel-3.12.9-1.mga4-1-1.mga4.x86_64 : The kernel-devel files for kernel-desktop-3.12.9-1.mga4 (à installer)
Que choisissez-vous ? (1-2) 


Choisissez le paquet qui correspond à votre version.

Vous aurez peut être ce message :

Code BASH :
Afin de satisfaire les dépendances de « devel(libstdc++(64bit)) », un des paquetages suivants est nécessaire :
 1- libstdc++-devel-4.8.2-3.mga4.x86_64 : Header files and libraries for C++ development (à installer)
 2- libstdc++5-devel-3.3.6-9.mga4.x86_64 : Header files and libraries for C++ development (à installer)
Que choisissez-vous ? (1-2) 
 


Choisissez libstdc++-devel-4.8.2-3.



Si on est sur une machine 64bits, il est nécessaire d'installer quelques librairies 32bits si on souhaite faire fonctionner des applications 32bits (comme steam par exemple) :

Code BASH :
urpmi libvirtualgl libturbojpeg0 libprimus



Une fois l'opération terminée, il faut redémarrer :gene:


Test et comparaison des performances



Maintenant que bumblebee est installé, on peut tester les performances.

Si on n'utilise pas la commande optirun, on constate que les performances sont moyennes :

Code BASH :
adrien@superlinux: ~  $  glxspheres64 
Polygons in scene: 62464
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Ivybridge Mobile 
59.973940 frames/sec - 66.930917 Mpixels/sec


Maintenant, on teste avec la commande optirun (c'est à dire avec la carte NVidia) :

Code BASH :
 adrien@superlinux: ~  $ optirun glxspheres64 
Polygons in scene: 62464
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
172.888624 frames/sec - 192.943704 Mpixels/sec
 



Steam et Optimus



Pour chaque jeu, éditer dans les propriétés les options du lancement en mettant :

Code BASH :
primusrun %command%




Et voilà, amusez vous bien :magic:
Cette page a été vue 11002 fois