Releases: bjerreman/BlueRetro-Switch2Fix
BlueRetro-Switch-2-controllers-fix
Only tested on the Laserbear GameCube Blue Retro Internal Adapter V3 adapter which is a HW2 Gamecube build!
Hence, only distributing that version here.
Please note that this build has not been stress tested. If you connect all of the controllers in rapid succession there can be collisions. Better to start them up more slowly so the radio environment isn't too fuzzy. You can otherwise see contention where the 4th controller disconnects the first, or where stick drift can occur (incorrect calibration data). If this happens rather just disconnect that controller (will take a while for it to register in game) and then try again.
It's a continuation of the 25.10 beta build which added initial Switch 2 Controller support.
I have tested with four Switch 2 NSO Gamecube controllers.
Update via https://blueretro.io/index.html or https://darthcloud.github.io/BlueRetroWebCfg_Beta/ as you normally would.
Edit: Got asked about a hw1 Gamecube version, I have attached one below. Please note I haven't tested it myself.
Adds support for multiple Nintendo Switch 2 controllers connected simultaneously to BlueRetro (HW2, GameCube config).
What works
- Up to 4 SW2 controllers connecting at the same time with distinct player LEDs (L1–L4)
- Independent input from all controllers simultaneously
- No stick drift
- Normal single-controller use unchanged
How to flash
Flash BlueRetro_hw2_gamecube.bin via blueretro.io/ota.html. After flashing, the version shown should be v25.10-sw2-b10.
Hardware: HW2 only. System config: GameCube.
What was fixed
The root cause was that SW2 controllers connect to the adapter (adapter is BLE peripheral), not the other way around. Reconnecting controllers after initial pairing used an inbound BLE connection path (role=1) that BlueRetro had no handler for — all HID and encryption traffic was silently dropped. This release adds:
- Proper
bt_dev[]slot allocation for inbound BLE reconnections from known controllers LE_LTK_REQUESThandler so encryption succeeds on adapter-as-peripheral links- Passive scan filter relaxed so newly-paired controllers are reachable in the same session
- Re-advertise on partial disconnect so a controller can reconnect while others are active
Based on
Upstream darthcloud/BlueRetro v25.10-beta, Apache-2.0.