v2.1.0-beta.1 — multiple controllers (beta)
Pre-release
⚠️ Beta / pre-release. This is a field-test build, not the latest stable
(that remains v2.0.0). Please try it and report anything that misbehaves.
Firmware.uf2files are attached below once the build finishes.
What's new
Opt-in support for multiple DualSense controllers at once (local co-op).
Up to 4 controllers, each appearing on the PC as its own gamepad with
per-player LEDs. Off by default — until you enable it on the config page
(Controller tab → Allow multiple controllers simultaneously), the adapter
behaves exactly like v2.0.0.
Behavior once enabled:
- The adapter briefly re-plugs itself each time a new player joins; a
player leaving never interrupts the others. - Audio and HD haptics are inherently single-controller features. A single
controller's wireless audio + HD-haptics stream already sits near the ceiling
of what one Bluetooth radio can sustain, so a second connection displaces it
entirely — this is a structural limit, not something a future tweak unlocks.
With 2+ controllers connected the adapter presents plain gamepads and no audio
device. Classic rumble and adaptive triggers work for everyone. - To get audio / HD haptics back after a co-op session: power all
controllers off, then reconnect one.
See Using multiple controllers
in the user guide.
Also in this build:
- Diagnostic log (Network tab): an opt-in, RAM-only firmware log readable at
/api/logfor copy-paste bug reports. Off by default; never touches flash. - Internal RAM reclaim + boot heap telemetry.
Please test
- Enabling the toggle, then connecting a 2nd/3rd/4th controller (join + leave).
- Confirm audio + HD haptics return after all-off → reconnect-one.
- With the toggle off, confirm behavior is unchanged from v2.0.0.
- Windows: no ghost controllers, clean re-detect on each join, wake-from-sleep.
- Linux: all connected pads bind and work in your games.
Report issues on the tracker with the /api/log output if you can.
Credits
The multi-controller support is a port of the excellent work by
@cchulo in
DS5-Linux-Bridge, adapted here to
preserve this fork's dynamic-descriptor / plain-DualSense USB face (a
MINIMAL → FULL → MULTI variant model, high-water gamepad exposure, and the
opt-in toggle). Many thanks for paving the way.