❌

Vue lecture

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

Carafe - Pour lancer vos jeux PC directement sur la Switch

Hier, je suis tombé sur Carafe , une application pour Windows qui devrait vous intéresser si vous avez une Nintendo Switch crackée. En effet, son job c'est de transformer le dossier d'un jeu PC en titre compatible pour Nintendo Switch. Une fois installé, le jeu aura son nom et son icône présent dans le menu HOME de la console. Et surtout, il démarrera comme n'importe quel autre jeu Switch. Et tout ça, sans avoir de fichier à copier à la main sur la carte SD.

Mais qu'est-ce donc que cette sorcellerie me direz-vous ?

Eh bien au lancement, Carafe vous propose de choisir le répertoire où se trouve votre jeu ainsi que l'exécutable qu'il faut lancer, puis vous propose ensuite un nom, l'icône qui va bien et une config pour votre manette. Et ensuite il va fabriquer à partir de tout ça un NSP et il ne vous restera plus alors qu'à brancher votre Switch en USB avec DBI lancé dessus. Et Carafe copiera le fichier sur la carte SD ou dans la mémoire de la console directement.

En regardant plus près le contenu du NSP, vous y trouverez le jeu, ses réglages et un runtime construit sur Autorun , c'est-à-dire l'ancien Wine-NX qui fait tourner Wine sur le système de la Switch. La compatibilité revient donc à Autorun et n'est pas du fait de Carafe qui est juste un moyen de packager les jeux.

Autorun sait déjà créer un raccourci HOME Menu pour un jeu, mais il faut d'abord copier le dossier du jeu sur la carte SD (ou une clé USB), puis l'ajouter dans son lanceur. Carafe emballe ensuite tout ça dans un seul titre, avec sa propre sauvegarde gérée par la console comme pour un vrai jeu, et un écran de chargement pendant que Windows démarre, au lieu d'un écran noir.

Après, Autorun se déclare lui-même comme étant expérimental. Cela veut dire que certains jeux tournent bien, beaucoup démarrent puis s'arrêtent, et les jeux 3D gourmands ne tourneront peut-être jamais sur votre console de 2017 dont les 4 Go de mémoire sont partagés avec le système.

Carafe est un projet encore très jeune, puisqu'il est sorti il y a quelques jours seulement. Donc si vous voulez essayer, je vous conseille de commencer par un jeu un petit peu léger, et surtout d'aller consulter la page Compatibility du projet, qui vous permet à la fois de voir un peu ce que les autres ont fait avec cet outil, mais aussi de remonter votre propre expérience.

