From a performance and technical perspective this is incredible. Well done!
It will never happen, but my dream is for the Asahi devs, Valve, and Apple to all get together to build out a cross-platform Proton to emulate and play games built for Windows on both x86 and ARM hardware running Linux.
A Steam Deck with the performance and power efficiency of an M-series ARM chip and the entire library of games that run on Proton is just...dreamy.
I hope they don’t ignore macOS. They could port proton to run on Metal + Rosetta and then Steam would support all running windows titles on macOS and Linux.
I recognize it’s a hell of an ask, but I think Alyssa could pull it off.
I'm a huge macOS fan but even I have to admit that gaming deserves to have a home on an open-source OS controlled by no one (which would be Linux in this case) and that Steam devoting effort to bring first-class gaming from Windows to macOS is like working to escape from the frying pan into the fire.
I see cats writing software _with hardly any documentation_ like this and my brain melts. Power level strictly monotonic, possibly exponential, and very very large. Bravissima!
I hope that she was working on Asahi full time at valve, because if she did all that while also holding down a day job then I might as well be soylent green.
A lot of stuff like this shows up, they also have a fork of waydroid and box64. I think a lot of them are projects and a lot of them are just devs with a lot of agency who share the dream
Steam Deck was made possible by their ongoing efforts to enable the play of most of their games catalog on any hardware platform that is computationally capable of running them, regardless of OS or architecture.
The end game for Valve isn't Steam Deck 2 or 3 (which is statistically impossible for Valve to produce), but for Steam to be on everything.
Steam Deck was made possible by the plethora of the Windows games developer market and Proton.
Most of the studios that own those games, and target POSIX like OSes on mobile phones and game consoles, are yet to bother with GNU/Linux versions for SteamOS.
Wine and DXVK are already running on Android and they play Windows games with the rendering and computational complexity of Fallout 4 at playable framerates on many of the latest smartphone SoCs. It's still WIP, but it's already gone beyond proof of concept, people are using them. Valve don't need the developers to be on-board in order to run their games on anything else, that's why Proton exists.
What Valve want is the dissolution between platform/architecture and store. By my eye, it's the driving force of their efforts, more so than them selling hardware or being the open source good guys. Not to undervalue their work in helping make Linux a first class citizen for gaming, but the core of their business model is getting people to engage with their store, full stop, and being able to sell their games on Android (and elsewhere) would massively extend their reach.
This may go both ways too, there's also been indications that Valve have been tinkering with Waydroid, meaning Steam could also become a store for Android-native games.
That's a small part of it, I think. They've almost certainly spent a lot more on pouring time and effort into Linux than they ever would have saved on license fees. It seems like Valve doesn't want to be beholden to Microsoft in any way. They support Windows because that's where the users and the games are, but they don't want Microsoft to be able to rug-pull them either.
As far as I am aware, neither Valve nor the independent Wine/Proton developers are bound by any licensing agreements with Microsoft. They are clean-room implementing the same technologies, but they are not beholden to Microsoft in any legal way. Of course, drastic changes in laws or policy regimes could alter this dynamic, but those are out-of-context risks.
In order for Microsoft to rug-pull the technology (which is quite different from rug-pulling the business model), they'd have to break compatibility on Windows itself. Video games remain a major reason for home users to run Windows. Making ABI-breaking changes to Win32 or DirectX is just not very likely to happen. And if it did happen, it would be a boon to Valve and not a harm.
The biggest risk (and this would be a classic Microsoft move, to be fair) I can foresee is aggressive API changes that make it hard for Valve/Wine/Proton to keep up but also make it hard for game developers not to. I'm not exactly sure what this would look like, and a lot of the core technologies are pretty stable by now, but it's a possibility. It's not, however, going to harm anything that already exists.
They can restrict .NET and the C++ stdlibs so that you can only run them under Windows (through a license change or by introducing a code check), but if they hadn't done that in Ballmer days, I don't think they will now.
I don't remember how officially it was stated, but original push by Valve for steam on Linux with Proton was to remove their dependency on Microsoft - a hedge against possible future ecosystem-impacting decisions in Redmond.
Making SteamDeck use windows wouldn't impact prices much, Microsoft is really friendly for putting windows by OEMs. Could even run modified to act like current steam deck.
Instead, SteamDeck is there to drive up testing on Proton or straight forward porting to Linux, which just availability on Linux and the previous steam machine didn't drive up
Close, but the root is more nuanced. Once upon a time, Microsoft was talking about regulating "apps" on windows like Apple does for the iPhone. Valve saw the writing on the wall: a potential ban on violent or otherwise adult-themed games. So Valve started the steambox project. Get the games running on linux/WINE and they could tell Microsoft to push off. Years later, we have the steamdeck as a revolutionary product and linux is the go-to OS for portable gaming.
If future versions of Proton break compatibility with older Windows apps, you can use different old versions of Proton for individual games. Steam makes this very easy on Linux, but rarely is it necessary.
I don't foresee many Linux distros breaking compatibility with Wine, which is good, as some devs argue Win32 is the only stable ABI on Linux. [1]
I don't foresee legal issues either, as Wine has been around for 31 years, and its corporate sponsors have included Google in the past. I've seen no indication that the project is on shaky legal grounds.
Microsoft could always create a new API that Wine doesn't yet support, but good luck getting developers to use it -- they've tried many times, but not much has stuck, and most devs just stick with Win32. [2]
Linux/Unix has been used as a base overwhelmingly in pretty much every new consumer OS for decades. Not to mention Microsoft certainly cuts deals with manufacturers when it comes to windows on portable devices (I think at one point they offered free licenses on devices with screen sizes under 8 inches).
The steam deck is 100% usable without leaving 'game mode' even a single time. Something that is genuinely impossible using Windows as a base. That's the important part
The amount of money Valve has pumped into Linux would have far exceeded the money they saved through licensing Windows. Like probably by an order of magnitude or more. For someone as smart as you seem to be, your points don't make a whole lot of sense.
I am a strong linux supporter and I too do not like what proton is doing to games. A few years ago there were many significant games coming out with native linux capacity (MineCraft, KSP, Factorio). Then proton dropped. Now, rather than support linux natively, even the most pro-linux developers are just expecting that their windows version will run under proton. And those who are running games under proton are essentially cut-off from customer support. I've had a few games where a patch suddenly stopped them working under proton. I have no recourse in such situations. That is not a good trend.
Genuinely what is the practical difference in this for 99% of users? They just want to play x game. Proton performance is pretty great, what else would be a problem for those people?
Also when it comes to breaking proton support (Which does happen) Valve + GloriousEggroll give you access to plenty of older and special versions. Surely that's better than rolling back entire software?
My game doesn't work ->
I go to protonDB ->
Users saying use X Proton Version or Y ProtonGE version ->
I switch the layer used in steam
Linux is not a stable runtime in the first place. Unless you are isolating, redistributing and sandboxing most of the libraries used to run your game, it's almost guaranteed to break when the dependencies are updated. Windows apps don't have that problem, natively or when run through emulation.
Just ignore the guy, it's essentially the reverse of "I run Arch BTW". Not just about Valve or Proton, but about pretty much every FOSS technology that's celebrated here.
It doesn't have to do anything for GNU/Linux games, that's been an option for years and it's a ghost town a-la Metal-native games. Valve (and the community) are doing the right thing by ignoring the Apple strategy of enforcing distribution terms they will abandon within the decade. Developers that want to program for Linux still can. It's just as stupid as it was when the first Steam Machine rolled out.
By supporting Proton, they are guaranteeing that modern and retro Windows games will be playable on Linux far into the future. Trying to get the next Call of Duty to support Linux natively is, quite literally, a waste of everyone's time that could possibly be involved in the process. I cannot see a single salient reason why Linux users would want developers to release a proprietary, undersupported and easily broken native build when translation can be updated and modified to support practically any runtime.
Yea. You either have to pump a ton of money into it like Apple tries to do to get devs to target your OS, or you can take matters into your own hands and do the unthinkable with Wine and Proton. Its unironically a silver bullet solution. Otherwise we'd all be waiting for years to make 1/1000th the progress
We don't have to imagine what Linux gaming would be like without Proton.
- CD Projekt Red: released Witcher 2 on Linux, didn't for Witcher 3.
- iD Software: released Doom 3 on Linux, didn't for Doom (2016) or Doom Eternal.
- Epic Games: released Unreal Tournament 2004 on Linux, but didn't for Unreal Tournament 3 or Fortnite. (A Linux port was being worked on for UT3, but it ended up getting cancelled.)
- Larian Studios: released Linux version of Divinity: Original Sin, didn't for Divinity: Original Sin 2 or Baldur's Gate 3
Many studios over the years have made native Linux versions, and many studios stopped because the cost of porting exceeded the revenue it generated. Proton didn't exist when Unreal Tournament 3, Witcher 3, Doom (2016), or Divinity: Original Sin 2 released, so Proton wasn't the reason those studios stopped developing Linux titles -- they stopped because it made no financial sense to continue to make them.
Now, with Proton, 79% of the top 1000 games on Steam are gold or platinum rated on ProtonDB. If you're fine with minor issues, 88% are silver rated or better. For the Steam Deck in particular, there are 5,500 verified games, and 16,526 verified or playable games. So I'd argue Proton is doing quite a lot for people gaming on GNU/Linux machines, since they now have access to a solid majority of the top 1000 games on Steam, both on a Linux desktop and on a handheld.
The practical implication is that one can click one button and buy install and play thousands of games on Linux. Only MS stockholders are liable to care about the implications for Windows.
OS/2's Windows compatibility was borne in the midst of Windows' rapid ascension, of rapid progress and change in the home PC industry.
We aren't in the 90s anymore. Win32 has stalled, Microsoft has a regulatory gun to their head and Wine's compatibility (at least in the ___domain of games) is extremely good, good enough to allow for a commercial product to be a success while being entirely reliant on it. In what way is any of this comparable to what happened with OS/2 outside of "it runs Windows applications"?
You are right that many developers don't care and haven't bothered with Linux, but one reason for optimism is that this seems to be changing. Just looking through the list of native Linux games today compared to what it was like a year or 2 years ago, there are a lot more options. I was looking through the list of Linux games on Gog, and it is likewise in a much better position than it was prior. I think there is much reason for optimism!!
It would have to be, CS2 is the fourth major installment in the Counter-Strike franchise.
Then again, all kinds of companies take liberties with naming including numbers. Look at Windows 7 (12th major release), Windows 10 (successor to Windows 8), the game Battlefield 2 (third in the series), Battlefield 3 (three games after BF2), Battlefield 1 (after the release of BF4), etc.
It is a joke about Valve only rarely making the third installment in any of their series (e.g. Half Life 3 not existing)
Edit: specifically including "3" in the title - the actual number of games tends to be higher but with different names.
I believe Valve dropped official Windows 7 support in Steam because Chromium did and they weren't going to fork it.
I empathize if you don't like any version of Windows newer than 7 or XP, but it's time to let the dream of running them forever go. It's not weird when software doesn't support the 2009 version of an operating system anymore in 2024. If they never dropped support, it would be difficult to take advantage of improvements that occurred in the last 10 years, because we'd forever be stuck in baggage.
Of course when it's feasible everybody loves software that really never does drop support, like 7-zip, which I think happily still works on Win9x without KernelEx... but I'd rather 7-zip stopped having serious security issues than continued to work on old Windows versions.
Windows 7 was great and I'd love to go back. If I really had my druthers, Windows 2000 was peak and XP was just a vulgarized version of 2000.
However, it is Microsoft more than anyone else that has decided to stop supporting those operating systems. Windows XP does not have support for any modern version of TLS (only TLS 1.0). There's no good way to support a browser-based app like Steam on a platform that cannot natively provide a secure connection to a modern web server.
There is not such a hard reason to drop Windows 7 support (again, except that Microsoft no longer supports it) but there are security-relevant APIs that are only available starting in Windows 10 which means special patches would have to be maintained just for Steam on Windows 7 to continue working securely.
Apple is going to do the same thing they did with BSD, WebKit, etc. They will wait until proton is mature enough, fork it, then release it as their own. Why put in the effort this early on?
Which is exactly what I described. Looks like they took crossover/wine and added some custom patches. What are the chances they upstream anything? Probably 0.
Not sure what agreement they have there, but at the end of the day it’s Wine which has decades of open source development behind it at this point. Plus a bunch of other libraries (gstreamer being a notable inclusion) that are all FOSS. This still fits the pattern of Apple profiting off of OSS projects while contributing back as little as they can get away with.
A non-trivial number of contributions to Wine come from CodeWeavers (30%+ of all commits), which in turn is funded by its work on Crossover, Proton, and commercial agreements with other businesses. Wine would not be the project it is today without the contributions of CodeWeavers. Contributing cash to the companies contributing code is a perfectly adequete form of giving back.
CodeWeavers released an annoucement when Gaming Portal Toolkit was announced.
The announcement says practically nothing except “we did not work with Apple on this project.” And then a bunch of comments about the license Apple gave their version of the source code.
You sure there was any kind of commercial agreement? Doesn’t look like it.
I think it's still hilarious and crazy that safari/chrome/webkit/blink exploded out of the cute little KHMTL browser called Konqueror in KDE from back in the day.
And the root of the whole browser wars thing was microsoft making an absolute dog of a browser for Mac OS X when it came out and then refusing to support it. lmao.
Haaa Konqueror. It was THE shit back in the day. I loved this software. It really was at the core of the KDE experience. Too bad it disappeared, I miss it. (well it’s not technically dead but it’s not moving either)
I came here to say this! Konqueror may have served a small community but it was excellent.
It was the file manager as well as the browser and it was incredibly capable. By far the most advanced GUI file manager of its time. And a pretty fast and pleasant browser, although the compatibility was hit and miss. (Those were Flash and IE-dominated days as I recall them.)
A lot of what I loved about Konqueror is captured in Dolphin. I don't think I need my web browser to be a file manager... maybe that concept was just a 90s fever dream. But I miss Rekonq. Maybe I should revisit Konqueror.
I miss Dolphin badly whenever I'm on non-free operating systems, even though I generally enjoy file management via the terminal as a fallback. In Plasma, I'm much more likely to do a bit of GUI file management than under any other circumstances.
'Default' KDE apps are often so well thought-out and complete that I never feel the need to deviate from them, and it's not unusual for me to install them on other operating systems when possible. I feel this way about Dolphin, Okular, Ark, Kate, Gwenview, Klipper, and Konsole/Yakuake, too (even though there are several great new terminal emulators out nowadays). And KWin! God, KWin's configurability is so good and it has some really killer compositor effects for productivity that are still unmatched.
IE 5.5 for OS X was by far the most standard compliant browser of its time. It supported more CSS than either NN 4.x or IE 5 for Windows. Nothing came to surpass it until Mozilla 1.0 and even then it wasn't a slam dunk.
Was gonna say IE5 on OS X was the opposite of “a dog of a browser”. It was the gold standard against which every other browser was compared because it was by far the most standards compliant browser of its day.
Also a quick correction, there was no IE5.5 for OSX. That was for Windows and used a diff rendering engine.
Usually I would be as optimistic as you are about this, because that would be the dream (although it would be nicer for them to contribute to the project.) However, given Proton's primary use case is gaming, such an effort will almost certainly be kneecapped by Apple's historic half-hearted commitment to anything other than microtransaction-powered mobile games.
No but it looks like they’ll add Metal support to Wine, do the bare minimum to comply with the license and release it as “Apple game toolkit”. Textbook.
An ARM CPU only emulating x86 isn't going to be more efficient than straight x86. ARM is barely more efficient as it is at those performance levels.
The real reason Apple is ahead is because they're paying for more expensive more advanced nodes for their CPUs. I you compare CPUs on similar node sizes, you'll see that AMD and Intel are basically caught up architecturally in perf/W metrics.
The last I checked, there low wattage AMD and high wattage Apple had similar performance and wattage, so AMD was the right choice for raw performance, and Apple won for portable devices.
Intel was losing badly to one or the other at all TDPs. I don’t get the impression that’s changed much. (Even if it has, I can’t remember the last time I encountered a non-xeon intel machine with working hardware and drivers (for any OS, and I tried Windows, Linux and macs).
AMD does not win over Apple for raw portal performance. AMD does give you a lot of MT performance for a decent price. You have to buy an M3 Pro to match an AMD HX 370. However, you’re sacrificing battery life, quietness, portability, and ST performance with AMD.
Yes, M3 is still 2-3x more efficient than Lunar Lake’s GPU as long as it’s not games that were more optimized for x86 and or DirectX. For example, M3 generally wins in compute with a lot less power needed.
that's ideally what Vulkan was for. Build for one common open source standard, and then Apple/Microsoft/Google/Linux can all build an API to support that.
But I guess there was never a time when an open graphics standard stood as the leader. Maybe during a brief stint in the Windows Vista era at best.
Arm has had a performance-to-power edge over x86 since inception.
AIUI, if you want the most flops per die, you'll buy x86 - probably the 128-core Xeon for enterprise money. But that's not what's best for hand-held gaming.
AAA titles are typically GPU-bound anyway. More CPU flops may not offer much benefit.
> AAA titles are typically GPU-bound anyway. More CPU flops may not offer much benefit.
Yes, but actually no. The Steam Deck is playing at extremely low resolutions. Rendering at 720p and 30fps is (on paper) 8x less demanding on the GPU than rendering a native 1440p60 experience. You can fully get by without having a powerful dGPU, which is why the Steam Deck is really able to play so many titles on a weak iGPU.
The problem is translation. Cyberpunk 2077 runs fine on a 25 watt mobile chip that uses x86, which is why the Deck even costs less than $1000 in the first place. If you try to put a mobile ARM CPU in that same position and wattage, it's not going to translate game code fast enough unless you have custom silicon speeding it up. There's really no reason for Valve to charge extra for a custom ARM design when COTS x86 chips like AMD's would outperform it.
For x86 PC games (which pretty much all games are, today), ARM is at a substantial disadvantage, period. The IPC and efficiency advantages are entirely lost when you have to spend extra CPU cycles emulating AVX with NEON constantly. If there were ARM-native games on Windows then things might be different, but for today's landscape I just don't see how ISA translation is better than native.
Yes, there would have to be a push in the industry to port games to ARM, otherwise the gains in architecture will indeed be lost in instruction translation
The reason why this isn't more prevalent is twofold
1) everything standardized, like it or not (note: I do not), on the Windows API, and it has remained relatively stable, which is important because
2) Linux-native games I've had, have become un-executable over time without semi-regular maintenance, and Windows games running on whatever version of Proton they best work with do not have that drawback
It will never happen, but my dream is for the Asahi devs, Valve, and Apple to all get together to build out a cross-platform Proton to emulate and play games built for Windows on both x86 and ARM hardware running Linux.
A Steam Deck with the performance and power efficiency of an M-series ARM chip and the entire library of games that run on Proton is just...dreamy.