NextOS
Distro Linux de retro gaming para TV boxes Amlogic.
Wayland nativo · sway · EmulationStation
NextOS é uma distro Linux focada em retro gaming em TV boxes Amlogic, construída em cima do ecossistema LibreELEC (via Arch-R / ROCKNIX / JELOS).
O diferencial: enquanto a maioria das roms de TV box Amlogic ainda vive em KMSDRM puro ou compositores legados, NextOS aposta inteiramente em Wayland nativo com sway como compositor — moderno, estável e com gerenciamento de DRM master correto entre o frontend (EmulationStation) e os emuladores.
NextOS suporta duas linhas de hardware, cada uma com sua stack de GPU:
S905W L / D / M, GPU Mali-450 (Utgard)
A linha carro-chefe do projeto. Aqui rodamos a stack 100% open-source upstream:
| Camada | Tecnologia |
|---|---|
| Kernel | mainline Linux 7.x (sem BSP vendor) |
| Driver kernel | lima (open, mainline) |
| Driver userspace | Mesa (Lima driver) — GBM, EGL, GLES2 |
| Compositor | sway (wlroots, Wayland nativo) |
| Frontend | EmulationStation (cliente Wayland, SDL2) |
| Audio | PipeWire |
Sem blobs proprietários, sem drivers vendor, sem patches kbase ARM. Tudo o que roda foi mergeado no mainline do kernel/Mesa.
S905X5 / S905X5M / S928X, GPU Mali Valhall (G310 / G57)
Linha secundária, adicionada porque essas TV boxes têm hardware muito mais potente (Cortex-A55/A76, 4–8 GB RAM, USB 3.0, Gigabit Ethernet) mas ainda não tem suporte mainline pra Mali Valhall em kernel atual. Solução: usar o blob proprietário ARM (vendor) num kernel BSP CoreELEC.
| Camada | Tecnologia |
|---|---|
| Kernel | amlogic-5.15.196 (BSP CoreELEC + patches NextOS) |
| Driver kernel | mali_kbase vendor Amlogic (gpu-aml) |
| Driver userspace | Blob proprietário libMali.valhall.{g310,g57}.so r44p0 wayland-drm |
| Compositor | sway (igual ao nxtos) |
| Frontend | EmulationStation (igual ao nxtos) |
| Audio | PipeWire |
| SoC | DT family | GPU | Exemplo de board |
|---|---|---|---|
| S905X5 | sc2 / s6 | Mali-G310 (Valhall, CSF) | Vontar X5, X96 X5 |
| S905X5M | s7d | Mali-G310 (Valhall, CSF) | Odroid C5, Vontar X5M |
| S928X | s5 | Mali-G57 (Valhall, JM) | X96 X10 Pro, Ugoos AM8 |
Mesmo compositor, mesmo frontend, mesmo splash — o que muda é só a camada gráfica de baixo nível (blob vs mesa).
Independente do hardware, todo dispositivo NextOS roda:
nextos-splash— logo customizado da distro renderizado direto no/dev/fb0durante o boot (binário em C ~50 KB, sem dependência de libdrm/libpng)sway+essway.service— compositor único pra todos os devices- EmulationStation patched pra integração Wayland
- PipeWire pra áudio
- Same overlays runtime — quirks per-platform aplicam config específica do SoC sem fork de service
- S905X4 (sc2 Bifrost Mali-G31) — meson-drm 5.15 + libmali g24p0 + kbase r54p2 não fecha em Wayland nem KMSDRM (GPU faulta no primeiro draw, independente da config). Esse SoC continua na rom Elite Edition antiga, separada do NextOS.
projects/NextOS/
├── devices/
│ ├── Amlogic-nxtos/ ← S905W L/D/M, mainline 7.x + Lima (principal)
│ └── Amlogic-no/ ← S905X5/X5M/S928X, BSP 5.15 + libMali (bonus)
└── packages/
├── tools/nextos-splash/ ← logo boot /dev/fb0
├── wayland/compositor/sway/ ← sway service + config
└── hardware/quirks/platforms/
├── Amlogic-nxtos/ ← quirks Lima Mali-450
└── Amlogic-no/ ← quirks libMali Valhall
Em desenvolvimento ativo. Sem release pública ainda.
Linha Amlogic-nxtos é a alvo de estabilidade primária; Amlogic-no segue em paralelo conforme o blob Valhall + sway compositor amadurece.
NextOS é fork de Arch-R, que vem de ROCKNIX → JELOS → LibreELEC / CoreELEC.
Código sob GNU GPL v2 na maior parte. Componentes individuais mantém suas próprias licenças.
O blob libMali (linha Amlogic-no apenas) é proprietário ARM, redistribuído conforme os termos definidos pelo CoreELEC.
Esta distro só existe graças ao trabalho coletivo de:
- Arch-R — distro pai, sistema de build
- ROCKNIX — base estável fork da JELOS
- JELOS — fork inicial focado em emulação
- CoreELEC — kernel BSP Amlogic + blobs Mali vendor
- Mesa — driver Lima open-source (linha nxtos)
- sway + wlroots — compositor
- EmulationStation — frontend
- RetroArch / Libretro — emuladores e cores
- PipeWire — stack de áudio
- Toda a comunidade open-source que torna isso possível