Côté prérequis, comme je vous le disais, il vous faut une Switch sous Atmosphère avec les sigpatches, DBI sur la console, et un PC sous Windows 10 ou 11 en x64 ou ARM64 (pas de macOS ni de Linux pour l'instant). L'installeur n'est pas encore signé, alors Windows va vous faire peur avec son "éditeur inconnu" (Faites donc "Informations complémentaires" puis "Exécuter quand même").

Et pour le risque côté Nintendo, l'installation de NSP homebrew est en général signal de bannissement immédiat, juste après la piraterie. Donc si vous êtes déjà banni, vous vous en foutez, mais si c'est pas le cas, faites bien attention. Et ça, c'est pour tous les NSP de ce genre, et pas seulement pour ceux de Carafe.

Donc pensez bien à couper le wifi pendant que vous installez ça, et pendant que vous y jouez. Carafe est sous licence GPL-3.0 ou ultérieure, et à récupérer sur GitHub pour ceux qui veulent tester !

Xodus - Vos jeux Xbox PC tourneront bientôt sur Linux / macOS

Vous jouez sous Linux et votre bibliothèque Steam, GOG ou Epic tourne à peu près entièrement grâce à Proton ? Cela signifie que, malheureusement, vos jeux Xbox PC et ceux du Game Pass, eux, restent à la porte... C'est con d'avoir un catalogue entier, payé tous les mois rubis sur l'ongle et de ne pas pouvoir y toucher ailleurs que sous Windows, via le streaming cloud.

Mais cette époque est révolue puisque Xodus est un projet open source qui rétro-ingénierie la chaîne Xbox PC pour faire tourner ces jeux directement sur Linux. Son dépôt coche déjà la connexion de l'appareil, celle du compte, l'autorisation Xbox, la récupération des licences, le téléchargement des paquets de jeu et le déchiffrement des exécutables à la demande. Bref, la douane est passée (non pas Hamza, celle de Microsoft).

Ce qui bloquait n'a jamais été Proton puisqu'en fait un jeu Xbox PC moderne repose sur le GDK de Microsoft et arrive emballé dans un conteneur MSIXVC chiffré, dont les clés dépendent de la licence attachée au compte.

Rien à voir donc avec un .exe posé dans un dossier.

L'équipe, emmenée par Paweł Lidwin qui contribue aussi à Heroic , a donc dû fabriquer ses propres briques, une bibliothèque d'authentification Xbox, un lecteur capable de parcourir ces conteneurs, et surtout une réimplémentation libre de xgameruntime.dll, le composant par lequel les jeux réclament les services Xbox (Celle-là est toujours en chantier). Le projet entretient même ses propres versions modifiées de Wine et de Proton.

Sauf qu'on ne joue toujours pas... Aucun binaire n'est distribué, il faut tout compiler soi-même, et les fameux services Xbox doivent encore être servis aux jeux à travers Wine. Le lancement, c'est donc le gros morceau restant même si un jeu auquel vous avez droit se récupère et se déchiffre.

Côté catalogue, il faut du GDK et du MSIXVC. Le MSIXVC2 n'est pas géré, Gears of War 4 reste sur le carreau, et les titres rétrocompatibles se récupèrent mais réclameront peut-être des correctifs dans wine ou dxvk. Quant au déchiffrement, il s'appuie sur les instructions AES du processeur. Cela signifie que sur une machine trop vieille pour les avoir, ça ne ramera même pas... ça s'arrête juste net sur une instruction "illegal".

Et puis, vous vous en doutez, il y a Microsoft... Le projet n'est ni affilié ni approuvé par Redmond, donc c'est à utiliser à vos risques et périls, car rien n'empêche l'éditeur de changer une clé ou de modifier un bout du protocole et de refermer la porte du jour au lendemain. Avec Xodus, personne n'a rien promis, et c'est un pari sur un avenir incertain... Toutefois le dépôt avance bien quand même, sans binaire à la clé pour le moment.

Source

Proton 11 ressuscite Dino Crisis et Resident Evil sur Linux

Je sais pas si vous avez vu mais Valve vient de sortir Proton 11, la nouvelle version stable de sa couche de compatibilité qui fait tourner les jeux Windows sur Linux via Steam Play. Et cette fois, c'est basé sur Wine 11, donc il y a pas mal de "nouveaux" vieux jeux qui sont maintenant jouables.

Parmi ces nouveautés, on retrouve donc Resident Evil premier du nom, celui de 1996, Resident Evil 2, Dino Crisis et Dino Crisis 2, SHOGUN: Total War, Gothic 1 Classic, Breath of Fire IV, Deadly Premonition ou encore Metal Fatigue. Et à côté de ces reliques, il y avait aussi des trucs plus récents comme METAL GEAR SURVIVE, Warhammer: Vermintide 2 et X-Plane 12.

Et pour les jeux qui étaient déjà jouables, Proton 11 affine encore le support de ces derniers pour les rendre encore plus jolis ou plus rapides ou avec moins de bugs etc. Je pense notamment à Cyberpunk 2077, The Witcher 3, Death Stranding 2, Helldivers 2, ARC Raiders, THE FINALS, Titanfall 2, Satisfactory, Metal Gear Solid 2, Oblivion GOTY ou Call of Duty 2.

Donc autant dire que si vous jouez sous Linux ou sous Steam Deck, je pense que vous êtes concerné par cette mise à jour. Et puis il y a un truc dont je ne vous ai pas parlé encore, c'est les correctifs qui font zizir. Je pense notamment au hot plug des manettes qui a été amélioré, notamment pour la 8BitDo Ultimate 2C et toutes les manettes qui exposent plusieurs périphériques HID. Sur KDE, la maximisation des fenêtres a aussi été corrigée, sans oublier le rendu des pop-ups du Rockstar Launcher ou encore la détection du fuseau horaire qui devient plus fiable. Même le lecteur multimédia Kodi passe mieux sous cette version, ce qui est top !

Ce passage sur Wine 11, c'est justement celui qui avait montré des gains de perf assez dingues au moment des premiers benchmarks NTSync et maintenant que c'est dans le Proton officiel, tout le monde y a droit sans bidouiller !! Pour l'installer, rien de sorcier, comme d'habitude, vous allez sur Steam, vous faites un clic droit sur un jeu, vous cliquez ensuite sur "Propriétés", et puis vous allez dans l'onglet "Compatibilité". Et là, vous sélectionnez la branche Proton 11.

Et voilà ! En tout cas, je suis content de voir que jouer sur Linux n'est plus un parcours du combattant . Avec le Steam Deck et cette compatibilité qui grignote chaque jour un peu de terrain, Windows perd de plus en plus son statut de passage obligé pour le jeu PC....

Source : 9to5Linux

Game Porting Toolkit 4 - Les jeux Windows enfin fluides sur Mac

Il y a deux ans, Apple lâchait le Game Porting Toolkit en jurant ses grands dieux qu'on pourrait faire tourner des jeux Windows sur un Mac Apple Silicon. À l'époque je vous disais que le gaming Windows sur Mac, c'était donc plié. Hé bien la version 4.0 vient de sortir en bêta, et cette fois les chiffres donnent raison à cette promesse !

La nouvelle version du traducteur maison de GPTK (baptisé D3DMetal 4) transforme dorénavant le DirectX 12 des jeux en Metal 4, le moteur graphique d'Apple.

Le youtubeur Andrew Tsai, dont j'ai mis le test dans cet article, a donc benchmarké 20 gros titres Windows pour mesurer le gain, et certains résultats piquent fort.

Black Myth Wukong passe par exemple de 60 à 80 fps sur un MacBook Pro M3 Max, juste en changeant de système et de version de traduction ! Red Dead Redemption 2 gagne 25% de perfs sur le MacBook Neo, la petite machine d'Apple à 600 balles avec sa puce A18 Pro et ses tout petits 8 Go de RAM (le chip de l'iPhone 16 Pro, quoi).

