URL: https://linuxfr.org/users/pied/journaux/nvidia-optimus-bonne-id%C3%A9e-fondamentalement-incompatible-avec-li Title: nVidia Optimus, bonne idée fondamentalement incompatible avec Linux... Authors: Pinaraf Date: 2010年08月22日T02:37:46+02:00 Tags: optimus Score: 29 Cher journal Pendant des années, quand une personne me demandait une machine pour faire de la 3D sous Linux, j'ai conseillé du nVidia. Les pilotes libres ATI ne sont pas au niveau pour la 3D dans la plupart des cas, idem pour l'accélération du décodage de vidéos HD... Et ne parlons pas des pilotes propriétaires ATI qui ne proposent pas l'ensemble des fonctionnalités du pilote nVidia, ou qui ont encore des soucis de stabilité ou de compatibilité variable avec le noyau et le serveur X... Le pote dont j'ai parlé dans mes deux journaux précédents a besoin d'une machine (portable, ou plutôt transportable) avec de la 3D, et a donc acheté une machine avec une carte nVidia. Sauf que cette machine est dotée de la technologie "nVidia Optimus". C'est une technologie assez "intéressante". Elle repose sur l'utilisation de deux GPUs : le GPU nVidia et l'IGP intel, intégré aux processeurs i3/i5. L'IGP est bien moins gourmand en énergie que le GPU nVidia, mais n'est pas capable de faire du décodage performant de vidéo HD, de faire de la 3D "fluide"... Bref, il est bien pour le desktop pur, mais dès qu'on monte en demande, PAF. D'où l'idée de plus en plus courante d'avoir deux GPUs. Sauf que cette solution n'est pas optimale : l'utilisateur doit intervenir manuellement pour basculer d'un GPU à l'autre... nVidia a donc eu l'idée suivante : faire de l'IGP le "contrôleur" graphique principal, en rendant le GPU "co-processeur". Ainsi, lorsque l'utilisateur est sur son tableur, son traitement de textes... Seul l'IGP est utilisé, et dès qu'il va sur un site en flash, qu'il lance le dernier jeu 3D (petit jeu : qu'est-ce-qui est le plus lourd pour la machine ?)... hop, le GPU se met en route et se charge de l'intégralité des opérations de cette application. Passons à un petit peu plus technique : l'IGP est donc maître à bord, mais le pilote nVidia se glisse entre les applications et ce pilote. Lorsqu'une application 3D est lancée par exemple, un espace mémoire est alloué dans la mémoire de l'IGP, destiné à recevoir "l'image" visible de l'application, le résultat du rendu. Le GPU est alors allumé, et un DMA est mis en place : tout le rendu est réalisé dans un espace de mémoire du GPU, et est automatiquement copié dans la mémoire de l'IGP (à l'aide d'une fonctionnalité de la norme PCI Express a priori, à voir), qui se chargera donc ensuite de l'afficher sur l'écran. Maintenant, la partie fun : comment faire marcher ça sous Linux. La réponse est simple : ce n'est actuellement pas possible, les développeurs de nVidia n'ont pas d'idée sur comment implémenter ça, et cela ne fait pas partie de leurs priorités. De plus, les développeurs des pilotes libres ont déclaré que le serveur X allait nécessiter des changements majeurs avant de pouvoir supporter un tel traîtement. Seules deux choses sont a priori possibles avec votre GPU nVidia si vous avez de l'Optimus : - l'utiliser pour du calcul à l'aide de CUDA, - l'éteindre pour économiser du courant (oui c'est même pas éteint par défaut sur toutes les machines). Je n'ai pas testé CUDA directement, a priori ça marche assez facilement, d'une manière classique (et encore, c'est à confirmer). Par contre, pour l'extinction du GPU, cela n'est pas a priori générique. Un module a été développé, acpi_call, permettant d'appeler une méthode ACPI arbitraire, sans compiler de module noyau spécifique. Il est livré directement avec un script qui essaye différentes méthodes pour éteindre le GPU. [http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpi(...)](http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html) Si je puis me permettre, ces dernières années, la plateforme x86 est devenue de plus en plus hostile à Linux, de plus en plus compliquée... ACPI, EFI... Et pourtant, Linux continue de marcher à peu près, aussi étonnant que ça puisse paraître. Mais là, on arrive quand même à des seuils de complexité difficiles à imaginer. Le salut viendra-t-il des netbooks ? Optimus est conçu pour permettre à nVidia de survivre aux sales coups d'Intel sur les Atom notamment, donc j'en doute. Le salut viendra-t-il des machines en ARM ? Peu probable étant donné que Windows n'est pas compatible avec elles... Bon, je vous laisse, je vais aller me suicider je crois...

AltStyle によって変換されたページ (->オリジナル) /