During the ongoing Google for Games Developer Summit 2022 Keynote, one of the Google team just did a talk on "How to write a Windows emulator for Linux from scratch" to help Stadia.
They already have some existing work available to developers who want it, including their "Stadia Porting Toolkit" which actually uses DXVK to translate Direct3D to Vulkan (since Stadia is a Linux system). However, this translator seems to be their newer approach to running Windows games on Stadia.
With only three people working on it, presenter Marcin Undak said they were able to get some games to run but it's still in the R&D phase and not production ready yet with it taking considerable time to work per-game. However, work is ongoing to hook it all up together with Wine and Proton (for 32-bit games specifically they said) which is one of the paths they will be considering going forwards.
There's already Wine and Proton, which are mentioned in the talk as well but it seems Google wanted something different. Why though? One major reason is how thin Stadia is as a platform. While it is Linux, it's stripped down to the core and doesn't have everything Wine needs to build. There's also a ton of things they don't have to care about that normal desktops do and so "90%" of Wine is simply not needed they said. Additionally, Wine is also apparently challenging when it comes to the build system and debugging.
Quite a technical talk but it's quite nicely presented, to give you a basic overview of what they're doing without going into super tech-heavy details to fry your brain if you're not a developer.
Direct Link
They are also finally about to open the Stadia store without the need to be signed in, so you will be able to actually look around. Incredible it took them this long to do such a basic thing, I can't imagine how many people that put off. Just think if Steam didn't let you view store pages or anything without a login.
"Making something new is fun" is a legit reason I have no complaints about, but "debugging Wine is hard becasue we are used to Visual Studio" is kind of a bad excuse.
Last edited by Shmerl on 15 March 2022 at 5:56 pm UTC
Quoting: pbThree people? I'm sure they're great engineers, but google could throw some more manpower into the project if they hope to put Stadia back on track. Also I hope they will go in the direction of integrating and contributing to the existing efforts.
Read the mythical man month. Having more engineers does not always make development faster. Sometimes, communication between larger teams just slows them down to the point where fewer engineers are more effective than more engineers.
Quoting: pbThree people? I'm sure they're great engineers, but google could throw some more manpower into the project if they hope to put Stadia back on track.
If you have some minutes to spare, please take a look at this article https://www.allankelly.net/archives/472/software-has-diseconomies-of-scale-not/ . Creating software is a business with its own laws.
Last edited by jens on 15 March 2022 at 6:58 pm UTC
That said, the biggest issue are the really bad game launchers. Game devs are not application developers and it shows. And thats something Stadia will most likely never allow, so the approach can help them, but very lilely will have little impact for the rest of us.
3 devs does not sound a lot, but can be a lot if you only solve a certain subset of issues.
They probably can ignore a lot of system interaction wine has to build.
A few hundred thousand lines of code sounds a lot especially if more complex, but it really must not be in this case.
Quoting: pbThree people? I'm sure they're great engineers, but google could throw some more manpower into the project if they hope to put Stadia back on track. Also I hope they will go in the direction of integrating and contributing to the existing efforts.
either we under estimate then and over estimate wine developers, or they are just doing some tests to see how promissing this solution is before throw more people at this side project
Quoting: RichardYaoRead the mythical man month. Having more engineers does not always make development faster. Sometimes, communication between larger teams just slows them down to the point where fewer engineers are more effective than more engineers.Yeah, I'm often surprised to hear how many "developers" are supposedly working on this or that trivial seeming application. Having worked mostly in small teams (1 to 5 people) so far, it's amazing what kind of projects you can do in reasonable time when equipped with the proper tools for the job.
Judging by the talk, they came up with quite clever and efficient ways to go about whatever they did. Hard to imagine how more people could have helped significantly here. Of course, had they simply chosen to re-implement the complete Win32 API from A to Z instead, that could have been a different story.
Quoting: tohurIf people for one second thinks Google wrote their own Windows layer you are highly mistaken as WINE has been in development since the 90s and took them YEARS to be able to run basic stuff let alone games... reverse engineering windows is nothing you just do overnight on a whim no matter how large your company is so thus the fact is they are using a wine code base rather you want to believe it or not.
afaik wine says they do what they do without reverse enginering windows, they have to reimplement apis without looking at binaries to make sure the project isnt doing anything illegal.
that said, assuming its reverse enginering, once its done its much easier to look at the source code than when you have to do it yourself.
See more from me