mrkeyoor.com_
Sat 17 Oct 13:32 UTC
Self-Hostedevaluationupdated 10 Oct 2026

slot review

Slot is a Rust frontend for supported Anbernic handhelds that presents Game Boy, Game Boy Color, and Game Boy Advance games as shelves of cartridges. It gives players a focused way to browse and launch those games, with a core picker, save states, and local handheld controls.

+59stars / 7d
Verdict

Our Slot build succeeded in 96 seconds, but tests failed after 34 seconds while compiling a recording example that imports a macOS-only graphics surface. Try it for the Game Boy cartridge interface on a supported handheld, after checking saves and resume behavior with your games. Choose a broader frontend if other consoles, achievements, or Bluetooth audio are requirements.

We ran it

Lab card: what happened when we ran slotScreenshot of slot (slot-cfw.fyi)
Install✓ · 26s162 packages
Build✓ · 96s
Tests✗ · 34sran, no count parsed
Repo395 files~59,603 lines of source · 19.1 MB · 2 CI workflows

Answers from our run

Does slot build from source?

Dependencies installed in 26 seconds (162 packages), and the build succeeded in 96 seconds. We cloned commit 9d7c795 into a clean Debian container with 3 CPUs and no project-specific setup.

Do slot's tests pass?

No. The project's own test command exited unsuccessfully after 34 seconds, and its output did not expose an individual test count.

Who should not use slot?

Players wanting other consoles: the README limits support to GB, GBC, and GBA.

What are the alternatives to slot?

MustardOS, KNULLI. Our Slot build succeeded in 96 seconds, but tests failed after 34 seconds while compiling a recording example that imports a macOS-only graphics surface.

Setup3/5Build passed, tests blocked, and device use needs BaseOS card preparation
Docs4/5Clear card instructions, controls, and explicit feature exclusions
Community2/598 stars with current issue reports and contributor discussion
Maturity3/5v1.6.0 adds save warnings, while pacing and wake reports remain open

Who it’s for

Supported Anbernic owners whose handheld library centers on GB, GBC, and GBA.
Players who want the cartridge carousel and emulator-core picker shown in the README.
Rust contributors willing to investigate a platform-specific example that blocked our test command.

Who it’s NOT for

Players wanting other consoles: the README limits support to GB, GBC, and GBA.
Users who need RetroAchievements, cheats, or Bluetooth headphones: the guide explicitly declines those features.
RG34XXSP owners depending on stick controls: the README marks stick support as absent.
Linux contributors who need the recording example to compile unchanged: our test step hit its macOS-only HeadlessSurface import.
Players requiring proven quick wake and consistent GBA pacing: issues 49 and 48 describe cold-start concerns and frame drops, neither verified by our sandbox.

Setup reality

Our run of commit 9d7c795 installed 162 packages in 26 seconds and built successfully in 96 seconds. Tests failed with exit 101 after 34 seconds: Cargo could not compile the record example, and the log identifies HeadlessSurface as available only under a macOS condition.

The documented user route flashes BaseOS to an SD card and copies a Slot release onto it. You supply unzipped games in platform folders and a supported handheld. That local route requires no hosted API credential, and differs from compiling the Rust source.

The fresh Debian sandbox used lab-rust:1 with 3 CPUs and 12 GB RAM. It did not establish physical-device performance. The README warns that RG34XXSP stick support is absent and that RG28XX panel orientation may need a launch-script setting.

Game Boy-only support is the reason to choose Slot

Slot turns a supported Anbernic handheld into a Game Boy-focused interface with shelves of cartridges and a choice of emulator core. The README limits the game library to GB, GBC, and GBA. That makes the project unusually easy to judge: if those are the games you reach for, its narrow interface has a purpose. If you want the same device to browse many console libraries, you will run into its boundary immediately.

Our source checkout contained 395 files, about 59,603 lines of source, and occupied 19.1 MB. It is a Rust frontend, with separate crates for graphics and other parts of the application. The README's cartridge-carousel and core-picker demonstrations explain the intended interaction. They do not establish how well your own games will run. I'd choose Slot for that particular cartridge experience, rather than as a general replacement for every feature in stock firmware.

What happened when we ran it

