LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

GamingStadiaopen sourcecontrollers

A free open-source server brings the dead Stadia controller's Wi-Fi mode back to life on a PC

Stadiacast works because the controller's firmware trusts Google's certificates without checking whose name is on them.

At a parlour table Chris holds a white game controller as a ghostly little server glows beside him
Illustration: LockerGnome

Google killed Stadia in January 2023, and the controller it sold for the service lost its Wi-Fi mode with it. The controller, it turns out, never stopped wanting to talk to Google. Somebody just built a fake Google for it.

The README for Stadiacast lays out the trick plainly. The controller depends on Google’s cloud endpoints to connect. Stadiacast runs on your own computer, acts as the controller’s DNS server, and points the Google names the controller asks for at itself. The controller then joins your Wi-Fi, connects, stays on and “reports every button, stick and trigger, vibrates on request and plays sound on its headset jack.”

The gap that makes it work is almost funny. According to the README, the firmware checks the server’s certificate against its built-in Google Trust Services roots “and checks neither the hostname, nor the dates, nor revocation.” So one certificate chain from Google’s own authority, the one the receiver ships, lets it answer every Google name. A lock that opens for any key cut by the right locksmith is one way to describe it.

After that, the receiver walks the controller through the remaining steps. The controller offers a WebRTC session, the receiver answers it and plays the display side of the handshake “until the controller reaches READY and starts reporting input.” A second session opens when a game starts, and that session carries input and is “the only path to the controller’s rumble motors.”

The results are practical. On Windows, each controller becomes an Xbox 360 controller, rumble included. On macOS it shows up as an Xbox controller through the OpenJoystickDriver app. Audio from the PC, or any file, can stream to a headset plugged into the controller, and several controllers can connect at once, each as its own player. The project says it modifies no firmware, needs no account and no cloud service, and keeps input, rumble and audio between the controller and the PC.

Stadiacast is early. The README’s status line says it works end to end with controllers running Wi-Fi firmware, tested with ota.282115, and warns: “Expect rough edges.” Setup also means making your computer the controller’s DNS server, for example by hosting a hotspot from it, and a controller fresh out of the box or reset needs a Bluetooth provisioning step to learn your Wi-Fi name first. Controllers switched to Bluetooth mode have to be flashed back with community tools, which Stadiacast doesn’t do itself.

A dead service doesn’t have to mean dead hardware, as long as someone is willing to impersonate the service. The same approach will work for the next gadget whose servers get switched off, if its firmware is equally trusting.

Google turned the lights off; the controller just asked for a different electrician.

More Gaming

Every Gaming story →