Black Myth Wukong : à gauche GPTK 3.0 sur macOS 26 (~60 fps), à droite GPTK 4.0 sur macOS 27 bêta (~80 fps).

Et le phénomène c'est 007 First Light, un AAA tout récent que personne ne pensait voir démarrer sur Mac, qui tranquillou nous crache du 70 fps en 1080p sur le M3 Max. Mais bien sûr, y'a un petit piège caché quand même pour celui-là. En fait, à chaque lancement, comptez 20 bonnes minutes de compilation de shaders avant de pouvoir jouer. Mais une fois dans le jeu c'est nickel. CodeWeavers finira sûrement par corriger ça, cela dit...

D'ailleurs, petit ajout, Alexandre, un lecteur, m'a signalé qu'un utilisateur de Reddit a pondu un outil open source pour contourner ça, 007 Shader Commander . Le principe, sauvegarder le cache de shaders D3DMetal une fois qu'il est constitué, puis le restaurer avant chaque lancement histoire de ne pas tout recompiler. Résultat chez lui, on passe de 20 minutes à 3 secondes au démarrage. Le projet est tout jeune (v0.0.1) et pensé pour CrossOver, mais si vous galérez sur 007, ça vaut le coup d'œil. Merci à lui !

007 First Light en 1080p sur un MacBook Pro M3 Max, environ 73 fps via GPTK 4.0 et le chemin DirectX 12 vers Metal 4.

