Skip to content
 
 

Repository files navigation

darkui

darkui is a minimal Linux OS for the Anbernic RG35XXSP. A Buildroot image boots straight into a PocketJS launcher, rendered by a Rust host directly to the framebuffer. See docs/PLAN.md for the product contract this runtime follows.


Home shelf with per-system counts

Game list with cartridge art

Settings

A game running

In-game menu

Volume overlay during gameplay

Read docs/PLAN.md first. It holds the product contract, the ownership model, the implementation sequence, and the release gate.

Repository layout

Path What it is
docs/PLAN.md The plan. Product contract, ownership, implementation sequence, release gate.
docs/architecture.md Boot flow, process model, and runtime path contract.
docs/devices/ Hardware facts for the supported board: input codes, panel/DRAM variants, firmware.
system/minimal-h700/ The Buildroot external tree that builds the RG35XXSP image.
hosts/anbernic/ Rust host: anbernic-host renders the launcher to /dev/fb0; darkui-game is the isolated game worker.
apps/ PocketJS apps. launcher/ is the home screen, library, settings, and in-game menu UI.
pocket/ darkui's additions to PocketJS that are not upstream yet.
tools/ Build, test, and device scripts.
vendor/pocketjs Pinned PocketJS checkout, fetched by tools/fetch-pocketjs.sh. Not committed.

Quick start

make pocketjs   # clone PocketJS at the pinned rev and apply pocket/*.patch
make app        # compile the launcher bundle for the anbernic-h700 target
make host       # cargo zigbuild aarch64 anbernic-host + darkui-game
make artifacts  # regenerate system/minimal-h700/artifacts.sha256
make builder    # docker build darkui-builder:bookworm
make image VARIANT=sp-lpddr4   # build the RG35XXSP image
make dev-image  # build the writable developer image

make test-launcher exercises the launcher bundle in the local simulator. make test-host runs the Rust host and game-worker test suites. make test-compatibility runs the offline GBA report parser and Pocket battery-save importer checks. make assets rebuilds the console and cartridge art. make clean removes build output.

See installation for flashing an image, architecture for the boot flow and process model, the system surface for the launcher's native API, USB development for the developer SSH link, and development for the day-to-day launcher, host, kernel, and Buildroot package loops.

History

The main branch holds the previous darkui, a fork of Shaun Inman's MinUI for the RG35XX and RG35XXSP. It shipped and it is finished. This branch starts over and shares no code with it.

About

MinUI is a focused, custom launcher and libretro frontend for a variety of retro handhelds.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages