Le sujet de Microsoft et Linux mérite d’être étudié. Initialement, Linux et Windows étaient des ennemis acharnés et se critiquaient mutuellement. Nous nous souviendrons toujours des paroles subtiles de Steve Ballmer qualifiant Linux de cancer. Maintenant, avec Satya Nadella, tout a changé et loin de critiquer Linux, ils adoptent la technologie du logiciel libre et elle est utilisée dans de multiples domaines. Le dernier en date, ils portent certaines zones de DirectX 12 vers Linux.
DirectX 12 ne viendra pas sur Linux, du moins pas dans son intégralité
Tout d’abord, soyons clairs, Microsoft n’a pas l’intention de proposer DirectX 12 sur Linux. L’industrie mise beaucoup sur les API graphiques open source comme Vulkan. Un logiciel multiplateforme hautes performances comme Vulkan permet des performances exceptionnelles dans Doom Eternal et permet à des titres à petit budget comme Farming Simulator 22 de fonctionner sur Mac OS X et Linux.
Ce n’est un secret pour personne que Microsoft a lié DirectX à Xbox et Windows. Ce qui est surprenant, c’est qu’ils explorent Mesa, Linux et l’implémentation logicielle open source d’OpenGL. Jesse Natalie, ingénieur logiciel principal chez Microsoft, travaille sur l’ajout et l’amélioration de la prise en charge du calcul D3D12 dans OpenGL via Mesa. De plus, cela laisse entendre qu’il y aura des améliorations futures dans le projet. À partir de la demande de fusion de Jesse :
Cela ajoute un suivi d’état parallèle au calcul. Dans certains cas, le suivi de l’état des graphiques est simplement étendu (par exemple, les ressources liées aux shaders), dans d’autres, il est dupliqué (par exemple, des caches de pipeline supplémentaires), et dans d’autres, il est refactorisé. Le résultat final est la prise en charge du calcul ARB_compute_shader avec un chemin un peu lent pour les indirections. Maintenant que la prise en charge du calcul est disponible, nous pouvons commencer à connecter des shaders de calcul pour les choses qui nécessitent une émulation à l’avenir, comme un chemin plus rapide pour les envois indirects qui nécessitent des variables d’état.
Bien que l’objectif de la prise en charge du shader de calcul D3D12 dans Mesa ne soit pas clair, il pourrait être avantageux dans les centres de données. Peut-être dans Azure, où Microsoft propose des machines virtuelles optimisées pour le GPU pour les charges de travail qui nécessitent une configuration personnalisée.