Our run installed Slot commit 9d7c795 in 26 seconds, adding 162 packages, and completed the build in 96 seconds. We cloned it on October 10, 2026, in a fresh Debian sandbox with 3 CPUs, 12 GB of RAM, and the lab-rust:1 image. The container was unprivileged and held no secrets. These results establish that the source build completed in this environment, without measuring gameplay on an Anbernic device.

Tests failed with exit 101 after 34 seconds. The log says Cargo could not compile the record example because of an unresolved import, then identifies HeadlessSurface as configured out under a macOS condition. This is a concrete platform problem on the path our test command took. The log tail does not report how many assertions passed, so there is no defensible test count or claim that every part of the suite failed.

The supplied scan found 2 CI workflow files, no Dockerfile, and no tests directory. That last signal is limited: the source tree also contains tests nested inside crates. It should not be read as proof that the project has no tests. The useful finding remains the failed command and its compile error. A working build followed by a blocked test step gives contributors less confidence than a green run of both commands would.

The recording example imports a macOS-only graphics surface

The graphics module at the measured commit exports HeadlessSurface only under cfg(target_os = "macos"). The record example imports that name. This source detail agrees with the log's platform restriction. It gives a contributor somewhere specific to investigate, without turning the example's compilation failure into a claim that the device frontend cannot run.

The 96-second build and 34-second failed test step concern different targets reached by the sandbox commands. Neither number predicts game frame rate, device boot time, or battery use. A Linux contributor who needs the recording example should treat its macOS-only import as an obstacle before planning around it. Handheld users following the release-image route have a different question: whether the packaged frontend behaves correctly on their supported device and chosen games.

Device installation starts with BaseOS and an SD card

The Slot user guide asks you to flash BaseOS, then copy the extracted Slot release onto the card. Games belong in platform folders and must be unzipped. This is local software, without a hosted API credential in the documented installation path. It needs a supported handheld and prepared storage. The sandbox's package installation does not perform the card preparation or establish that a release boots on physical hardware.

The 162 packages installed in our sandbox describe source development, not the files you must compile yourself to use a release. Device details still matter. The README marks RG34XXSP support as lacking stick support and gives RG28XX owners a rotation setting if the picture is upside down. Issue 50 clarifies that this export must precede the launch script's exec, a useful detail for someone editing that script.

Achievements and Bluetooth headphones are outside the intended feature set

The guide explicitly declines RetroAchievements, cheats, and Bluetooth headphone pairing. Those are reasons to choose another frontend if they are part of your routine. The maintainer also asks contributors to discuss proposed work first and says the project should remain light on features. Treat that as a scope decision. There is no basis for presenting the missing features as an upcoming roadmap or promising that enough requests will change it.

Our 19.1 MB checkout and successful build offer no evidence about power management. Issue 49 asks for a longer lid-close delay or deeper standby because reopening after shutdown requires a cold start. The guide documents saving on lid close and eventual power-off. If quick pickup after a pause matters more than the cartridge presentation, investigate that behavior before replacing the setup you already use.

October 10 activity shows fixes alongside unresolved gameplay reports

The last push was October 10, 2026, and v1.6.0 shipped that day. GitHub returned 98 stars and 14 open issues and PRs. The release notes add RG28XX support, a warning for failed save writes, and crash-log retention. These are practical changes for handheld owners. Their presence supports a finding of current maintenance, even though the project has a small visible audience.

Issue 48 reports intermittent GBA frame drops, and an open pull request proposes an audio-pacing change as a suspected fix. That is ongoing investigation, without proof of resolution. I'd compare MustardOS for its wider device-management interface or KNULLI for multiple emulators and game engines. Choose Slot only after checking your own save, resume, and audio behavior on the handheld: the 96-second build cannot settle those decisions for you.

Alternatives

ProjectWhat it isPick it when
MustardOSA handheld frontend with settings, storage, network, and core-management modules.pick this instead when a wider device-management interface matters more than a Game Boy cartridge presentation.
KNULLIA Linux handheld distribution with multiple emulators and game engines.pick this instead when you need consoles beyond GB, GBC, and GBA on compatible hardware.

What people are saying

  1. [github-trending] BrandonKowalski/slot

Sources

  1. Slot scope and supported devices
  2. Slot installation, controls, and feature exclusions
  3. Slot v1.6.0 release
  4. Graphics module at the measured commit
  5. Recording example at the measured commit
  6. GBA frame-drop report, issue 48
  7. Lid-close standby request, issue 49
  8. RG28XX rotation export placement, issue 50

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →