KRetro è un'interfaccia Libretro scritta in Qt/Kirigami, progettata per Plasma Desktop, Mobile e Bigscreen.
Permette di giocare ai giochi per console retrò fornendo una ROM e un core Libretro.






Un Pixel 3a con postmarketOS che esegue KRetro su Plasma Mobile
KRetro è un'interfaccia utente Libretro per KDE scritta in Qt con Kirigami! Ciò significa che, se dotata sia di un core Libretro che di una cartuccia/ROM di gioco, riproduce i tuoi giochi preferiti. È progettata per essere convergente e utilizzabile su tutte le piattaforme Plasma: desktop, mobile e a schermo grande .
Che cos'è Libretro?
Potreste aver sentito parlare di RetroArch , un popolare e notoriamente portatile frontend per emulatori di videogiochi retrò con un'interfaccia utente in stile console. Una delle innovazioni più importanti di RetroArch è libretro , un'API standard in grado di adattare i numerosi emulatori di console di gioco indipendenti a un singolo programma. Questo è ciò che consente a RetroArch di supportare un vasto numero di sistemi senza dover integrare il supporto per ogni emulatore personalizzato nel frontend stesso.
Un "core" di libretro è semplicemente un file di libreria dinamica .so/.dylib/.dll che impacchetta un emulatore (o un gioco indipendente) e può essere caricato in qualsiasi applicazione in grado di utilizzarlo tramite la specifica API C di libretro.h .
Tramite l'API libretro, i core vengono adattati all'interfaccia Qt nativa di KRetro (ad esempio, i pixel vengono disegnati su una QImage, l'audio viene renderizzato utilizzando Qt Multimedia e la lettura degli eventi della tastiera viene gestita dal motore QML).
La strada per KRetro
Screenshot di KRetro: visualizzazione del gioco desktop e del giocatore, nonché visualizzazione del giocatore mobile. Lo sviluppo di KRetro è iniziato nel 2023 con il desiderio di contribuire alla creazione di altre app per Plasma Mobile (un ringraziamento speciale a Devin per l'idea e il supporto durante il percorso). Ci ho lavorato per un po', ma purtroppo sono stato impegnato con la scuola e altre cose. Inoltre, la transizione a Qt 6 è arrivata e finita, lasciando KRetro di fatto abbandonato.
Fortunatamente, nel 2024, Dexter Reed mi ha proposto un MR per portare il codice KRetro su Qt6 . E finalmente, nel 2025, con più tempo a disposizione, ho ripreso in mano il progetto, arrivando a oggi!
Il nome? Il prefisso K è stato in gran parte eliminato in KDE per le nuove app... si potrebbe dire che è uno schema di denominazione retrò
Cosa può fare KRetro oggi
Come probabilmente avrai intuito, questa è una versione di qualità Alpha e, nonostante abbia fatto del mio meglio per rendere l'esperienza di gioco impeccabile, puoi aspettarti bug e funzionalità mancanti.
La vista Libreria giochi su KRetro: un elenco di ROM di gioco
Ancora più importante, KRetro non è completo di tutte le funzionalità . Questa versione è volutamente limitata: volevo assicurarmi che la portata non fosse troppo ampia, in modo da poter fare progressi significativi verso una versione definitiva.
A partire da questa prima versione alpha, KRetro può riprodurre i giochi dal seguente elenco fisso di console :
- Nintendo Entertainment System/Famicom
- Super Nintendo Entertainment System/Super Famicom
- Game Boy Advance
- Sega Master System
- Sega Genesis/Mega Drive
- libretro 2048 (un gioco demo integrato)
Pagina delle impostazioni del controller KRetro KRetro supporta anche controlli completamente mappabili sia per gli input da tastiera che da controller, sebbene per ora sia disponibile solo una porta (quindi niente multiplayer). Il supporto per i controller è fornito da SDL3 (e l'input da tastiera è gestito direttamente dal motore QML).
Menu degli stati di salvataggio per partita in KRetro
KRetro dispone di un sistema per gestire gli stati di salvataggio per ciascuna delle tue partite, incluso uno slot di salvataggio predefinito che salva e ripristina automaticamente i tuoi progressi di gioco quando esci e avvii KRetro.
La strada da percorrere: cosa resta da fare?
Tantissime! In effetti, troppe cose da elencare qui in dettaglio. Ci sono però diversi aspetti importanti, come l'abilitazione del supporto OpenGL/Vulkan per i core (questo permetterà di supportare la maggior parte delle console 3D, come N64, Wii o Playstation), o la possibilità di combinazioni arbitrarie di core e ROM (permettendo agli utenti di selezionare uno qualsiasi degli oltre 200 core libretro desiderati, invece di avere un elenco fisso di console come avviene attualmente).
Esistono anche molti altri aspetti minori che incidono sulla qualità della vita, ad esempio:
- Supporta più di 1 controller
- Migliorare il layout del controller touch sui tablet
- Un elenco di giochi/ROM migliore con metadati estesi
- Salva schermate di stato
- E molti altri ancora…
Anche la piattaforma mobile ha bisogno di qualche attenzione in più, ad esempio con layout del controller touch trasparenti e personalizzabili.
Il supporto al Plasma Bigscreen è in genere piuttosto scarso (dato che nemmeno il Bigscreen stesso è ancora stato rilasciato), c'è solo un supporto di base per la navigazione remota per selezionare i giochi e tutte le altre parti dell'interfaccia utente richiedono un mouse per essere raggiunte (come la pagina delle impostazioni).
In passato KRetro è stato eseguito anche su Android (il che significa che dovrebbe funzionare su Android, ma non è stato testato da un po' di tempo e probabilmente non funziona) e non sono mai state tentate build per iOS (tuttavia è stato eseguito su macOS).
Qualcuna di queste funzionalità ti interessa e vuoi dare il tuo contributo? Hai altre idee? Vieni a contribuire sulla pagina di KDE Invent !
Provando KRetro

Sonic the Hedgehog su KRetro
Dato che si tratta della prima release, e di una versione alpha, KRetro non è ancora disponibile su nessuna distribuzione. Il modo più semplice per provare KRetro se si utilizza x86_64 è usare il nightly flatpak:
flatpak install https://cdn.kde.org/flatpak/kretro-nightly/org.kde.kretro.flatpakref
Altrimenti, dovrai prendere il codice sorgente e compilarlo, sia nel tarball di rilascio che in una versione ancora più evoluta, dal repository git .
Scarica il tarball: https://download.kde.org/unstable/kretro/0.0.1/
$ wget https://download.kde.org/unstable/kretro/0.0.1/kretro-0.0.1.tar.xz
$ tar xvf kretro-0.0.1.tar.xz && cd kretro-0.0.1/
$ mkdir build && cd build
$ cmake .. # install required dependencies if needed
$ make -j${nproc}
$ ./bin/kretro # or sudo make install
Aggiornamento 2025-10-06: Ora è disponibile anche un pacchetto kretro su AUR per gli utenti Arch Linux! https://aur.archlinux.org/packages/kretro
Oltre a installare KRetro, avrai bisogno anche di alcuni core libretro. Nel nightly flatpak, questi sono già inclusi e sei pronto per giocare! Se installi KRetro manualmente, i core consigliati/testati sono i seguenti:
- Nestopia per NES
- snes9x per SNES
- mGBA per GBA
- Sistema di ingranaggi per SMS
- BlastEm per Genesis/MD
Alcune distribuzioni (come Arch e Alpine) li includono già nel loro pacchetto, quindi è possibile installarli tramite i rispettivi gestori di pacchetti (ad esempio pacman -S libretro-snes9x). Una volta installati, è possibile selezionarli per l'uso nelle impostazioni di KRetro.
I giochi vengono rilevati e abbinati al rispettivo tipo di console in base all'estensione del file , quindi tutto ciò che devi fare è posizionare le ROM dei tuoi giochi in "~/Documenti/Giochi" (o in un'altra cartella a tua scelta).
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!






0 commenti:
Posta un commento