JukaHub v0.4.0

The shell your handheld should have shipped with.

JukaHub turns a TrimUI Smart Pro or Brick into a media and gaming console: YouTube on the couch, your ROM library with box art and save-resume, PS4 and PS5 Remote Play, and LAN play. It is one folder on the SD card, and the stock OS stays untouched underneath.

Version 0.4.0, free and open source.

ContinueResume the last thing you watched or played in one press.

←→ Move Enter Open Esc Back Move A Open B Back Tap a tile to see what it does.

One folder on the card. Nothing underneath changes.

JukaHub runs on top of the firmware, not instead of it, on the stock OS and on CrossMix. There is no firmware to flash and nothing to replace, so installing it is always reversible.

  • Leave from any screen.Hold Select + Start: JukaHub saves, stops what it started and hands the screen back to the stock launcher, even in the middle of a video.
  • Uninstall by deleting the folder.The app, its settings and its data live in Apps/JukaHub. The install guide says what to copy out first.
  • Your settings survive updates.They live in jukauser.json next to the app, and an update never touches them.
SDCARDThe whole installation
Apps/
└── JukaHub/
    ├── JukaHub            the application
    ├── launch.sh
    ├── config.json        its Apps-menu entry
    ├── jukaconfig.json    the interface
    ├── JukaPlayer.png     its icon
    ├── Inter-Regular.ttf
    └── background.jpg

The parts you would not expect from a media hub

PS4 and PS5 Remote Play, built in

JukaHub has its own Remote Play client. It scans your network, pairs once with the PIN from the console's Link Device screen, remembers each console and its quality, and streams through its own chiaki-stream helper, with no Python launcher.

The PS4 and PS5 pills at the top of Home open it in one press.

Link-cable games over Wi-Fi

Press X on a game in the library to host it or join one. Two handhelds on the same Wi-Fi play link-cable games like Mario Kart and Four Swords, with no cable.

Both sides need the same core and the same ROM, and JukaHub says exactly what is missing when they are not ready. LAN Play passes its settings on the command line, so it leaves your RetroArch config alone.

Saves that never die

The Save Manager copies every emulator save folder it finds (RetroArch, PPSSPP, DraStic, Flycast) into a versioned snapshot. Restoring one takes a snapshot of your current saves first, so even a restore can be undone.

Snapshots are plain folders with a checksum for every file, so they work without JukaHub, and Syncthing setup or a phone resume bundle gets them off the card.

Your phone is the keyboard

Scan the QR from Tools and your phone types into the focused field, works as a remote, and sends links and files to the handheld.

Cast the screen

Remote Cast shows the handheld live in any browser on your Wi-Fi, with no app to install. It is off until you turn it on.

Dock and ambient

While it charges, the screen becomes a clock with the weather, what is playing and a slideshow of your photos.

Smart home

Drive Home Assistant entities, mirror toggles to MQTT, and check Pi-hole, your router and Tailscale from the couch.

Safe to try, easy to undo

Updates arrive as an icon in the header and install with one press. Before anything is unpacked, JukaHub checks the archive against the digest GitHub publishes and, when the release is signed, its Ed25519 signature. If a new build misbehaves at startup, the previous one comes back by itself.

  • Safe mode is one chord away.Hold L + R + Start while JukaHub starts for a recovery card: the previous version, your last good settings, or a reset. Three failed starts in a row open it by themselves.
  • Nothing about you is uploaded unless you ask.Anonymous diagnostics are off by default. Turned on, they carry the build, device model and platform, with no install ID, account, file name, setting or usage history.
  • File servers start when you start them.FTP and SFTP run only after you press their row, use a password made up for that start, and switch themselves off after 15 idle minutes.

Install in five steps

No firmware swap, nothing to compile. You need the handheld, its SD card and Wi-Fi.

  1. Download JukaHub-Trimui.zip from the latest release.
  2. Turn the handheld off and put its SD card in your computer.
  3. Extract the zip. Inside is one folder, JukaHub-Trimui.
  4. Rename it to JukaHub and copy it into the card's Apps folder, so the app ends up in Apps/JukaHub.
  5. Put the card back, power on, and open Apps, then JukaHub.

The first start downloads yt-dlp and ffmpeg by itself, which takes a minute or two once. If JukaHub is not in the Apps menu, reboot: the stock launcher only looks in Apps when it starts.

Download JukaHub

Version 0.4.0. Updates are checked against GitHub's digest before they install.

JukaHub-Trimui.zipSmart Pro, Smart Pro S, Brick, Brick Pro and Hammer Download
JukaHub-Windows.zipTry it on a PC first Download

1280 × 720 Smart Pro and Smart Pro SSix tiles in one row; the row clamps at both ends.
1024 × 768 Brick, Brick Pro and HammerThe same Home on a 4:3 panel: a three-by-two grid that wraps.

Every screen is a file you can change

Each screen is jukaconfig.json: its elements, where they sit, what they do and the theme they wear. The web builder edits the same file the device reads, so a layout moves between your browser and the card without a rebuild.

Share turns a design into a single link. Nothing is uploaded: the design is compressed into the link itself, with keys and tokens stripped first, and whoever opens it can remix a copy.

jukaconfig.json, scene Main{
  "type": "button",
  "style": "tile",
  "text": "Media",
  "placeholder": "Watch and listen",
  "icon": "media",
  "x": "528", "y": "160",
  "width": "720", "height": "152",
  "trigger": "change_scene:Tube"
}
On the device

Made in the open

JukaHub is free software under the GNU AGPL v3, built with the people who use it. Ask on Discord, report what breaks, or pick up an issue labelled good first issue.

Thanks to Nevrdid for finding and documenting bugs, Arthur Gregorio for Go guidance, StarDrive and DigestPrism for supporting the app, @Dio for key-security contributions, and everyone in the Juka Discord.

Questions

Does JukaHub replace my firmware?

No. It is an app in Apps/JukaHub that runs on top of the stock OS or CrossMix. The stock launcher is one Select + Start hold away whenever you want it back.

Which handhelds does it run on?

The TrimUI Smart Pro and Smart Pro S at 1280 × 720, and the Brick, Brick Pro and Hammer at 1024 × 768. JukaHub detects the panel and picks its layout by itself. A Windows build is there for trying it on a PC.

How do I uninstall it?

Delete the Apps/JukaHub folder. Copy your save snapshots and downloads out of it first if you want to keep them, and turn off Start at login if you turned it on. The install guide has the details.

Does it cost anything or need an account?

No. JukaHub is free and open source under the GNU AGPL v3, and it needs no account of its own. Features that use another service use your account there: a PS5 needs your PSN account ID, achievements need RetroAchievements, and Chat needs Discord.

What does it send about me?

Nothing, unless you turn on anonymous diagnostics under Tools → Community & support. Then it sends the build and version, the device model, platform and OS, and a crash count after a crash. There is no install ID, account, file name, setting or usage history in it. See the privacy page.

What if an update breaks something?

An interrupted update is rolled back at the next launch, and three failed starts in a row open safe mode by themselves. You can also hold L + R + Start while it starts for safe mode and a recovery card.

Where do I get help?

Ask on Discord, or open Tools → Community & support → Report a bug on the device: it fills in a GitHub issue with redacted diagnostics for you to review before sending.