Doom sur GPU - Plus besoin de processeur pour faire tourner le FPS culte
Un développeur vient de réussir l’exploit ultime : faire tourner le mythique Doom presque entièrement sur GPU. Oui, vous avez bien lu : le FPS qui a fait trembler les parents des années 90 s’émancipe enfin du CPU pour aller tâter du silicium graphique.
Pour rappel, Doom, c’est LE jeu de tir à la première personne sorti en 1993 qui a posé les bases du genre FPS. Des graphismes en 2.5D qui feraient passer Minecraft pour un film Pixar, une ambiance plus glauque qu’une réunion de famille chez les Addams, et un arsenal qui ferait pâlir d’envie John Wick…
Le projet “doomgpu”, concocté par un certain jhuber6 sur GitHub, utilise le code du portage générique de Doom, en combinaison avec la bibliothèque C LLVM pour GPU.
Alors ça change quoi de faire tourner Doom sur le GPU ?
Eh bien pas grand chose, si ce n’est la rapidité et le côté “amour du challenge technique” pour son auteur.
Si vous voulez tenter l’expérience (et potentiellement ouvrir un portail vers l’enfer dans votre GPU), voici la liste de courses :
- Un système d’exploitation Linux
- Une carte graphique AMD avec support ROCm
- Des bibliothèques SDL2
- Une installation ROCm ou ROCR-Runtime
- Une compilation LLVM à partir de la branche principale
Si vous cochez toutes ces cases (félicitations, vous êtes officiellement plus geek que 99,9% de la population), voici comment invoquer les démons sur votre GPU :
make -C amdgpu_loader/ -j
make -C doomgeneric/ -f Makefile.amdgpu -j
./amdgpu-loader/amdgpu-loader --threads 512 ./doomgeneric/doomgeneric -iwad doom1.wad
Et voilà ! Si tout se passe bien (et que vous n’avez pas accidentellement ouvert un portail vers une dimension parallèle), vous devriez voir apparaître Doom dans toute sa splendeur pixelisée, tournant fièrement sur votre GPU comme un hamster sous stéroïdes dans sa roue.
C’est quand même sacrément cool de voir que 30 ans après sa sortie, Doom continue d’inspirer les développeurs et de repousser les limites de ce qu’on croyait possible.
Pour les curieux qui voudraient mettre les mains dans le cambouis démoniaque (ou contribuer à ce projet fou), jetez un œil au dépôt GitHub de doomgeneric. Qui sait, vous serez peut-être le prochain à porter Doom sur je ne sais quoi…