Code Monkey home page Code Monkey logo

allium's Introduction

Allium

Allium is a custom launcher for the Miyoo Mini and Miyoo Mini Plus handheld devices, similar to OnionOS and MiniUI.

Project Goals

The goal of Allium is to replace MainUI (stock UI) with a faster and more user-friendly UI.

  • Fast
  • Clean, user-friendly UI
  • RetroArch (with Netplay, achievements)
  • Box art
  • Support running on both Miyoo Mini and Miyoo Mini Plus without changes

Screenshots

Main menu Ingame menu Guide Settings Themes Localization

Installation

Allium supports both the Miyoo Mini and Miyoo Mini Plus on the same SD card.

  1. Format the SD card to FAT32.
  2. Download the latest release and extract into your SD card. e.g. E:/.
  3. Eject the disk (important!).

The SD card layout should look like this:

  • .allium
  • .tmp_update
  • BIOS
  • RetroArch
  • Roms
  • Apps
  • Saves (optional, if you have existing saves from OnionOS)

Features

  • Supports stock/Onion/DotUI SD card layout
  • Works without configuration
  • Box art (250px wide, PNG, JPG, GIF)
  • Supports gameslist.xml with nested folders
  • Recents list (sort by last played or playtime)
  • Search games by name
  • Activity tracker
  • RetroArch for all supported cores
  • Volume & Brightness (select/start + l/r) control
  • In-game menu (save, load, reset, access RetroArch menu, guide, disk changer, quit)
  • Automatic resume when powering off/on
  • Settings page
    • WiFi (IP Address, NTP, Telnet, FTP)
    • Date, time, timezone
    • Change LCD settings
    • Customize theme colours, font
    • Change system language

Planned Features

(roughly in order of priority)

  • Specify default cores for rom
  • Suspend
  • Favorites
  • WiFi stuff:
    • OTA update
    • Metadata/box art scraper
    • Cloud save sync
    • Seamless netplay from ingame menu
  • UI improvements:
    • Folder icon
    • Volume indicator
    • Brightness indicator
    • Error toast (e.g. no core found for game)
    • Anti-aliased circles
  • Theme manager
    • Built-in themes
    • Save current theme to file

Development

Allium comes with a simulator that can be used for development. The simulator requires SDL2 to be installed.

Requirements

  1. make, cargo
  2. SDL2 (optional, if simulator is not used)
  3. cross: cargo install cross --git https://github.com/cross-rs/cross (optional, for cross-compilation)

Architecture

Allium is split into 3 binaries:

  • alliumd (daemon that handles launcher/game/menu launching, vol/brightness hotkeys, poweroff)
  • allium-launcher (main menu, including games, recents, settings)
  • allium-menu (ingame menu, including guide reader)

Shared code is located in the common crate.

Simulator

There is no simulator for alliumd (no UI, only logic).

# Run main menu (allium-launcher)
make simulator-launcher

# Run ingame menu (allium-menu)
make simulator-menu

Building

Running make will build Allium and RetroArch, then copy the built and static files into dist/.

make all
cp -r dist/. <sdcard>

Acknowledgements

Allium is only possible thanks to the Miyoo Mini community, including but not limited to:

  • eggs: RetroArch port, many code samples, answering questions on Discord
  • Onion team (Aemiii91, Schmurtz, Totofaki, and more): Maintaining a sane-defaults RetroArch configuration, and the huge village
  • kebabstorm: Miyoo Mini resources
  • shauninman: Allium is heavily inspired by MiniUI's simplicity and clean design
  • Early adopters and testers of Allium

allium's People

Contributors

goweiwen avatar jiprastyo avatar josegonzalez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.