Tag Archives: Driver

NVIDIA Optimus, la technologie à éviter

Bonjour, voici un article assez technique en ce jour de l’Armistice.

Optimus est une technologie développée par NVIDIA qui permet de gérer 2 cartes graphiques : celle intégrée au processeur (IGP) et la carte graphique dédiée (GPU).

L’IGP, beaucoup moins puissant, est utilisé pour les tâches simples, par exemple quand vous faites de la bureautique. Et le GPU, très puissant mais donc qui consomme beaucoup plus, est activé par Optimus seulement quand vous en avez besoin. (Par exemple quand vous lancez un jeu.)

Cette technologie n’est absolument pas supportée par Linux. Il n’existe actuellement pas de pilote Libre ou propriétaire pour Optimus. Sur le forum de support NVIDIA, une phrase du principal développeur du pilote Linux de NVIDIA a fait parlé d’elle : il n’y a pas de support d’Optimus pour Linux et il n’est pas prévu de l’ajouter.

Pourquoi ? Parce l’architecture de Linux, principalement X.org, n’est pas en mesure de supporter cette technologie en l’état. Des projets existent, notamment PRIME, mais ils sont loin d’être aboutis, et surtout reposent sur un système 100% libre, incompatible avec un pilote propriétaire (et NVIDIA ne peut, pour des raisons de propriété intellectuelle, libérer ses pilotes).

Logo Optimus NVidia

La technologie Optimus se répand de plus en plus.  Et la plupart des possesseurs d’une telle carte graphique ne peuvent pas à l’heure actuelle exploiter de la 3D sous Linux. Cette histoire me touche particulièrement étant donné que j’en possède une qui n’est pas utilisable…

  • Comment ça, «la plupart» ?

Le système optimus repose techniquement sur notamment un multiplexeur entre les deux processeurs graphiques. Ce multiplexeur n’est pas contrôlable sous Linux à l’heure actuelle, ce qui est le principal inconvénient pour obtenir un système fonctionnel ne serait-ce qu’avec les pilotes NVIDIA libres. Mais certaines machines ont une option dans le BIOS pour contrôler ce multiplexeur, rendant donc possible l’utilisation de la carte NVIDIA sous Linux. Pour les autres utilisateurs : pas de chance, seul la carte Intel est fonctionnelle…

  • Oui mais alors ? je prends NVIDIA ou ATI ?

Du coté de la concurrence, les cartes fabriqués par ATI (qui s’appelle maintenant AMD suite à son rachat par ce dernier) possèdent des pilotes libres. Mais ils sont loin des performances de leurs équivalents propriétaires (malgré la documentation fournie par ATI). Et les pilotes ATI propriétaires, bien que moins problématiques que par le passé sont toujours notoirement instables ou en retard fonctionnellement (le décodage de vidéos HD fait défaut par exemple).

  • Plusieurs autres points récents sont à noter sur le contexte de cette affaire :

Contrairement à Intel et AMD, NVIDIA ne fabrique pas de processeurs, ils subissent donc de plein fouet les décisions d’Intel et d’AMD d’intégrer un IGP dans le CPU. Optimus est donc pour eux probablement la seule solution pour rester compétitif sur le marché avec de nouveaux arguments de vente et d’éviter d’avoir deux cartes graphiques qui tournent inutilement en parallèle.

  • La consommation d’énergie

Si vous possédez la technologie Optimus sur Linux, vous pouvez donc utiliser seulement l’IGP (sauf si vous avez de la chance donc). Oui mais le GPU est-il toujours allumé ? Autrement dit, consomme t’il de l’énergie alors que vous ne pouvez même pas vous en servir ? Bien souvent oui. Et là ce n’est pas facile de toucher à l’ACPI pour réussir à éteindre le GPU.

L’équipe hybrid-graphics-linux cherche à référencer l’ensemble des méthodes d’extinction utilisées, et propose des outils et des scripts pour cela, mais rien n’est fournit clés en main…

  • Les espoirs futurs

Très très récemment, on a appris que les développeurs du pilote libre “nouveau” auraient une piste pour contrôler le multiplexeur. En gros, ils ont l’idée qu’un pilote WMI doit être écrit pour activer le multiplexeur. Après quoi, ils devraient “facilement” pouvoir l’intégrer dans le pilote libre. Ce qui est intéressant également, c’est que s’ils y arrivent, il-y-aura peut être moyen de désactiver le pilote Intel et d’utiliser ce multiplexeur pour lancer aussi le pilote propriétaire NVIDIA. Cela n’est pour l’instant qu’une faible piste, mais cela prouve que plusieurs développeurs se penchent sur la question. (Et ce ne sont pas n’importe quels développeurs, entre autres l’un des principaux développeurs dans le serveur X se penche sur le sujet, ils s’y connaissent donc en pilote et tout cela devraient avancer assez vite).

 

 

Pour plus d’informations vous pouvez consulter l’article sur LinuxFR publié par Pinaraf : http://linuxfr.org/~PieD/30078.html
Également ce poste sur le forum ubuntu donne de bonnes explications : http://forum.ubuntu-fr.org/viewtopic.php?id=419018
Vous trouverez les dernières infos sur ce Forum NVIDIA : http://www.nvnews.net/…144750
Merci à Pinaraf pour toutes les infos transmises.
Syvolc