[HN Gopher] Looking into the Stadia Controller Bluetooth Mode We...
___________________________________________________________________
Looking into the Stadia Controller Bluetooth Mode Website
Author : rcarmo
Score : 163 points
Date : 2023-12-21 09:11 UTC (3 days ago)
(HTM) web link (garyodernichts.blogspot.com)
(TXT) w3m dump (garyodernichts.blogspot.com)
| codyogden wrote:
| Heads up: this post is from January 2023. Google recently
| extended the ability to convert controllers to Bluetooth mode by
| one year. The new deadline is December 31, 2024.
| ShamelessC wrote:
| Am I crazy for thinking they should release a tool that does
| this offline and then just end support for it after those
| dates?
| codyogden wrote:
| Nope. It's something I suggested the other day:
|
| https://twitter.com/killedbygoogle/status/173591315266219646.
| ..
| londons_explore wrote:
| The webpage is pretty much self-contained... You could
| probably just save the page for offline use in your browser
| and have it work forever.
| Grazester wrote:
| Someone already did this and posted it on GitHub about a
| year now
| throwuxiytayq wrote:
| People who suggest this fail to understand that to a google-
| brained PM it would be a complete and utter career-destroying
| faux pas to suggest that they should make a non-web app, even
| for a purpose as trivial as a firmware upgrade.
| Kwpolska wrote:
| Doing it via the browser means they get support for Linux
| out-of-the-box. If this was a long-term thing, they
| wouldn't need to care about things like Apple switching
| architectures for the umpteenth time.
| nyanpasu64 wrote:
| Bring back the Windows Google Talk client...
| dvngnt_ wrote:
| yes! that's not the "google way"
| ShamelessC wrote:
| Ahh you're right. Don't know what I was thinking.
| vincheezel wrote:
| Why even have a deadline? Why not just release the firmware to
| the public? What does google gain from stopping people
| converting stadia controllers to Bluetooth in the future?
|
| 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.
| lima wrote:
| > _What does google gain from stopping people converting
| stadia controllers to Bluetooth in the future?_
|
| It means they can delete the code from the monorepo.
| kevincox wrote:
| The hardware isn't changing. If they aren't going to
| provide bugfixes and support they can just archive the
| built artifacts and publish a torrent or public Google
| Drive folder.
| Tyr42 wrote:
| They do have that, and I think it'll be on GitHub
| indefinitely, but Google is hosting a live site which can
| reflash the controller.
|
| Eventually the framework it's running will be deprecated
| and someone will clean it up.
| kevincox wrote:
| All of the flashing logic is client-side. As a bonus they
| could archive the whole site. But even if just the
| firmware blobs were available it would be a huge win as
| developing another flasher is probably pretty easy with
| the provided documentation. I suspect that it wouldn't be
| hard to identify and download most of the firmware that
| could be used (I don't think there are many controller
| revisions) but distributing those will be a legal grey
| area without a proper license from Google which
| presumably owns the copyright.
| urbandw311er wrote:
| Best guess - it's about support and maintenance. For every
| tool out there that's live you're going to have a degree of
| overhead to deal with queries and keep it working on the
| latest OS, browsers etc.
| deely3 wrote:
| Unless you make it opensource?
| arccy wrote:
| have you not seen the typical GitHub issue tracker full
| of entitled people?
| zwirbl wrote:
| Then archive the repo or close the issue tracker and let
| the people whine on some forked repo
| jezzamon wrote:
| Generally things at Google are built on a stack of
| private libraries and infrastructure, such that open
| sourcing something requires a complete rewrite.
| Unfortunately.
| saurik wrote:
| Google already has a solution for this: they just ignore
| any and all customer support queries.
| fy20 wrote:
| They also refunded everyone who bought the controller, so
| legally they don't have to provide any support.
| emodendroket wrote:
| Even if they hadn't I'm not sure what legal right you'd
| have to demand service.
| asylteltine wrote:
| Google has customer support?
| kyrra wrote:
| Googler, opinions are my own.
|
| 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.
| vel0city wrote:
| I understand there's a forever maintenance thing to forever
| hosting a website, especially a web application, when its a
| big behemoth like Google. Lots of compliance reasons and
| all other organizational policies can make it hard to even
| just host a file at a URL forever much less an actual
| interactive application.
|
| 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.
| nox100 wrote:
| A website works on all platforms; Mac, Linux, Windows,
| ChromeOS, ... maybe even Android. An app works on a
| single platform.
|
| 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.
| d0lphin wrote:
| Yup even Android, Chrome on Android supports WebUSB so I
| usually use it to flash different firmware to my Nintendo
| Switch on the go.
| vel0city wrote:
| So sure, release a webpage that you'll only host for a
| few of years. But then also release a basic executable we
| can run for the next hundred years after instead of
| making something that needs Google's blessing and
| continued effort to exist.
|
| Everything being a website isn't necessarily a good
| thing.
| depressedpanda wrote:
| I think you're missing the point. In this case it being a
| website is an awesome 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.
| avianlyric wrote:
| Well according to the article the entire firmware
| flashing process does happen over USB. The website is
| just a JS executable that uses WebUSB API to perform the
| flashing process via a browser.
|
| 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.
| worewood wrote:
| > 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.
|
| 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.
| Reason077 wrote:
| Still a great shame about Stadia. Really cool technology that
| never had a chance to reach its potential. Killed too soon!
| mattlondon wrote:
| I switched to Geforce now and did not miss stadia. The biggest
| problem with stadia was that they tried to make it into a
| store/ecosystem where you could only play things you paid for
| specifically for stadia. Got a huge steam library? Tough.
|
| 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.
| p_l wrote:
| A big issue of stadia, and a huge advantage for GeForce Now,
| was the environment they provided for the game.
|
| 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.
| dmitshur wrote:
| Not having Windows as a dependency was almost like
| optimizing for future proofing and longevity, ironically.
| If Stadia were to last longer, so could the games that were
| made available on it. The game launcher experience was
| fully in their control to innovate on.
|
| 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.
| a_vanderbilt wrote:
| There is just a small problem: games for Linux often lose
| compatibility with newer versions of distros. Ironically,
| while the games would be available on Linux, they might
| not have worked for as long as their Windows versions.
| uxp8u61q wrote:
| That's rich given MS's crazy attachment to backwards
| compatibility. You do realize that they check every
| single executable that launches to see if it's eg. sim
| city, and if it is they enable some compatibility flags?
|
| 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.
| cmrdporcupine wrote:
| I worked with/beside the team that worked on the firmware for
| this controller, and they poured a lot of heart and soul into
| it, all good people working in a rather trying situation, and
| the engineering behind it is solid. I think a lot of them are
| working on Matter now
| (https://developers.home.google.com/matter/overview)
|
| 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.
| viktorcode wrote:
| Think of remote gaming as a computer where the connection
| between the computer itself and its input/output is stretched
| over the internet. It's bound to remain technically inefficient
| compared to local wires.
|
| 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.
| Nextgrid wrote:
| I think greed is a major reason why those services don't take
| off.
|
| 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.
| viktorcode wrote:
| > I think greed is a major reason why those services don't
| take off.
|
| 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.
| redder23 wrote:
| Did the not shut Stadia down? This is ridiculous to not just open
| it up and let people to WTF they want to with it.
| mattlondon wrote:
| It was closely tied/integrated into Google hardware and data
| center architecture as far as I understand - it is not just
| some binary you can run on a raspberry pi.
|
| We see a web UI, but that is the tip of the iceberg.
| nzoschke wrote:
| Stadia was wild.
|
| 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.
| kccqzy wrote:
| As always, there was (and still is) so much technological
| marvel inside Google and so many highly talented people working
| inside Google that I felt sorry that these marvel never gets to
| see the light of day and efforts by these folks ultimately
| wasted by inept management and terrible marketing.
|
| 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.
| coldpie wrote:
| > terrible marketing
|
| 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...
| philistine wrote:
| The VGHF helped with setting up the display for that event.
| Frank Cifaldi, founder of the VGHF, has explained the
| sordid tale of that display on some podcasts. Basically,
| the VGHF was hired to make a display. They provided a draft
| version. Google's people came back and were adamant that
| the display had to have those failed products as well. The
| VGHF repeatedly warned Google of the horrible optics of
| showing those products. Google went ahead.
|
| 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!
| emodendroket wrote:
| I don't think you can have a big company that behaves like a
| small company no matter how much everyone from employees to
| owners of big companies fondly cherish the idea.
| a_vanderbilt wrote:
| As a whole big companies don't. In my experience, unless
| the company has a skunkworks or a guerrilla team on
| something emergent you aren't going to find the culture
| that fosters innovative things with commitment. Problem is
| at some point (usually when something viable comes out)
| those teams get cannibalized or subsumed by management.
| marklar423 wrote:
| The Stadia tech was so much further ahead of others, it's such
| a waste it didn't get time to flourish. They could have really
| changed the paradigm if it had better management.
|
| 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.
| SXX wrote:
| Latency, total DRM, games completely disappear on whim of
| copyright owner, no modding.
|
| Nope, I dont want this potential.
|
| Good riddance.
| cavisne wrote:
| This idea was actually in the launch keynote! Along with a
| bunch of other cool ideas that never shipped.
|
| 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).
| a_vanderbilt wrote:
| It's a cultural problem. Google fails to follow through
| after the initial shiny has worn off. In Google, you are
| rewarded for shipping not maintaining. That's why they have
| a gorillion messaging apps instead of one really good one.
| They weren't willing to commit the engineering time to
| implement those features because the interest wasn't there.
| broast wrote:
| Then again, Stadia's streaming performance and graphical
| capabilities were subpar compared to established competing
| services like GeForce Now, Xcloud, and ShadowPC. If it were
| better it might have been worth it.
| deadmutex wrote:
| On which metric was Stadia inferior to xcloud?? GFN, I
| could understand, but Stadia would smoke XCloud
| chewmieser wrote:
| Same fate with OnLive before it, which was super cool back in
| the day. Only Microsoft & NVIDIA have been able to build
| successful products out of cloud gaming but even then Microsoft
| doesn't just sell the cloud part separately.
|
| Not sure why it's such a tough sell. Most games feel flawless
| through it, even back in OnLive days...
| Nextgrid wrote:
| I wonder if it's some kind of selection bias - techies all
| praise how good it was but I can imagine that the experience
| for the general public with the typical combo of overloaded Wi-
| Fi backed by shitty ISP-provided router was much different and
| this may have contributed to its downfall.
| philistine wrote:
| If Stadia was strictly a subscription service, I bet it would
| still exist. People have already forgotten, but you had to buy
| the games on the service. On top of that there was a
| subscription to increase your stream's resolution. The pricing
| was already too complicated and the thing was brand new!
|
| 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.
| depressedpanda wrote:
| This.
|
| 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?
| VoidWhisperer wrote:
| > 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
| kelnos wrote:
| > _The controller upgrade process was something I never
| imagined a browser could do._
|
| 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...
| srmarm wrote:
| It'd be cool if they allowed you to redefine the endpoint for the
| wifi bit of the controller which was the interesting part of the
| tech IMHO.
| nzoschke wrote:
| I had the same thought. The WIFI controller was magic compared
| to Bluetooth pairing to a single computer.
|
| Maybe with OPs work we can study and hack the original
| firmware.
| koinedad wrote:
| I wish they pushed an update to fix the pairing bug. Once you
| update to support Bluetooth and pair it it works the first time
| and will stay connected but provide no input after reconnecting.
___________________________________________________________________
(page generated 2023-12-24 23:01 UTC)