Un giovane studente delle superiori, noto come Ading2210, ha sviluppato un innovativo progetto chiamato LinuxPDF che permette, come potete intuire, di eseguire una versione del sistema operativo Linux all'interno di un file PDF aperto con un browser basato su Chromium. Il progetto, che occupa solo 6MB di memoria, è disponibile su GitHub.
LinuxPDF utilizza una versione modificata dell'emulatore RISC-V TinyEMU per far funzionare Linux nel PDF. Il sistema operativo viene eseguito grazie a una tecnica che compila il codice "utilizzando una vecchia versione di Emscripten che punta ad asm.js invece di WebAssembly", come spiega lo sviluppatore. Questo permette di incorporare e caricare automaticamente un kernel Linux minimale nel documento PDF.
L'interfaccia utente di LinuxPDF presenta un viewport in cui viene visualizzato l'output del sistema operativo, insieme a una tastiera virtuale creata tramite pulsanti PDF. Gli utenti possono anche inserire i comandi direttamente in un campo di testo dedicato.
Ading2210 riconosce che la principale criticità del progetto riguarda, ovviamente, le prestazioni. "Il kernel Linux impiega circa 30-60 secondi per avviarsi all'interno del PDF, il che è oltre 100 volte più lento del normale", afferma lo sviluppatore. La causa principale del problema è l'assenza del compilatore Just-in-Time, disabilitato nell'attuale motore PDF di Chrome.
Lo studente non è nuovo a idee folli come questa, dato che è il creatore di DoomPDF, progetto che permette di giocare a Doom all'interno di un PDF.
Il codice sorgente di LinuxPDF è disponibile su GitHub, mentre per provarlo è sufficiente usare un browser basato su Chromium, dal momento che non funziona correttamente su Firefox e altri.