Mais alors pourquoi ça va plus vite, ma chère Micheline ?

Hé bien ("ma chère Maïté", allez, on joue le jeu !!) parce que GPTK 4 est taillé pour Apple Silicon et ne traîne plus ce boulet qu'est la compatibilité Intel. Ça débloque donc des trucs comme l'interpolation d'images de MetalFX. Notez qu'en dessous, c'est toujours CrossOver et ce bon vieux Wine qui font le sale boulot de traduction, comme depuis le début.

Autre bonne surprise, les fameuses fuites mémoire des jeux Naughty Dog. Avant, Uncharted 4 ou The Last of Us 2 qui vous bouffaient 34 Go de RAM en quelques minutes, ben maintenant il vous faudra des heures pour atteindre le même niveau de conso RAM. C'est donc pas encore parfait, mais c'est largement jouable.

De son côté, comme on peut le voir dans la vidéo, Spider-Man 2 nous colle un magnifique bug de T-pose si vous n'avez pas une puce M5, parce que le jeu réclame des fonctions GPU absentes des puces précédentes. Et de leur côté, Monster Hunter Wilds bégaie, Street Fighter 6 plante une fois sur deux.

Spiderman en T-Pose

Bref, on est sur de la bêta, faut le savoir.

Mais quand ça marche, ça marche fort ! Rien que Tekken 8 qui tourne à 60 fps en ligne, c'est le plus fluide que ce jeu ait jamais eu sur un Mac. Star Wars Battlefront 2 dépasse aussi les 120 fps et Hellblade 2, Expedition 33 ou Resident Evil 9 tournent sans broncher.

Pour jouer correctement, prévoyez quand même un Mac avec de la RAM et de quoi installer la bêta de macOS 27.

En tout cas, voir un James Bond next-gen tourner sur un MacBook, moi ça me plait !

Source (les 20 benchmarks d'Andrew Tsai) et AppleInsider .

NTSYNC - Wine 11 booste les jeux Linux de 678%

Dirt 3 qui passe de 110 à 860 FPS sous nunux, non, j'ai pas fumé la moquette ! En fait c'est surtout grâce au fameux module de synchronisation kernel NTSYNC promis avec Wine 11 qui est enfin dispo dans certaines distros. Et la bonne nouvelle c'est que les premiers benchmarks développeurs viennent de tomber, donc on va regarder ça ensemble !

Concrètement, Fedora 42, Ubuntu 25.04 et SteamOS 3.7.20 beta embarquent maintenant le module par défaut avec le kernel 6.14. Du coup Resident Evil 2 bondit de 26 à 77 FPS, Call of Juarez grimpe de 99 à 224 FPS, et Tiny Tina's Wonderlands passe de 130 à 360. Et Call of Duty Black Ops est maintenant devenu... jouable ! Woohoo !

Alors attention, ces benchmarks comparent Wine vanilla (sans aucune optimisation) avec Wine + le module. Cela veut dire que si vous utilisiez déjà fsync via Proton ou Lutris, les gains seront moins spectaculaires. Après les jeux qui en profitent le plus sont ceux avec de grosses charges multi-thread où la synchronisation était vraiment le problèmo noméro uno.

Pour capter pourquoi cette news est un gros morceau, faut regarder un peu sous le capot. Au temps jadis, chaque fois qu'un jeu Windows devait coordonner ses threads (genre, attendre qu'une texture finisse de charger), Wine faisait des allers-retours avec wineserver... des milliers de fois par seconde. Du coup, on se tapait des micro-sacades et une cadence d'images pourrie.

Y'a eu des tentatives pour arranger ça. D'abord esync, puis fsync... ça améliorait les choses mais c'était du bricolage. Ça nécessitait des patchs kernel non-officiels que personne ne maintenait vraiment, et certains jeux gourmands faisaient carrément tout planter.

