Le monde informatique est gouverné par deux architectures : x86 et ARM. Ce sont des architectures « fermées », mais il existe une alternative gratuite et open source : RISC-V, conçue par l'Université de Californie à Berkeley. Le youtuber CNLohr a passé ces dernières semaines à travailler sur un petit émulateur RISC-V capable d'exécuter Linux, mais il a décidé d'aller plus loin… et il est inévitablement arrivé à Doom.
La chaîne ExplainingComputers a fait un excellent travail en présentant les caractéristiques principales de l'architecture RISC-V. L'idée d'une solution gratuite, ouverte et flexible est très attrayante, mais ses applications les plus importantes se trouvent dans le domaine de l'embarqué, comme la puce de sécurité Titan M2 de Google ou le célèbre ESP32 d'Espressif Systems.
En parallèle, RISC-V est très populaire dans les environnements de recherche. De nombreux experts ont créé des émulateurs RISC-V avec différents niveaux de complexité, mais le youtuber CNLohr, que nous connaissons pour ses cartes 3D de signaux WiFi, a décidé de créer une version capable d'exécuter Linux. C'était son premier objectif :
Doom sur un émulateur RISC-V
La vidéo originale dure 20 minutes et regorge de détails techniques qu'il vaut vraiment la peine de revoir, mais pendant une semaine, le web ne s'est posé qu'une seule question : « Peut-il faire tourner Doom ? »
CNLohr explique que dans son état d'origine, la réponse est non. Doom a besoin d'effectuer des écritures sur un dispositif graphique de sortie, ce que l'émulateur n'a pas. Cependant, avec une série d'ajustements supplémentaires, le marine a recommencé à dégommer des démons. Il y a six ans, CNLohr avait préparé un projet spécial appelé embeddedDoom, un build simple et compact, hautement intégré, avec des exigences de mémoire très faibles. Sa stratégie a consisté à porter embeddedDoom et à afficher les graphismes dans toute leur gloire de 160x50 pixels en utilisant des codes ANSI.
Le reste est une véritable chasse aux bugs, une exécution initiale, encore des erreurs, et enfin, Doom sur un émulateur RISC-V à 25 FPS. Les améliorations de performances viendront probablement avec un travail supplémentaire (et ce n'est pas comme si Doom en avait trop besoin à ce stade)… mais c'est une autre histoire.