DirectX 12 bientôt sur Linux ?

in La Ruche4 years ago (edited)

DirectXOnLinuxHeresHowMicrosoftToBringGPUSupportToWSL2.jpg

Annonce fracassante de la part du géant Microsoft et publié en grande pompe sur le blog des développeurs de la corporation, la bibliothèque consacrée à la programmation d’applications multimédia qu'est DirectX 12 est en passe d’être porté sur Linux ! On pourrait croire que cette déclaration n'est qu'une vaste blague ayant pour rôle de faire sourire la communauté du libre, mais force est de constater que cette volonté d'intégrer cette technologie largement répandu dans le domaine du jeu-vidéo demeure une réalité.

Comment ça marche ?

wordimage8.png

Selon les propos de Steve Pronovost, un des développeurs en charge d'implanter Direct X au sein du noyau, cette manœuvre s’appuiera sur une méthode de virtualisation intégré au sous système Windows pour Linux (WSL 2). Pour rappel, WSL est une couche de compatibilité permettant d’exécuter des binaires Linux, de manière native sur Windows 10 et Windows Server 2019. L'idée est donc d'insérer un bus virtuel pour le GPU qui fera office de pont entre les instructions de la carte graphique sous Windows (KMD) vers un module noyau Linux développé pour l'occasion et nommé dxgkrnl. Vous l'aurez compris, pour que tout cela fonctionne il faudra impérativement passer par les services du noyau NT de ce bon vieux Windows.

Cependant, l'ajout de DxCore et D3D12, deux API qui resteront propriétaires (faut pas rêver non plus !), en dessus de cette couche de compatibilité, octroieront la possibilité d'utiliser complètement les requêtes DirectX12 sans passer par un logiciel tiers de traduction tels que Vulkan. Le fonctionnement de ces deux technologies reste conforme au comportement de ceux ci sous Windows, puisqu'il s'agit la non pas d'une réécriture mais bien d'une compilation basé sur le code originel de d3d12.dll. A la vue de cette intégration, on pourrait presque espérer que certaines personnes bien intentionnés et utilisateurs de logiciels libres, se servent de ces API pour créer des couches de compatibilité supplémentaires pour nos distros favorites.

Une fausse bonne idée ?

linuxforwindows10.jpg

Quoi qu'il en soit et sous son aspect de nouvelle encourageante pour la démocratisation des systèmes d'exploitations libre, un tel cadeau en provenance d'une firme comme Microsoft n'est pas forcément vue d'un bon œil de la part des acteurs de l'Open-Source et du libre. Certains y voient un présent empoisonné, consistant à réaliser une prise de contrôle sur le développement des technologies libre. D'un autre coté, nous pouvons constater que Microsoft délaisse peu à peu son vieillissant système d'exploitation et cherche à se renouveler pour sans doute construire un futur produit basé sur Linux. Tout comme Apple qui a décidé de mettre à profit BSD pour l'élaboration de ses MacOS, il ne serait donc pas surprenant que Microsoft se tourne vers l'exploitation intensive du petit manchot pour ses futurs systèmes à venir...

Sort:  

J'espère que cela aura uniquement les avantages de WSL 2 sans les problèmes car du moment que tu utilises uniquement le core linux tout se passe bien, mais des que tu veux faire des intéractions entre les 2 (Linux <-> Windows) c'est horrible (pire que la version 1).

L'exemple le plus flagrant étant qu'il ne faut sous aucun prétexte exécuter une commande linux (via le nouveau terminal) dans les dossiers windows, soit ceux se trouvant dans /mnt (qui sont du coup en dehors de l'image Linux se trouvant dans windows) sous peine d'une latence x1000% et encore quand cela ne plante pas 🤣🤣

Le changement de politique de Microsoft depuis que Satya Nadella en a pris la tête est vraiment très impressionant! Surtout au niveau des ouvertures vers les autres OS ou de l'Open Source.

Pour ce qui est de la prise de conrôle c'est déjà bien avancé puisqu'ils ont racheté la plateforme de l'Open Source GitHub en 2018 pour $7,5 milliards et que tout le monde (moi y compris) utilise leur IDE Visual Studio Code (qui est Open Source) pour développer.


Witness FR - Génération X - Geek 🤓 Gamer 🎮 voyageur ⛩️

Il faudra que ce soit ajouté au noyau linux classique... sinon aucun intérêt