You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Steam client version (build number or date): 1779479049
Distribution (e.g. Ubuntu): Nobara 43 KDE (Fedora-based), kernel 6.x (AMD 7800X3D / RX 7900 XTX)
systemd 258 (258.7-1.fc43)
Opted into Steam client beta?: Yes
Have you checked for system updates?: Yes
Steam Logs: [attach steam-logs.tar.gz]
GPU: AMD RX 7900 XTX
Please describe your issue in as much detail as possible:
The new Steam Controller (2026, serial FXA99548032B9, firmware 0x6A1091CE / May 22 2026) works correctly in Steam's UI, Big Picture Mode, and the controller test screen, but games never receive gamepad input. The controller remains in desktop mode (keyboard/mouse emulation) when a game is launched.
Root cause identified: Steam is saving triton controller configs under neptune filenames, and generating an empty triton configset.
Specifically:
Config identity mismatch: When selecting a gamepad template for a game (e.g. Diablo IV, AppId 2344520), Steam writes the config to controller_neptune.vdf in the per-game config folder. However, the file contents have "controller_type" "controller_triton". At runtime, Steam looks for controller_triton.vdf and doesn't find it.
Empty triton configset: configset_controller_triton.vdf is generated empty ("controller_config" { }), while game config entries are written into configset_controller_neptune.vdf instead. Steam reads the triton configset at runtime (logged as "found ibex config set file on-disk"), finds no game entries, and falls back to AppId 413080 (desktop config).
Action set activation failure: When the game does appear in the controller log, the config loads and gets a cache hit, but immediately fails:
Add to Config Cache Request 0 2344520
Controller 0 mapping uses xinput : false
HID: Add to Config Cache - full cache hit 0 2344520
Deleting cache entry 5
Deleting cache entry 4
No cached sticky mapping in ActivateActionSet.
Deck controller misidentification: Steam repeatedly logs Deck Controller PCB Serial# invalid: NA (9+ times per connection event), suggesting the client is attempting to query Steam Deck-specific hardware identifiers from the new controller.
Puck dual-registration: When connected via the charging puck wirelessly, both the puck (Controller 4, serial FXB9954802CD1) and the controller (Controller 1, serial FXA99548032B9) register simultaneously, causing config thrashing between AppIds 413080 (desktop) and 443510 (Steam button chord). This may be related to Steam Controller conflicting with Steam Deck #13243.
Tested via USB cable (no puck) and wirelessly via puck — same result. Puck was eliminated as a variable by testing USB direct. Adding the input group and confirming correct udev rules (60-steam-input.rules) and uinput module loading did not resolve the issue.
Steps for reproducing this issue:
Connect new Steam Controller (2026) to a desktop Linux PC via USB cable
Open Steam (beta client), confirm controller is detected in Settings → Controller
In Big Picture, set a gamepad template for any game (e.g. Diablo IV)
Observe that the config is saved to controller_neptune.vdf with controller_type set to controller_triton
Launch the game — controller remains in desktop mode, no gamepad input reaches the game
Check configset_controller_triton.vdf — it is empty or missing game entries
Attachments:
controller_neptune.txt (vdf) from 2344520 config folder (shows controller_type mismatch)
configset_controller_neptune.vdf (has game entries that should be in triton)
controller.txt log (shows runtime activation failure and Deck PCB serial spam)
steam-logs.tar.gz
Your system information
Please describe your issue in as much detail as possible:
The new Steam Controller (2026, serial FXA99548032B9, firmware 0x6A1091CE / May 22 2026) works correctly in Steam's UI, Big Picture Mode, and the controller test screen, but games never receive gamepad input. The controller remains in desktop mode (keyboard/mouse emulation) when a game is launched.
Root cause identified: Steam is saving triton controller configs under neptune filenames, and generating an empty triton configset.
Specifically:
Config identity mismatch: When selecting a gamepad template for a game (e.g. Diablo IV, AppId 2344520), Steam writes the config to
controller_neptune.vdfin the per-game config folder. However, the file contents have"controller_type" "controller_triton". At runtime, Steam looks forcontroller_triton.vdfand doesn't find it.Empty triton configset:
configset_controller_triton.vdfis generated empty ("controller_config" { }), while game config entries are written intoconfigset_controller_neptune.vdfinstead. Steam reads the triton configset at runtime (logged as "found ibex config set file on-disk"), finds no game entries, and falls back to AppId 413080 (desktop config).Action set activation failure: When the game does appear in the controller log, the config loads and gets a cache hit, but immediately fails:
Deck controller misidentification: Steam repeatedly logs
Deck Controller PCB Serial# invalid: NA(9+ times per connection event), suggesting the client is attempting to query Steam Deck-specific hardware identifiers from the new controller.Puck dual-registration: When connected via the charging puck wirelessly, both the puck (Controller 4, serial FXB9954802CD1) and the controller (Controller 1, serial FXA99548032B9) register simultaneously, causing config thrashing between AppIds 413080 (desktop) and 443510 (Steam button chord). This may be related to Steam Controller conflicting with Steam Deck #13243.
Tested via USB cable (no puck) and wirelessly via puck — same result. Puck was eliminated as a variable by testing USB direct. Adding the
inputgroup and confirming correct udev rules (60-steam-input.rules) and uinput module loading did not resolve the issue.Steps for reproducing this issue:
controller_neptune.vdfwithcontroller_typeset tocontroller_tritonconfigset_controller_triton.vdf— it is empty or missing game entriesAttachments:
controller.txt
controller_neptune.txt
configset_controller_neptune.txt