Mais tout cela c'est de l'histoire ancienne puisque NTSYNC, semble être enfin la bonne approche. Elizabeth Figura (CodeWeavers), la même dev qui avait pondu les solutions précédentes, a créé, cette fois, un vrai module intégré directement dans le noyau Linux. Comme ça, plus de bidouilles à la con et surtout plus d'approximations. Le noyau gère enfin la synchronisation lui-même, nativement, comme il aurait toujours dû le faire.

La stonksitude du barbu gamer est à son maaaax

Après des années de boulot et une présentation à la Linux Plumbers Conference 2023, le module a fini par être mergé dans le kernel mainline il y a peu. Ça marche donc "out of the box" et ça c'est plutôt chouette !

Et pour les possesseurs de Steam Deck, quand Valve rebasera Proton officiel sur Wine 11, tout le monde aura ça gratos !! En attendant, si vous êtes impatient, sachez que Proton-GE le supporte déjà ! Entre ça et le fait que 90% des jeux Windows tournent maintenant sous Linux , y'a clairement plus d'excuses pour rester sous Windows si c'est le gaming qui vous retenait, mes cocos !

Bref, c'est carrément la plus grosse avancée gaming Linux depuis Proton. Pas mal pour un module kernel bien velu quand même !

Source

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

Quand je pense que Win32 est devenu la couche de compatibilité la plus stable sur Linux...

Vous avez déjà essayé de faire tourner un vieux logiciel Linux sur une distrib récente, du genre un truc compilé il y a 5 ans ? Bah bon courage, parce que y'a de grandes chances que ça plante lamentablement à cause d'une dépendance qui aura changé entre-temps.

Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et là, ô surprise... y'a de bonnes chances que ça tourne ! Bon, ça dépend des applis évidemment, mais le taux de réussite est souvent meilleur qu'avec les vieux binaires Linux...

C'est précisément ce paradoxe que pointe le projet loss32 , une distro Linux expérimentale dont l'idée complètement dingue serait de faire tourner TOUT l'environnement de bureau en Win32 via Wine. Leur slogan c'est "Win32 is the stable Linux ABI!" ce qui veut dire en gros que l'interface binaire la plus fiable pour faire tourner des applications sur Linux à long terme, c'est celle de Windows. Ahaha, je suis mort de rire en écrivant ça car j'imagine votre tête énervée de barbu ! Pourtant, vous allez voir, c'est difficile de leur donner tort...

Alors c'est quoi le problème avec Linux exactement ?

Hé bien en août 2022, un changement dans la toolchain a fait des dégâts. Beaucoup de distributions ont basculé vers l'option --hash-style=gnu au lieu de --hash-style=both, ce qui génère des binaires sans la section DT_HASH classique. L'idée c'était de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant.

Ça n'a l'air de rien comme ça... sauf que ça a cassé pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d'Epic se sont retrouvés en vrac, par exemple Shovel Knight a eu des soucis, ou encore le limiteur de framerate libstrangle . Bref, des logiciels qui marchaient très bien la veille se sont retrouvés dans les choux du jour au lendemain.

Et c'est là qu'on touche au cœur du problème car sous Windows, Microsoft maintient une compatibilité binaire quasi-religieuse pour les applis Win32 classiques. Un programme compilé pour Windows 95, s'il n'utilise pas de drivers ou d'APIs obsolètes, a de bonnes chances de tourner sur Windows 11. C'est un contrat tacite entre Microsoft et les développeurs qui a tenu pendant trois décennies.

Et même si sous Linux, le kernel et glibc sont plutôt stables, c'est vrai, dès qu'on parle de binaires tiers liés à des bibliothèques user, c'est une autre histoire. Et comme c'est le bordel et que chaque distribution fait un peu ce qu'elle veut, et les dépendances évoluen forcement. Du coup, si votre binaire précompilé casse, c'est votre problème. La philosophie c'est donc plutôt "recompile ton truc et arrête de te chialer 'spèce de fragile".

Et c'est pour ça que Valve a misé gros sur Proton. Officiellement, ils n'ont pas de préférence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la tête à faire des ports Linux natifs. Et parfois, les jeux Windows via Proton tournent même mieux que les ports natifs ... c'est dire.

