This configuration enables 8BitDo Ultimate C controller support for Plex HTPC on Bazzite Linux.
-
Grant device access - Allowed Plex HTPC Flatpak to access input devices:
flatpak override --user tv.plex.PlexHTPC --device=all
-
Create custom inputmap - Added controller button mapping in JSON format to:
~/.var/app/tv.plex.PlexHTPC/data/plex/inputmaps/8bitdo-ultimate.json
Copy the 8bitdo-ultimate.json file to:
~/.var/app/tv.plex.PlexHTPC/data/plex/inputmaps/Restart Plex HTPC to load the mapping.
- A Button: Enter/Select
- B Button: Back
- X Button: Play/Pause
- Y Button: Info
- LB: Cycle Subtitles
- RB: Cycle Audio
- LT: Skip Previous
- RT: Skip Next
- Select: Home
- Start: Search
- D-pad: Navigation
- Left Stick: Navigation
Plex HTPC uses custom inputmap JSON files to map controller buttons to actions. The inputmap:
- Identifies the controller using a regex pattern (
idmatcher) - Maps SDL button/axis events to Plex HTPC commands
- Supports both D-pad (HAT) and analog stick (AXIS) navigation
If the controller doesn't work:
- Verify Flatpak has device access:
flatpak info --show-permissions tv.plex.PlexHTPC - Check controller is detected: Look for "8BitDo Ultimate" in
~/.var/app/tv.plex.PlexHTPC/data/plex/Logs/Plex HTPC.log - Press buttons and check log for
Input receivedentries to verify button numbers - Restart Plex HTPC after any inputmap changes