Files
obsidian-vault/wiki/tech/htpc-steam-emulators.md
T

52 lines
1.6 KiB
Markdown

---
title: HTPC Steam & Emulators
created: '2026-05-23'
updated: '2026-05-28'
type: tech
namespace: family
tags: [htpc, steam, emulators, gamepad, how-to, pitfalls]
related:
- "[[htpc-kodi-layout]]"
- "[[htpc-bazzite-proton]]"
---
# HTPC Steam & Emulators
Bazzite HTPC at `192.168.1.86`. See [[htpc-bazzite-proton]] for Proton
game compatibility details.
## Hardware
- CPU: Intel Core i7-6800K, RAM: 32 GB, GPU: AMD Radeon RX 570
- TV: LG webOS at `192.168.1.75` (HDMI)
- OS: Bazzite 44 (Fedora-based, immutable OSTree, `bazzite-deck` variant)
## Gamepads — 8BitDo Ultimate (2 dongles)
**Critical:** both 8BitDo Ultimate dongles (`2dc8:3106`) must be on
**separate physical USB ports**, not sharing a USB hub. If both share
the Huasheng USB2.0 HUB on port 006, the second dongle fails to
enumerate (`#Ifs=0 Cfg#=0`) and creates no `/dev/input/js`.
**Working USB layout:**
- Port 005 (direct xHCI, no hub) → 8BitDo #1 (`E417D8D87F0C`)
- Port 006 → Hub Port 001 → 8BitDo #2 (`E417D8C197E4`)
- Port 006 → Hub Port 004 → Xbox 360 Wireless Receiver
**Symptoms of wrong layout:** lsusb shows both but second has `#Ifs=0`;
only one `/dev/input/js`; Steam sees one controller.
## Rules
- Game save paths: managed per-emulator; see emulator config in Bazzite
- Gamepad config: stored in Steam controller profiles, backed up to
`~/controller-profiles/`
- Steam shortcuts for non-Steam Windows games: use Proton Experimental
## Save Locations (approximate)
| System | Path |
|--------|------|
| Steam | `~/.steam/steam/userdata/` |
| RetroArch | `~/.var/app/org.libretro.RetroArch/config/retroarch/saves/` |