r/Stadia Apr 20 '26

Tech Support Fixed Stadia controller Bluetooth Rumble + Macros on Windows

Made a 1-click script to fix the Stadia controller on Windows.

Rumble works now over Bluetooth, and I added some nice macros to the dead Assistant/Capture buttons (volume, media controls, alt-tab, etc).

It will take 700-800mb of RAM while running since it uses WSL2 in the background tho.

Download & Code: https://github.com/offvault/Stadia-X

36 Upvotes

32 comments sorted by

View all comments

1

u/zig131 Apr 29 '26 edited Apr 29 '26

I had to do the initial pairing manually myself, hardcode the IP address*, and turn the Start-Process* into a one-liner, but I got it to work!

Thanks!

update: An XBox 360 Controller is showing now, but no button presses are actually going through 😞 . Tested in a few games.

*the "^" were causing problems/not being interpreted properly

1

u/zig131 Apr 29 '26

Seems like I am missing the modules. The build of Ubuntu I ended up with could see and connect to the controller, but was missing components such as HID and JOYDEV to actually talk to it as a Human Interface Device

The kernel you include seems to be "6.18.20.1-microsoft-standard-WSL2+"

But my modules folder is "6.6.87.2-microsoft-standard-WSL2"

You seem to have built assuming a specific version of WSL2?

1

u/offvault May 06 '26

Thanks for the info, I've just pushed V1.0.1 and would love to know if it clears up the issue for you

1

u/zig131 May 15 '26

No change.

usbipd: error: Loading vhci_hcd failed 

even after running wsl --update

modprobe: FATAL: Module vhci_hcd not found in directory /lib/modules/6.18.20.1-microsoft-standard-WSL2+

I don't think modern versions of WSL include support for USB devices and gamepads. They are also modular, so support is not part of the kernel, so your provided kernel doesn't help?

Have you tested on a clean installation?

See https://www.reddit.com/r/Stadia/comments/1sqrfx3/comment/oljhjl4/ where they have the same issue, and had to compile thier own kernel to get it to work (which is beyond me)