Vai al contenuto

← Firmware e software

Lume

Linux minimo per la console R36S

Stato
lavoro in corso
Licenza
GPL-3.0-or-later (kernel e Buildroot: GPL-2.0)

Perché

ArkOS, sotto slot, faceva perdere un sacco di tempo fra un’accensione e l’altra, e dava poca accessibilità al Wi-Fi e all’OTG del dispositivo. Lume permette tutto questo e accelera anche l’accensione, dal primo bootloader all’avvio del frontend.

Cosa fa

Costruisce un’immagine per la scheda SD con il kernel mainline, un initramfs BusyBox e il minimo indispensabile per accendere lo schermo e lanciare slot.

Come è fatto

  • Buildroot per la toolchain e il sistema;
  • kernel mainline con l’overlay del pannello DSI;
  • kmscube come prima prova della grafica;
  • script per preparare la SD.

Scelte

  • Il debug del pannello DSI: con name= messo per primo nell’overlay, il driver si fermava e il pannello restava su una sola lane. Spostandolo lo schermo è partito.
  • Il seed dell’RNG all’avvio, per non restare in attesa di entropia.

Numeri

3,6 s
dal kernel al gioco sullo schermo, a 60 fps
~1 s
dal kernel al logo
  • Buildroot
  • Linux mainline
  • BusyBox
  • DSI
  • kmscube

Collegato a

  • Vesper: Frontend originale per la R36S sotto Lume, per giochi GBA, GBC e Nintendo DS, con layout diversi per i due schermi del DS.
  • slot sulla R36S: slot è un frontend per giochi Game Boy nato per un’altra console. L’ho portato sulla R36S: all’accensione si arriva subito all’elenco delle cartucce.

Foto e video: da fare.