Looking into the Stadia Controller Bluetooth Mode Website
garyodernichts.blogspot.com
garyodernichts.blogspot.com
I got the Cyberpunk 2077 bundle which came with the game, controller and a chrome cast.
Gaming with a little HDMI WIFI puck and a WIFI controller felt very “cyberpunk” itself. Like buying some new tech to hack into the mainframe.
The Stadia version of Cyberpunk 2077 was basically the PC version which was far less glitchy than consoles.
Years later they issued a full refund for the bundle and unlocked the controller.
The controller upgrade process was something I never imagined a browser could do.
Thank you OP for reverse engineering and preserving things!
And thank you Google for pushing the cutting edge. Crazy to think how much went into Stadia only to be abandoned.
Years ago Google was the coolest place to work at because of the tech and the people, and Google did so many things that everyone could find the most interesting thing to them. Nowadays the list of cool companies is a lot longer and more diversified. And switching companies is a bit more friction than switching teams. I sometimes wonder if more cool tech could emerge faster if there was a new Big Tech with old Google values, with better management and a new coolness.
Remember when they said their product will follow in the historic tradition of E.T. for Atari 2600, the Power Glove for NES, and the Sega Dreamcast? I guess they were more right than they knew.
Google is a laughingstock. I can't imagine working there if you have any pride or passion for your work.
https://www.gamingbible.com/news/games-gamers-recall-when-go...
To this day, Frank does not know why Google wanted these products. My guess? Those products had great SEO on Google Search and YouTube. Lots of people watched videos about them. The managerial class at Google was uninterested by the fact those products had tons of searches and views because they sucked!
One example of an intriguing idea I heard discussed on a podcast - imagine you're watching a streamer on YouTube and think the game is cool. If it were integrated with Stadia then with one click, you could be playing the game! In browser! Maybe even playing with the streamer (for multiplayer)!
So much potential wasted...I can only shake my head.
Nope, I dont want this potential.
Good riddance.
Maybe someday someone will explain what went wrong.
My guess is that competitors were quicker to market than they expected, and had unique advantages (Microsoft owns windows and Xbox, nvidia owns … nvidia).
Meanwhile, your XCloud stream is hosted by an equivalent of an Xbox Series X, which while a console-level experience, the games were shinier and prettier than Stadia.
And otherwise I've found their streaming quality, performance, and latency, to be about equal (not the best) although XCloud continues to improve to this day.
Not sure why it’s such a tough sell. Most games feel flawless through it, even back in OnLive days…
My p2p take on Stadia
With customers already aware of the fickle nature of Google, nobody wanted to buy something that only gave you access to a game on Google's servers. It's actually surprising that Google reimbursed everyone. Nobody expected that, and nobody bought anything on the service because no one expected Google to reimburse when they inevitably shut it down.
I also bought the Cyberpunk bundle, which was great bang for the buck. I was also quite impressed by how well the Stadia tech worked.
However, due to Google's reputation I refused to spend any more money on the service, and would not recommend it to anyone, as it would all be wasted once they inevitably would shut Stadia down.
That said, I was pleasantly surprised by how well they handled the shutdown. If I'd known they'd refund people I would have been more willing to spend more money on their service.
I wonder why nobody at Google seems to realize or care that their poor track record is hurting their bottom line?
If I had to guess, these things are incredibly tiny compared to their main source of income (ads). As a result, atleast from a monetary perspective, it would basically be a negligible effect on their bottom line.
From a PR perspective, it might have a slightly higher impact as they gain a reputation for shutting stuff down, but with ads and the like being their main source of revenue, this doesnt necessarily have a massive impact
I don’t know. Xbox Pass or whatever it’s called, you know, it’s the same thing as Stadia, better in every way, people pay for it. But who cares. At the end of the day it makes no sense to stream FPSes.
If they focused their product development on features for innovative games exclusively practicable with streaming, they’d still be around. Instead they made VP8 accelerators for YouTube, and called a field trial for libwebrtc some sort of time-traveling latency compensation method.
I mean they were demoing ControlNet with GANs (https://blog.research.google/2020/11/using-gans-to-create-fa...) 3 years ago, way before the current AI craze, and seemingly no one GAF. It was very cool but all their product development didn’t make sense in the context of “games that are only practicable with streaming.” Usually that means “you’re an indie developer with $2 and you want to make great assets and physics driven networked multiplayer” - two things you can actually uniquely achieve with streaming - but Google was fundamentally disinterested in that. They were so focused on Assassin's Creed, because that’s a game that the PMs were fond of, a multi million dollar production which makes no sense to stream, and some indie platformers which god bless them, made more sense to sell as Humble Bundles than streams. It wasn’t a lack of imagination, they had imagination, I think they just actively rejected the folks who are trying to make things for $2, that’s the real thing that is incompatible with Google’s ethos and it’s why Google failed.
There's some (minor) controversy around this. WebUSB/WebHID are web standards that Google has pushed, and essentially gives a website similar access to USB devices as a native app running on your computer (which can of course do things like upgrade firmware on the device).
Mozilla refuses to implement WebUSB or WebHID, citing security concerns. I tend to side with Mozilla on this (your average non-technical user will click past most warning dialogs, just wanting things to work), but I can see the appeal: otherwise Google would have to release completely separate Windows and macOS tools to accomplish this, and then Linux users like me would probably be left out in the cold, waiting for someone like OP to reverse-engineer the process.
Of course, if I had one of these controllers and wanted to switch it to Bluetooth mode, I would then be grumbling that I'd have to install Chrome in order to do the switch...
https://twitter.com/killedbygoogle/status/173591315266219646...
I can already see issues like people who bought new old stock who can no longer do anything with them.
The best case scenario is they release a toolkit to flash your own firmware so people can hack on the now completely otherwise useless controllers.
It means they can delete the code from the monorepo.
Eventually the framework it's running will be deprecated and someone will clean it up.
Every thing deployed at Google has all kinds of frameworks and shared libraries and tooling. There are many policies in place to get insure they get newer versions of shared code, such as:
https://opensource.google/documentation/reference/thirdparty...
And to maintain these kinds of things, it isn't uncommon for unfunded mandates to be pushed on people that own various tools, such as this one.
Meaning, even to keep a website up at Google, there will be some maintenance burden. Also, I could imagine Chrome pushing some update that would make all of the usb pairing stuff that they do here break at some point, and they will have to do work to keep it working.
I think the real question is why bother doing it with this website? The controller has a USB port on it and I imagine can talk over USB. It would be far better to just have some application which can flash over USB instead of needing some Google-hosted website. Just give me an executable that people can toss on a torrent or whatever. I appreciate they did something to make these controllers useful to people, but it seems like they really didn't pick the best path to achieve that.
I imagine they probably painted themselves into a corner and the firmware update process is so locked down and will only talk to approved Google endpoints over an HTTPS request or something like that and that's the ultimate reason why they went that route. But really I feel that kind of shows a failure to imagine the hardware life after the service.
To me, they could put it on github and serve it on github pages. I suspect though that there's a bunch of non-open source libraries being used and getting into a condition that could be open sourced is person power they don't want to spend when they have an infinite list of things to work on.
Everything being a website isn't necessarily a good thing.
The underlying tech is powered by the WebSerial protocol. We basically already have the executable you're asking for. As long as Google supplies the firmware blob (and js source, though this can probably just be ripped from the current web page), anyone will be able to put up a server, and anyone with a modern browser will be able to visit the site and update -- without having to install anything locally.
Given that a 'native' app would probably be some bloated Electron abomination, I was actually pleasantly surprised that Google chose to solve the firmware update problem the way they did; it worked flawlessly for me on Linux which is seldom the case when it comes to these things.
And sure, when talking about an OS that's often made a point at cutting off support for old binaries it's not good. You're ignoring the fact I can still run a lot of 30+ year old software on modern Linux and often modern Windows with ease.
As is also mentioned in the article, the author reverse engineered the site, and create a python script capable to performing the flashing process via standard OS APIs.
Really the flashing site isn’t really “a site”. It’s a hosted executable written in JS that pretty much runs entirely locally, apart from the bit where it downloads the new firmware to be flashed. It should be possible to extract the JS itself, plus firmware blobs, and run that completely offline for as long as browsers support WebUSB. Or you do what the author did and create a Python equivalent.
That can be solved by developing a flasher in a framework more stable than Javascript and web browsers, like OP did.
Companies been increasingly using the "we can't do X because Y" justification when they themselves are responsible for Y.
Geforce now just let's you play games you already own (with some limitations based on publisher deals, developer support FWIU etc). And it's just as good as stadia was in terms of user experience IMHO having used both.
GeForce Now runs essentially normal Windows VMs with GPU passthrough to some of their beefier multiuser cards and a custom remote desktop mechanism. There's no special porting involved, it's essentially the same setup, but extra optimised, as what people setup themselves using various cloud providers.
Thus GeForce Now has close to zero porting burden and could just attach Windows Steam client integration.
Stadia didn't have that - I have no idea how it was actually implemented, but someone mentioned that Stadia version of Cyberpunk 2077 was "the PC version, no porting".
Except the Stadia version is the otherwise unreleased Linux port of the game, using Vulkan for rendering (unlike DirectX on normal PC release). It had to use a custom input, sound, etc implementation for whatever interfaces Stadia provided.
FWIW, AFAIK that build also worked on normal Linux with X11 so long as you had Vulkan drivers.
But yes, the big hurdle was that Stadia required a Linux binary, possibly also required Vulkan. Every game they wanted to add had to be effectively ported.
GeForce Now has Windows and various game stores as hard dependencies, which feels like in theory optimizing for the short term and limits how smooth the user experience can be made. But in practice it works fine, and the reduced overhead for individual games maybe is better at least for medium term too.
Meanwhile on Linux, everything breaks every time the distribution is updated. Because they're now using the right XYZ framework and every single app should be ported.
Yeah, although it seemed like the original goal was to make it a sort of “Netflix for games” subscription service where you’d get the games for free so long as you kept paying your $10/month or whatever. Apple has been trying to do a similar thing with their Apple Arcade. Unfortunately the included games were mostly “B” titles, with the exception of PUBG, so you still needed to pay to purchase the good stuff.
I was looking at prices for a new gaming laptop, and realised that it was perhaps 4 or 5 or more years of subscription fees, and that I could just use a lightweight X1 instead. Perfect
Stadia itself seemed doomed to me from day one, and I pushed back multiple times to avoid getting involved working on it because I didn't want to get dragged in. (I did work for a bit on the component that did the video receiving for Stadia streams inside the Chromecast; taking what another team did and heavily optimizing it and refactoring it etc.)
In any case, my cynicism was confirmed and the project killed -- but the worst thing is that in the round of layoffs last year they seemed to let go many (most?) of the people still working on it or heavily associated with it, instead of transferring them off to other teams like Google normally would. Kind of nasty.
The goal, of course, is to make game running server shareable between different clients, right? But there already was a service to share your own idling PC with internet players. And unlike Google's servers it can be used to play locally by its owner.
But the biggest issue with the whole game streaming is the economy. What's more profitable for publishers and stores, to sell access to games which run on your hardware, or sell the copies of the games and let the players handle hardware cost themselves? The obvious answer leads for remote play services to live off the niche of people who would like to play games but can't afford to invest into hardware. If you compare the cost of a game console with the cost of games you'll understand there can't be a lot of people in this category.
TL;DR Remote play is doomed to stay on the fringes due to the economy and physics.
From the users' perspective, the only selling point of cloud gaming is that they don't have to buy/maintain/upgrade/carry a large gaming computer. It's not game distribution - which is a solved problem by the various stores and piracy, and into which they're already invested and have existing game libraries.
What the users want would be to have a gaming PC in the cloud - same experience as their own gaming PC but without the cost of ownership/maintenance and burden of physically having the machine and moving it. They can install their existing games no matter where they're from (including piracy) - if they work on a local machine, they'd work on this.
The problem is that limits the rent-seeking potential considerably; the max price you can charge is about the same as a cloud GPU instance (since that's all it really is), you can't enforce lock-in (the user can trivially migrate to a competitor or back to local gaming - the experience is the same as swapping physical machines) and you can't become a middleman in game distribution.
Why, they did take off. There are several active remote play services in different countries. As I said, those are serving niche audience and there's no demand for them to grow any further.
> What the users want would be to have a gaming PC in the cloud - same experience as their own gaming PC but without the cost of ownership/maintenance and burden of physically having the machine and moving it.
I agree, but this is technically unachievable. Local connection will always have more hassle free bandwidth than a remote one. So, what happens in reality, the users trade the cost of their gaming PC ownership/maintenance (which is pretty affordable in case of game consoles) for cost of maintaining high speed and high reliability internet connection.
Maybe with OPs work we can study and hack the original firmware.
We see a web UI, but that is the tip of the iceberg.