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
Tier 2
1 view
0 followers
Timeline
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 -lxto 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
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
The Solution
Just get a mini wireless keyboard for $15.
Workflow:
- Controller navigation with antimicrox running
- Press Xbox button → kills antimicrox
- Steam Big Picture works properly
- When done, use keyboard to relaunch antimicrox
95% controller setup. Good enough.
Next Steps
- Order something similar to a Rii i4 (image below)
- 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
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
- 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
- Enable auto-login so I don't need to type a password at boot
- Use Steam's built-in keyboard (which is actually good) for the rare times I need to type
- 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
started Phosphor (Mini-PC TV Emulator/Console) ago