Far girare Doom su una nuova piattaforma è ormai un “rito di passaggio” per sviluppatori e progettisti hardware.
Il celebre sparatutto del 1993, reso open source nel 1997, continua a essere usato come banco di prova per verificare la maturità di sistemi operativi, architetture di processore ed emulatori.
L’ultimo caso riguarda l’architettura RISC-V: un progetto dimostra che Doom può essere eseguito all’interno di Linux a 64 bit compilato per RISC-V, in uno scenario sperimentale che coinvolge anche Apple Vision Pro.
La dimostrazione non ha solo valore simbolico: il risultato evidenzia quanto RISC-V, nato come ISA aperta e libera da royalty, abbia raggiunto un livello di compatibilità sufficiente per eseguire software complesso attraverso un ambiente Linux completo, anche in contesti non convenzionali.
Doom eseguito in Linux RISC-V su Vision Pro
La demo mostra Doom in esecuzione all’interno di una distribuzione Linux riscv64 avviata su Apple Vision Pro. Il gioco non gira direttamente sull’hardware del visore, ma sfrutta un ambiente software che consente di eseguire un sistema Linux compilato per l’architettura RISC-V, dimostrando la corretta integrazione dell’intero stack software.
Il progetto conferma che è possibile utilizzare applicazioni native compilate per RISC-V anche su piattaforme molto diverse dall’hardware tradizionalmente associato a questa architettura. Il risultato rappresenta soprattutto una prova della flessibilità degli strumenti di virtualizzazione e di emulazione oggi disponibili, che permettono di far girare un sistema Linux completo “sopra” dispositivi non convenzionali come un visore per realtà mista.
Perché Doom è un benchmark informale
Doom viene scelto frequentemente come test perché il suo codice sorgente è disponibile da molti anni e dispone di numerosi porting moderni, tra cui doomgeneric, progettato proprio per semplificare l’adattamento a nuovi sistemi. Lo sviluppatore deve implementare poche funzioni fondamentali dedicate al rendering del framebuffer, alla gestione dell’input, del timer e dell’audio, mentre il resto del motore rimane sostanzialmente invariato.
Per ottenere un risultato funzionante non basta però compilare il codice. Servono un compilatore compatibile con l’architettura, una libreria C completa, il supporto alle chiamate di sistema Linux, la gestione della memoria virtuale e driver sufficientemente maturi. Per questo motivo il successo di un porting viene spesso interpretato come un segnale della maturità raggiunta dalla piattaforma software, capace di sostenere un’applicazione “reale” e non solo semplici programmi di test.
La crescita dell’ecosistema RISC-V
L’interesse verso RISC-V continua ad aumentare grazie alla natura aperta dell’ISA, che permette a produttori, università e aziende di sviluppare processori personalizzati senza dover pagare licenze per il set di istruzioni. Negli ultimi anni sono arrivati processori a 64 bit capaci di eseguire Linux in modo completo, con supporto a RV64GC, memoria virtuale, estensioni per moltiplicazione e divisione, istruzioni atomiche e unità floating point.
Parallelamente procede la standardizzazione delle piattaforme server e desktop, con l’obiettivo di migliorare la compatibilità tra distribuzioni Linux, firmware e hardware prodotti da aziende differenti. La disponibilità di ambienti software sempre più completi rende possibili dimostrazioni come quella di Doom, che fino a pochi anni fa avrebbero richiesto pesanti modifiche al codice o sistemi fortemente sperimentali.