Blueprint

Phosphor (Mini-PC TV Emulator/Console)

A mini PC gaming console setup that transforms an AZW Green G3 into a fully controller navigated entertainment system. It uses an Xbox controller for desktop navigation (using jstest-gtk & AntiMicroX), EmulationStation-DE frontend for unified game library management (Steam + emulators), and optimized for couch gaming on a TV. Runs on Zorin OS with custom controller mappings for seamless navigation without a keyboard/mouse.

Created by lowpolyphosphorus lowpolyphosphorus

Tier 2

1 view

0 followers

Timeline

lowpolyphosphorus lowpolyphosphorus added to the journal ago

Steam Big Picture Setup

12/19/25

Time spent: 6 hours

Got Steam Big Picture running but discovered antimicrox and Steam fight over controller input. Spent hours trying to fix it before accepting the obvious solution.

The Problem

When antimicrox runs while Steam Big Picture is active:

  • Mouse cursor flies everywhere
  • Button mappings completely wrong
  • Left stick moves mouse cursor and Steam selection simultaneously
  • Totally unplayable

What I Tried

Auto-profile detection:

  • Used wmctrl -lx to find Steam's window class: steamwebhelper.steam
  • Set up antimicrox auto-profile to disable mappings when Steam is active
  • Tried window class, window name, executable path, magnifying glass tool
  • None of it worked image

Kill switch:

  • Map Xbox button to killall antimicrox
  • antimicrox closes, Steam gets full control, games work
  • Problem: can't get antimicrox back without a keyboard
  • Zorin can't detect controller buttons when antimicrox isn't running image

The Solution

Just get a mini wireless keyboard for $15.

Workflow:

  1. Controller navigation with antimicrox running
  2. Press Xbox button → kills antimicrox
  3. Steam Big Picture works properly
  4. When done, use keyboard to relaunch antimicrox

95% controller setup. Good enough.

Next Steps

  • Order something similar to a Rii i4 (image below) image
  • Map Xbox button to killall antimicrox
  • Enable auto-login
  • Configure ES-DE with dark theme
  • Test if ES-DE runs faster than Steam Big Picture
  • Add Steam library to ES-DE
  • Set up antimicrox auto-start

lowpolyphosphorus lowpolyphosphorus added to the journal ago

Controller Setup - Onscreen Keyboard (*fail)

12/18/25

Time spent: 5 hours

Today I got the Xbox Series X controller working with desktop navigation through antimicrox. Switched from Wayland to X11 because antimicrox needs X11 libraries to actually function. Without that switch it just segfaults immediately.

What I Did

Fixing the Wayland issue:
First attempt at running antimicrox crashed with a segmentation fault. Turns out it was trying to use X11 libraries on Wayland. Had to log out and switch to "Zorin on Xorg" session at the login screen. After that antimicrox launched fine and detected the Xbox Series X Controller with all 21 buttons showing up.

Controller mapping setup:

  • Installed antimicrox via Flatpak since the PPA doesn't exist for Ubuntu 24.04 (which Zorin is based on)
  • Mapped left stick to mouse movement
  • A button to left click
  • B button to right click
  • D-pad to arrow keys
  • Start to Enter
  • Select to Escape
  • LT/RT to scroll up/down
  • LB/RB to Alt+Tab for window switching

Saved the profile as "Desktop Navigation" and tested it. Works perfectly for navigating the desktop without touching keyboard/mouse. Can browse files, click things, and switch windows all from the controller.

EmulationStation-DE installation:
Downloaded the AppImage (version 3.4.0) and got it set up in ~/.local/bin/. The direct download link from the website was broken so I had to grab it from their GitLab releases page. Created a desktop entry so it shows up in the app menu properly instead of being treated as an untrusted file every time. The default theme is bland so I'll need to change that later to match the dark system theme.

The on-screen keyboard disaster:
Spent way too long (at least 2 hours) trying to get a decent on-screen keyboard working. This is what I tried:

  • onboard - segfaults immediately, even after reinstall and clearing config Screenshot from 2025-12-18 21-01-22
  • matchbox-keyboard - package not found
  • maliit-keyboard - installs but displays at 160px wide instead of full screen, basically unusable
  • caribou - installs but the command doesn't exist after installation
  • onboard Flatpak - not available in Flathub
  • wvkbd - Wayland only, fails on X11 with "Failed to create display"
  • xvkbd - the only one that actually works

Ended up with xvkbd which is from like 1995 and looks like it. The keyboard layout is weird with Control above Shift, and it either steals focus from text boxes or minimizes when you try to type. Made a script to launch it at the bottom of the screen with a keybind mapped to the controller but honestly it's terrible. Tried multiple flags to make it stay on top and not steal focus but nothing really fixed it.

The Problem

Linux doesn't have a good Xbox-style on-screen keyboard. Windows and actual Xbox consoles have nice controller-friendly keyboards with smooth navigation but Linux options are all ancient or broken. This is a real issue for typing passwords, searching games, entering URLs, etc.

The modern keyboards are all Wayland-focused and don't work on X11, but I need X11 for antimicrox to work. Catch-22 situation.

Solutions I'm Considering

  1. Enable auto-login so I don't need to type a password at boot
  2. Use Steam's built-in keyboard (which is actually good) for the rare times I need to type
  3. Just keep a wireless keyboard nearby for the living room

For now I'm going with options 1 and 2. The whole point is controller-only navigation but realistically you need a backup for typing. Most of the time you won't be typing anyway since ES-DE and games are all controller-based.

Next Steps

  • Enable auto-login to skip password typing
  • Install Steam and test its on-screen keyboard
  • Get ES-DE fully configured with a dark theme
  • Add Steam library to ES-DE
  • Test launching games from the controller
  • Set up auto-start for antimicrox
  • Figure out auto-profile switching so controller mappings disable when games launch

The controller navigation works great now. Just need to finish the frontend setup and this thing will actually be usable as a console.

Repository: GitHub - Phosphor

lowpolyphosphorus lowpolyphosphorus started Phosphor (Mini-PC TV Emulator/Console) ago