Et le projet loss32 pousse cette logique jusqu'au bout car pourquoi se battre contre les moulins à vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ?

Alors perso, j'ai hâte de voir ça et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu'on puisse tous tester ça chez nous. Et si ça fonctionne bien, ça veut dire que si vous créez une application desktop simple et que vous voulez qu'elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine/Proton est une option à considérer sérieusement.

Ça semble contre-intuitif, mais pour certains cas d'usage, c'est une stratégie pragmatique...

Pour les utilisateurs, ça veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de première classe pour faire tourner des logiciels de manière stable sur Linux. Le Steam Deck l'a prouvé avec des milliers de jeux Windows qui tournent nickel.

Bref, on en est là... Win32, l'API de Microsoft, est devenue paradoxalement une des couches de compatibilité les plus stables pour faire tourner des logiciels sur Linux. C'est fou non ? Ça va faire grincer des dents de barbus c'est sûr mais c'est aussi la preuve que parfois, les solutions terre à terre l'emportent sur l'idéologie.

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

WinBoat - Lancez des applications Windows sous Linux comme si elles étaient natives

Les Linuxiens ont beau dire que Linux peut TOUT faire, ils gardent presque tous un dual-boot ou une VM Windows planquée quelque part pour lancer Photoshop ou remplir une page web administrative qui plante sous Firefox. C’est ça la définition du déni, les amis ^^.

Alors bien sûr, y’a Wine qui existe depuis plus de 20 ans, mais bon faut bidouiller des préfixes, installer des DLL manquantes, fouiller sur WineHQ et au final, c’est toujours du rafistolage à se taper.

Alors comme le fait Winapps , il y a aussi WinBoat , un outil capable de faire tourner un Windows dans un container Docker. Pas d’émulation, pas de traduction d’API, pas de prière à saint Wine pour que votre app se lance. Ça lance de vraies apps Windows !

Techniquement, WinBoat utilise donc Docker et KVM pour faire tourner Windows dans un container. Electron gère l’interface, FreeRDP se connecte à Windows via le protocole RemoteApp, et vos apps Windows apparaissent comme des fenêtres normales sur votre bureau Linux.

Vous cliquez sur une icône, hop, l’app se lance, et vous oubliez qu’il y a une VM qui tourne en arrière-plan.

L’installation de Windows est également automatisée. Vous lancez WinBoat, ça télécharge et configure tout, tout seul, et après c’est prêt. L’intégration filesystem permet d’accéder vos fichiers Linux depuis les apps Windows et le passthrough USB et smartcard fonctionne, ce qui règle le problème des signatures électroniques pour les démarches administratives dont je parle un peu plus haut.

Photoshop, Illustrator, InDesign, c’est clair que ces apps ne tourneront jamais correctement sous Wine parce qu’Adobe n’a jamais pensé son code pour être portable alors qu’avec WinBoat, elles tournent. Office 365 aussi, pour les boîtes qui imposent Teams et SharePoint. Ah et Affinity Photo pareil ça roule impecc aussi.

WinBoat assume quand même ses limites dès le départ car y’a pas de passthrough GPU pour le moment, donc les apps lourdes en 3D rameront. Pas de support non plus des jeux avec anti-cheat, mais le Steam Deck fait ça mieux de toute façon. Et notez qu’il vous faudra minimum 4 Go de RAM rien que pour WinBoat, parce qu’un Windows léger ça n’existe pas !

Le projet est open source sous licence MIT, gratuit, dispo en AppImage, .deb, .rpm, ou via AUR pour Arch. Docker CLI est obligatoire, mais pas Docker Desktop et FreeRDP 3.x.x avec le support son aussi. KVM aussi doit être activé sur votre système.

Bref, WinBoat c’est comme Winapps, très sympa à tester car ça marche très bien même si les perfs ne seront jamais celles d’un Windows natif. C’est dispo sur GitHub avec toute la doc si ça vous chauffe.

Merci à Lorenper pour le soft.

❌