Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Wine 11.0 est là - NTSYNC, WoW64 et des perfs en hausse pour le jeu sous Linux

Bon, les amis linuxiens (et ceux qui n'ont pas encore sauté le pas), asseyez-vous confortablement sur votre tabouret parce que Wine 11.0 vient de pointer le bout de son nez et c'est du lourd. Si vous pensiez que le projet s'essoufflait, détrompez-vous puisque après un un an de boulot, plus de 6 000 changements et 600 bugs corrigés, c'est pas juste une petite mise à jour de routine, c'est une sacrée étape !

Je commence direct, le gros morceau qui va faire plaisir aux gamers, c'est l'intégration de NTSYNC. Pour faire simple, c'est un module noyau Linux (qui devrait arriver avec le noyau 6.14) qui permet de gérer la synchronisation entre les processus de façon beaucoup plus efficace. Concrètement, ça veut dire que les jeux Windows qui tournent sur Linux vont arrêter de galérer sur les accès concurrents et gagner en fluidité. On est sur du gain de performance pur et dur.

L'autre révolution sous le capot, c'est la finalisation de l'architecture WoW64. Si vous vous souvenez, on en parlait déjà dans les versions précédentes comme d'une expérimentation, mais là c'est bon, c'est prêt. Ça permet de faire tourner des applications 32 bits (et même du 16 bits pour les nostalgiques) dans des préfixes 64 bits de manière totalement propre. Adieu le binaire wine64 séparé, maintenant on a un seul exécutable unifié qui gère tout. C'est plus propre, plus stable et ça simplifie vachement la vie.

Côté graphisme, Wine 11.0 passe à Vulkan 1.4.335 et apporte enfin le décodage matériel H.264 via les API Direct3D 11 sur Vulkan Video. En gros, vos vidéos et vos jeux vont moins pomper sur le CPU. Le pilote Wayland continue aussi de s'améliorer avec une meilleure gestion du presse-papier et des méthodes de saisie.

On sent que le futur sans X11 approche à grands pas...

Et pour ceux qui aiment brancher tout et n'importe quoi sur leur bécane, il y a du nouveau côté Bluetooth. On a maintenant un support initial pour le scan des appareils, la découverte et même l'appairage basique sur Linux via BlueZ. C'est encore le début, mais pouvoir connecter sa manette ou son casque sans bidouiller pendant trois heures, c'est ça l'objectif. Les joysticks et les volants à retour de force ont aussi eu droit à leur petit coup de polish pour une meilleure précision.

Ça me rappelle forcément la sortie de Wine 10.0 l'année dernière qui avait déjà posé de grosses bases, sans oublier que Win32 est devenu la couche de compatibilité la plus stable sur Linux !

On notera aussi que le support de TWAIN 2.0 pour le scan 64 bits est de la partie, tout comme des améliorations sur MSHTML pour le rendu web et même le support de Ping pour l'ICMPv6. Bref, c'est une version hyper complète qui prouve une fois de plus que le pont entre Windows et Linux est de plus en plus solide.

Voilà, si vous voulez tester tout ça, c'est dispo dès maintenant sur le site officiel. Comme d'hab, il faudra peut-être attendre quelques jours pour que ça arrive dans les dépôts de votre distrib préférée, mais ça vaut le coup d'œil.

Source

Pour jouer à vos vieux jeux Windows, il faut quitter Windows

Ça vous dirait de vous refaire le Counter-Strike original, Deus Ex, ou Hitman Codename 47 ?

Oui, je suis un peu nostalgique aujourd’hui et c’est pour ça que je vous parle de ces classiques de l’an 2000. Mais bon, si on s’amuse à lancer ça comme ça, sur un Windows 11 flambant neuf, hop, ça risque de planter. Un écran noir, un erreur DirectX, une incompatibilité graphique… Snif… Tout ça parce que Windows 11 a abandonné la rétrocompatibilité avec DirectX 7…

Alors si je vous disais qu’aujourd’hui, pour jouer à nos jeux Windows de l’ancien temps, il fallait quitter Windows ! Non, j’ai pas fumé la moquette de mes toilettes… A la place, je suis tombé sur D7VK , un projet qui vient de sortir et qui permet de faire tourner les vieux jeux Direct3D 7 sur Linux.

Comme je vous en parlais il y a quelques semaines, 90% des jeux Windows tournent maintenant sur Linux grâce à Proton et DXVK. Mais il restait un trou dans la raquette : les jeux Direct3D 7. Ces titres cultes sortis entre 2000 et 2004, quand l’API D3D7 dominait sur nos PC de gamers. Et je vous parle pas de quelques titres pourris non… je vous parle de plus de 400 jeux qui ont été mis au rebus à cause de ce problème. Counter-Strike original, FIFA 2001, Deus Ex, Unreal Tournament, Escape from Monkey Island, Arx Fatalis, Sacrifice, Disciples II. Toute une époque les amis !!

DXVK, c’est le projet open-source qui traduit DirectX vers Vulkan pour Linux. Il supporte D3D8, D3D9, D3D10, D3D11. Et Proton de Valve l’utilise pour faire tourner les jeux Windows sur le Steam Deck. Mais DXVK n’allait pas jusqu’à D3D7. C’est trop vieux, trop chiant à supporter, trop différent de D3D9. Donc ces jeux restaient coincés avec WineD3D, l’ancienne couche de compatibilité de Wine qui existe depuis 20 ans mais qui est lente de ouf.

Heureusement, WinterSnowfall, le dev derrière D7VK, a décidé de combler ce vide. Son projet est donc un spinoff de DXVK, spécialement conçu pour D3D7. Ainsi, au lieu de traduire directement D3D7 vers Vulkan, D7VK fait une traduction en deux étapes. D3D7 vers D3D9 (via le backend DXVK), puis D3D9 vers Vulkan. C’est une passe intermédiaire c’est vrai, mais ça permet de réutiliser tout le travail déjà fait sur DXVK.

L’auteur prévient d’ailleurs que c’est un bordel technique sans nom, car Direct3D 7 date d’une époque où les jeux mixaient plusieurs APIs graphiques. Certains utilisent D3D7 pour la 3D, mais DDraw ancien ou même GDI pour l’interface. Sachez que ces jeux-là ne marcheront jamais avec D7VK car c’est trop complexe. Et ne comptez pas non plus sur un support D3D6 ou plus ancien non plus car c’est pire !

Mais pour les jeux qui utilisent D3D7 proprement, ça marche très bien. Le dev mentionne même que depuis les derniers ajustements de perf, ça tourne bien. C’est pas parfait partout, mais ça marche bien quand même.

Et c’est pas juste une question de nostalgie, hein. C’est de la préservation ! Car dans 10 ans, si vous voulez rejouer à ces classiques, vous ferez quoi ? Vous installerez une VM Windows XP ? Vous croiserez les doigts pour que GOG ait patché le jeu pour les Windows moderne ? Ou vous bootez votre bon vieux Linux, vous installez D7VK, et hop, y’aura aucun problème ? La réponse, elle est vite répondue comme disait l’autre…

L’autre truc marrant, c’est que DXVK, sur certains jeux, performe MIEUX que DirectX natif sous Windows car la traduction vers Vulkan réduit l’overhead CPU dans des scénarios limités par le processeur. Donc non seulement Linux fait tourner vos vieux jeux Windows, mais parfois, il les fait tourner plus vite que Windows lui-même. C’est fou je sais.

Le PC Gaming Wiki liste les +400 titres D3D7. Beaucoup de truellewares sous licence , certes, mais y’a aussi des pépites comme Hitman Codename 47, le jeu qui a lancé la série ou encore Arx Fatalis, le dungeon crawler immersif d’Arkane Studios sorti bien avant Dishonored. Sans parler de Sacrifice, le RTS/action de Shiny Entertainment auquel personne n’a joué, je crois, mais qui est devenu culte.

Microsoft les a oubliés mais pas la communauté Linux qui les ressuscite ! Et ça c’est le seul miracle auquel je crois ! Et c’est pas fini car D7VK, c’est juste une brique. Proton continue d’évoluer, et le Steam Deck pousse le gaming Linux vers la démocratisation. Les développeurs commencent même à activer le support anti-cheat pour Linux. Bref, la compatibilité Linux grimpe en flèche, et les performances s’améliorent !

Pour installer D7VK, suffit de copier ddraw.dll à côté de l’executable du jeu, de configurer Wine pour override cette DLL, et c’est fini. Pas besoin de patcher le jeu, pas besoin de cracks, pas besoin d’autres bidouilles. Le jeu devrait tourner dans son état d’origine !

Source

❌