DirectX 12 intégré dans Linux : c'est dans les plans de la Raymonde ! |
————— 20 Mai 2020 à 10h11 —— 18322 vues
DirectX 12 intégré dans Linux : c'est dans les plans de la Raymonde ! |
————— 20 Mai 2020 à 10h11 —— 18322 vues
Si vous suivez notre couverture en matière de jeu sous Linux, vous n’êtes pas sans savoir que l’acteur principal du secteur est Valve qui, avec Proton, s’efforce de développer une surcouche de compatibilité. Dans cette tâche, une difficulté majeure est de traduire l’API DirectX, disponible exclusivement sous Windows, en Vulkan, un équivalent multiplateforme. Un composant entier de la chaîne logicielle est même dédié à cette traduction : DXVK... Mais cela pourrait être amené à changer.
En effet, vous n’êtes peut-être pas sans savoir que les applications Linux peuvent d’ores et déjà être lancées sous Windows via le WSL (Windows Subsystem for Linux), mais — sauf bidouille extrême passant par l’installation d’un serveur X sous Windows 10 et un rendu reposant uniquement via le CPU — les applications étaient limitées au mode console. Or, Microsoft a décidé de sauter un nouveau pas, et de proposer, dans un futur proche, les interfaces graphiques du pingouin ! Une bonne initiative, d’autant plus alléchante que, techniquement, la Raymonde développe DXGKRNL, un module noyau de source ouverte exposant dans l’espace utilisateur les cartes graphiques compatibles via l’API... DirectX, la liaison se faisant avec la carte réelle par un bus virtuel (et donc un passage par le noyau de Windows), comprenez donc que le support matériel permettant d’envoyer le code à la carte graphique ne sera, lui, pas dans Linux. Par contre, une bibliothèque (elle, de sources fermées, il ne fallait pas trop rêver) permettra par la suite d’utiliser complètement les appels DirectX12, sans aucune restriction ni traduction vers OpenGL ou Vulkan.
Avec un schéma, c'est mieux !
Et il ne s’agit en rien d’un portage ou d’une réécriture : le code sera strictement le même que le d3d12.dll
de la mouture fenestrée : seule la chaîne de compilation sera modifiée afin de sortir un libd3d12.so
. Pour le moment, l’implémentation ne permet pas encore d’afficher quoi que ce soit sur l’écran (il faut pour cela une interface supplémentaire entre WSL2 et Windows pour la gestion des fenêtres), mais devrait arriver.
Un grand pas en avant ? Sûrement, et il y a fort à parier que des petits malins essayent de récupérer les binaires afin de les intégrer dans des couches de compatibilités de jeu sous Linux, tâche au succès probablement limité, autant par les moyens techniques (il faut également que les pilotes graphiques supportent la pile DirectX !) que par la licence : Microsoft ne se permettrait en effet pas de perdre sa clientèle de joueurs si facilement !
Même si le code n’est pas libre, un certain manchot trouve cela bigrement intéressant !
Pour plus de détails (notamment les projets pour ce qui concerne les piles OpenGL, OpenCL et CUDA), direction le blog de Microsoft. Pour le reste, il est amusant de remarquer la convergence, certes lente, des systèmes d’exploitation à laquelle nous assistons. En effet, il devient de plus en plus facile de lancer des binaires Windows sous Linux et inversement ; à croire qu’en 2040, l’utilisateur n’aura qu’un Winux abstrayant 26 couches de compatibilité pour lancer toutes ses applications. Ravissant, ce futur ? (Source : Phoronix)
Un poil avant ?Des samples de Zen 3 détectés ! | Un peu plus tard ...La fin du nom "Tesla" chez NVIDIA ? |