5 years ago Valve released Proton
gamingonlinux.com
gamingonlinux.com
Valve becoming big enough to break into the hardware market (first Steam Machines and then the Steam Deck) was the first time they had any incentive to care about the OS layer. They could've made some deal w/ Microsoft but instead went the open-source route to the benefit of everyone. Kudos to Valve.
Sure I can. They decided ultimately to make an indirect dependence on Windows instead of encouraging devs to make good native linux ports. They more or less made the deal with Windows without having to get their hands dirty.
I think it’s a little bit of a stretch to say it’s a problem they created - they were just a victim of their own success. They can’t force developers to write games in a particular platform, and making games work under Linux is no small task.
It was probably easier to stream games from a Windows machine, which was their first approach with Steam Link and Steam Machines. It kinda sorta worked, and what they saw was enough encouragement to go and build the Steam Deck. On top of that, CPUs/GPUs just weren’t good enough 10 years ago to do what Valve wanted to do.
So I think it’s a little unfair to say they “created” this problem.
Though, well, performance was a tiny bit lacking as you can see (i actually had to modify the Quake RTX code to let me use lower resolution scale than the official binary allowed :-P).
[0] https://i.imgur.com/3XNakAs.png
I was starting to diversify my store fronts before Valve came out with the Deck.
But the release of it and the message it sent (that they take this seriously), made me reverse course and now I always buy my games on Steam, even if it costs 10 euro more.
Isthereanydeal.com
Valve will be fine :)
It's not the shady sites that resell free or international keys, etc. I specifically didn't link to those (they're easy to find, but of questionable ethicality and usability).
FWIW if the dev offers a Steam key on their own site, I'd just buy it that way. But otherwise if it's Steam or one of those authorized resellers, there's no reason to prefer Steam itself. GMG, Humble, Fanatical, etc. have great deals that let me try games I otherwise wouldn't bother with. If they turn out good, usually there's in app purchases and cosmetics I'm happy to support. IMHO this is a good form of price differentiation, letting the base game be widely available for people to buy but selling supporter packs and cosmetics for people who really like it.
(P2W is a different story)
I miss the days when PC games weren't tied to some online webstore but came on a CD and the only DRM was a CD-key, no always online, no proprietary web store, just physical media that you could share with your friends.
Sure, Steam and GoG are probably the best kind of on-line webstore so far, bur I still love my collection of .ISO games that I can mount and play whenever I want without depending on any invasive DRM, accounts or internet connection.
And yes, gaming on Linux has been infinitely smoother and gets leaps of improvements every year. We're at a point where unreleased games already play on Linux, and typically with better performance than naively on Windows.
Controllers, audio, etc, all play out of the box, perfectly, since years now
So, on day 3 or something of release, Linux was the best platform to play the newest AAA game.
The year of Linux gaming has been here for a while.
I'd hope that those issues eventually got resolved on Windows too...
The games I play like CSGO work very well*, you have a steamdeck so you know how game support especially with anti cheat is.
However, I've had many bugs. Nvidia on linux is painful. Just linux things - I get a bar at the top of the game when starting sometimes and have to change my resolution back and forth to fix it, I've had to restart pipewire to get my audio to reappear, I've had to replace pulse with pipewire (mid game).
Linux is not smooth, ESPECIALLY with nvidia. If the games you play are well supported, use AMD graphics, and doesn't tinker with their system at all, on a very stable OS - maybe you could call it stable?
Also if you want smooth - for the love of god don't use a rolling distro. If you check the arch wiki you'll see various nvidia/steam/wine/proton issues occur every few weeks. Many completely break playing games for several days unless you downgrade packages.
tl;dr - I would not recommend linux as a desktop to anyone who doesn't mind having their nose in their terminal desperately trying to figure out why you have no audio while your friends grow tired waiting for you.
The steamdeck specifically is very well managed by valve and I'm incredibly impressed that they made it work so well.
I've had a better experience since I switched from arch to ubuntu. For example steam remote play works w/ my Apple TV upstairs. Under arch I couldn't ever get it to work.
I've had mixed experience with AMD vs Nvidia. I bought a 5700xt which was way less reliable than my old nvidia 980ti, which never once crashed under linux. I upgraded to a 6700xt last year and that's been smooth. I'd originally bought the AMD card hoping to run Wayland but am still on X11.
I'm mostly playing single player games.
Let's assign blame to Nvidia, though. It's their drivers that are crap, it's their decision to keep their hardware so heavily NDA'd that others can't write good drivers for it.
I'm not going to excuse Nvidia - their driver is buggy and they're still missing DLSS3. Many of the problems I had were nvidia specific, especially anything touching wayland.
However my audio issues, or a bug where if you click the selection of applications when you alt+tab would lock gnome up and you'd have to kill the application from the terminal - those were not nvidia specific AFAIK.
I've also heard of non-smooth experiences from AMD hardware.
I don't think it's fair to recommend linux to anyone who would be scared off by the terminal.
I'm not at all saying it can't be relatively smooth sailing though, especially without a rolling os.
Longer version: https://www.retorch.com/blog/linux-mint.htm
However most distros still install Grub, and (although not their fault) have a crusty UEFI boot sequence making that startup sequence worse than it needs to be.
Steam also haven't officially released SteamOS 3, so unless you are going to do a bit of modification, it won't quite be as slick.
On the other hand, even with all that it is vastly better than the Windows experience.
I prefer linux to windows generally so the ability to game without re-booting is a bonus on top of that. If I preferred being in windows I wouldn't run linux just for gaming.
Not a laptop, but I am livestreaming games from a Linux desktop. In the roughly two years since I've started doing this on a regular basis, I have played 23 games on stream using Steam Proton. My experience matches what Steam Deck owners told me about compatibility. It's not been completely glitchless, but all the problems I ran into were minor graphics glitches. When I buy games, I check protondb.com in advance, and it's always either Platinum or Gold for me these days.
I will note though that all the games I played were either single-player or cooperative multi-player. With competitive multi-player, there is an entire can of worms because of anti-cheat software. Valve's own anti-cheat should be fine, but if the game developer is using a different anti-cheat, it usually relies on Windows kernel drivers or some other shenanigans that conflicts with Wine in a major way.
* there is one caveat to that though - if you have a VR headset, then there are many people reporting performance issues on Linux with those headsets. And personally I also find VR performance subpar on Linux (although it still improved in the last year).
If one day I manage to build a billion dollar empire, my sole inspiration on how to conduct business is Gabe Newell. [1]
Which is exactly the thing Epic can't compete on. They can give away all the free games they want, but Steam and Valve have done much more than offering games on sale.
(I got a 13 year old account on Steam, more than 500 games bought, almost $10k spent on the platform. No Windows partition for the past 3 years)
---
1: I honestly couldn't name anybody else that has kept their company private, grown it to such heights and stayed true to their founding principles, without selling out to shareholders and advertisers for an easy buck.
Update: iTunes Store started in April 2003, Steam started selling third-party titles in late 2005 (around when the 360 launched).
I mean, with these criteria is Epic really that far behind? They made desktop a better experience for devs, have decent enough customer support, and they don't exactly shit talk their users like other parts of the industry. The only arguable part is good platform, but it depends on what you need out of the platform. Does a platform have to offer a way to play windows games on linux to be "good"?
>I honestly couldn't name anybody else that has kept their company private, grown it to such heights and stayed true to their founding principles, without selling out to shareholders and advertisers for an easy buck.
hard to find platforms like that, but there are certainly creators that stayed small and humble despite growing huge in influence and pull.
Sweeney is legendary in doing this. Unfortunately with the Twitter debacle it's pretty much impossible to pull out all his comments.
Don't get me wrong, many features are experimental since 4.26 but getting them production ready is the game changer.
I have purchased updates to IntelliJ, but it is good to know that I don't have to, and my access won't be restricted.
https://sales.jetbrains.com/hc/en-gb/articles/207240845-What...
So I don't HAVE TO pay the license every year! That's good to know if I ever have to reduce my bills.
So I've started buying games from DRM-free platforms like GoG and adding them to Steam as non-Steam games. Same compatibility and no need to use an external tool to maintain Wine/Proton prefixes. With the boatloads of money Valve makes from Steam, they probably won't miss me too much.
Technical impressiveness aside it’s a really nice device too—I like having something that feels mostly like a console in the “it just works” factor, but still allows me to do some fiddling if and when I want to.
Apple has done some work with their game porting toolkit to support certain flavors of DirectX games with a combo of Wine and Rosetta. But this isn’t officially pitched as tool for end users to run Windows games.
Maybe Value should give more an 10% of a thought to the Mac and make Steam not be terrible on the Mac first.
They don’t care about the Mac. They only care about Linux because it lets them ship the Steam Deck and have a hedge against MS.
The Mac is worse than an afterthought.
I would say Valve stand on the shoulder of giants with Wine and Vulkan, they just had tl connect the dots between the two.
If Apple itself would respect its gamer users it could spend sometime on these open projects, but knowing Apple, if they do anything it would be on a closed-source vendor lock-in style
Games have their own issues (you mentioned some). But the client is inexcusable.
It used to be dog slow and horribly buggy but recently it's been quite fine. More and more games run native as well.
Don’t know. But that’s what they’ve done.
If I were Apple, I wouldn’t partner with someone who clearly didn’t give 2 shits about my platform.
(In reality Value doesn’t need Apple. And Apple would never partner anyway, they don’t do that)
You can use any tool to make apps and sell them online without having to get them approved in the Mac App Store (which almost no one buys from).
Very smart to leverage that failure of Steam Machine into a portable form factor. A bit ugly and clearly some cut corners, but the price saved on no Windows license speaks for itself.
If you can afford a Mac, you can afford a Steam Deck.
No it’s not. You can download and install anything you want from the web. Just like Windows.
The Mac App Store isn’t required. Largely NO ONE uses it.
But compared to the iOS store it’s kind of a ghost town. Tons of popular software isn’t in it. It’s quite normal to just download software instead of even looking to see if it’s in there.
And if it is, App Store software must be fully and tightly sandboxed. Which prevents a lot of useful software from ever appearing in it.
> Largely NO ONE uses it.
Furthermore,
> App Store software must be fully and tightly sandboxed
I get that many things will not be able to function due to these restrictions, but for most software they are a good thing.
For a lot of things I’m happy for sandboxing. Why should random games or todo apps need more access? But the fact you can’t get good backup software like Backblaze is a problem. They need more options for levels of sandboxing, including possibly none (with heavy review).
And just like with Windows Valve is trying to build on an open platform instead.
It stands to reason that Steam on Mac is bad in comparison because of Apple.
How? It’s software like any other. There’s TONS of great software on the Mac made by 3rd parties. It can be nice. It can run fast. MS does it. Adobe does it. Indie developers do it. So why is it Apple’s fault?
The story tends that gets passed around is that no one at Valve (more or less) works in it.
I’m not talking about the games Steam sells. I’m talking about the Steam client.
If they rewrote it in Electron (instead of whatever custom thing it uses) they could do a terrible job and it would still be faster.
I’m not even asking for it to be “Mac like”, just act like showing a store page isn’t a Herculean effort.
Apple also fully dropped 32-bit support, breaking a lot of older games that had been ported to Mac on Steam.
Even Windows running on ARM has emulation for 32-bit x86 apps.
On Valve’s side they gave very little love to the Steam client on Mac and didn’t bother to update their own games (Half Life, Portal, Counterstrike, etc) to 64-bit to keep them working on Macs.
The biggest thing that has changed is now Apple ships much better GPU power even in its cheapest Macs. They still aren’t equivalent to dedicated gaming PCs but are plenty to run a huge library of casual and older games, if only there were a convenient and well-maintained path to running them.
Such as? And does it have Mac keyboard layout? Because it is absolutely superior to anything on non-Mac land.
But you know taste is personal and there are plenty other options.
Anyway. I would never, ever use Linux as a desktop environment over OSX after the experiences I've had with it over the last 20+ years. OSX GUI applications absolutely blow everything that Linux has out of the water. I don't care if we're talking KDE, i3, dwm, cinnamon. The worst part about OSX applications is they aren't cheap. Even small apps like Soundsource a https://rogueamoeba.com/soundsource/ are usually $30+ but they are fantastic.
The thought of using pipewire and all the configuration hell you have to do to it to make it like Soundsource is a complete turn off. OSX apps work. They integrate. They look great and there are a LOT of them that do pretty unique things that I haven't seen in Windows or Linux.
I work on Linux 8 hours a day from OSX and about 30% of my time is using Win11 on my gaming desktop.
Also, now that I'm on an m1 max there is no way in the world I'm going back to x86 as my productivity machine.
You probably had enough of it. I’d be sick of it after 20 years even if it were the shiniest option out there.
I'm not saying that you should switch to Linux, you do you, and to be honest Linux is not that friendly anyway. But that is not reason to stone linux to death, the parent comment is not even that offensive for MacOS users, it just asks if switching to linux would be an option, as an thought
Per app audio redirection, per app effects, per app volume control, system-wide effects, headphone equalizer, auto change inputs/outputs etc. I haven't worked with pipewire in a long time but I had to use another app with some complicated GUI of "wires" or pipes to get the same affect. I can't remember the name of it now.
edit: Wireplumber or Mixx/Raysession, I forget. It was a huge pain comparatively.
Mixx - https://canada1.discourse-cdn.com/free1/uploads/mixxx/origin...
wireplumber -https://forum.level1techs.com/uploads/default/original/4X/e/...
To be fair, I was a fan of pulseaudio even in the early days: being able to set up my desktop, with its decent speakers as just another audio sink for my laptop with its horrible speakers was like magic to me back in the day.
Or a single line to install EasyEffects which adds effects in the mix, also with zero configuration.
I'm not exaggerating. Tell me something you think SoundSource can do, and I'll show you me doing the same thing with Pavucontrol or EasyEffects in my entirely stock setup.
But sure. You found a screenshot of the ultimate Pipewire power tool that allows you to do things I guarantee SoundSource doesn't, and ran with it.
>They look great and there are a LOT of them that do pretty unique things that I haven't seen in Windows or Linux.
Oh?
But sure.
pavucontrol https://freedesktop.org/software/pulseaudio/pavucontrol//scr... soundsource https://rogueamoeba.com/soundsource/images/hero@2x.png
I love those of you who think an OSX user wouldn't know linux/linux apps.
edit: Yeah, this does nothing that soundsource does. I wish some of you would actually read the features and stop posting these volume control apps. Not to mention Soundsource was just a quick example. I could name 50 more apps that don't have a Linux alternative or one that is of any quality.
Literally - "A simple volume control tool (mixer) for the PulseAudio sound server."
For all the talk, it should be trivial for you to make me look foolish right now. Like, so easy, right?
Show me the UI for telling a specific application to redirect its audio output to a specific device automatically.
Show me the UI where I plug in a specific device it switches a specific applications (not all) default automatically to the new device.
Show me it's headphone EQ.
Show me per-app headphone EQ.
Show me per app EQ settings.
Show me the built in 3D/spatial audio for headphones
Then show me the config file you had to edit to set all of this up. And show me how clean and attractive the UI doing all this is. Then show me it in Pipewire because I don't care about Pulseaudio anyway and would never use that in 2023 with my need for low latency due to my DAW/equipment.
Then, in Pipewire, show me how to all this without using Wireplumber or Mixx.I didn't say you couldn't do things in XYZ. I said the configuration of doing so sucks compared to doing it in another app. Soundsource was just an example. I don't know why you care so much. I could've said Pixelmator (GIMP?) or 30 other apps.
PS: "For all the talk, it should be trivial for you to make me look foolish right now. Like, so easy, right?"
You're this heated up because I like an OSX app more than Linux options? You're acting like I personally care about "winning" this argument. Even if it has these features I still wouldn't use the app. Aesthetics and ease of use is important to my day to day machine. Win the "argument" all you want.
> You're this heated up because I like an OSX app more than Linux options? You're acting like I personally care about "winning" this argument. Even if it has these features I still wouldn't use the app. Aesthetics and ease of use is important to my day to day machine. Win the "argument" all you want.
I use osx myself and do not like desktop linux for multiple reasons. Though, the fanboys like you are exactly the reason I want to migrate just to not have anything in common with that group.
You want to change your OS and leave m1 processors because random people on the internet think that OSX has better applications than linux. Hilarious. Like we sit with you at the coffee shop with our lit up Apple logos embarrassing you or something.
Talk about judgmental.
Mind your own business, fanboy.
This is obviously a personal opinion, but just isn't close to true for me. I stopped using apple laptops 3 years ago, and I've never found a non-apple device with a trackpad as good as the mac.
No, they went for running with their own silicon because Intel couldn't be arsed to provide them with actually power-efficient, performant and new CPUs and they were locked in to AMD for GPUs (because that is something Apple doesn't like).
It speaks volumes about just how badly Intel (and AMD) were stuck in the past when Apple blew them to pieces with the M1 performance.
So Proton should support it eventually.
Metal is fine, Vulkan support as well would be ideal.
I think VK_EXT_descriptor_buffer is a critical one, and there are probably more: https://www.khronos.org/blog/vk-ext-descriptor-buffer
And that's Vulkan 1.3 which MoltenVK doesn't support (yet): https://github.com/KhronosGroup/MoltenVK/issues/1776
It's a little like licensing Enterprise software from Oracle. You know they'll be looking for reasons to you sue you. You may be able to avoid it, but you know it's in their style.
Is it possible that proton could become the de facto target platform?
That is, if a developer builds to ensure that their game works correctly under proton, then will it also work correctly under windows? So by just ensuring it works under proton, which seems to be minimal effort, do they get access to the expanded market for “free”?
Do any of the consoles support proton, so that the only barrier to releasing a game are the legal agreements?
Only release DirectX 13 with UWP support etc.
Not really up to date on Windows stuff, but isn’t Microsoft only using UWP for all their (new) stuff?
Xbox launcher and all games on it are UWP, aren’t they?
All future stuff is moving to WinUI 3.x (which belongs to the same family of C# XAML UI libraries, and Visual Studio has a wizard to help you turn your UWP app into a real C# app) and the Microsoft Store is no longer locked to UWP apps only and WinUI 3.x is officially supported on other non-CLR langs (such as calling it from C++ or Rust) and WinUI 3.x is coming to non-Windows platforms (such as Linux).
Microsoft isn't going to transform all their own apps overnight (for simple apps, updating a UWP app to a C# WinUI 3.x app buys you nothing), but will happen over time as WinUI 3.x-only features are added to those apps.
Microsoft set themselves on this path starting uh, like 5 years ago? They publicly announced it about 3 years ago.
whatever was before MFC (I remember using a Charles Petzold book in 1997) --> MFC --> dotNet (many versions) --> XAML/WPF --> UWP
and I guess WinUI now.
Notice how WinUI 3.x is the first thing named publicly named WinUI, but its already at 3? UWP is 2.x, Metro/WinRT/WPF is 1.x. They're all part of the same family of XAML UIs.
The part that got hard killed, and backwards support was absolutely 100% murdered was the Silverlight stuff, which was a XAML predecessor (and RIA runtime to compete with Flash/Air) written entirely in C#. For performance reasons, the WinRT/WPF->UWP->WinUI 3 branch of the family is largely WinRT-dialect C++.
So no, Microsoft actually hasn't abandoned the tech, they abandoned the dumb idea that all apps need to work on the Windows Phone (which no longer exists) and must be released on the Microsoft Store (which now allows apps in other languages), and everything has to be written in C# (which, again, is no longer forced on programmers), and everything needs to be Windows-only (Project Reunion aka MAUI brings both CLR and non-CLR WinUI apps to Linux).
Also, I'm not sure why you're branching WinUI family off from .net, as WinUI is the UI toolkit for CLR apps.
Steam deck
The thing is, currently, having a game built for Windows directly produces a much more performant game on Windows. Wine still has some hiccups here and there.
You can build a "Steam box" console with any Linux distribution and Steam's Big Picture mode. Autologon and start Steam in Big Picture mode on startup. I have this on Debian on a NUC, and there's a distro ChimeraOS which offers a polished pre-installed A/B update experience too.
Proton is the basis of Chromebook's experimental Steam games support. It works pretty well, as well as Proton itself as far as I can tell.
Have fun with the project; I'd be curious to know if (like me) you end up (sadly!) continuing to dual-boot for Windows only games. VFIO seemed like the dream end goal, and maybe it's gotten better since 2021, but for me at least, it got in the way more often than not.
I have rigged up a non-VFIO VM that boots off the same Windows partition though, so that I can log into it and run Windows updates once in a while without needing to do a full reboot.
I'm probably less technically savvy than a lot of the HN crowd, and I just have not ever had a significant problem running linux. For sure, I've avoided some problems by being picky about what PCs I buy. But for the most part it's been pretty pain free. Running Linux full-time has been effortless and easy. And thanks to Valve, gaming on Linux gets better every year. I played Elden Ring on launch, and on launch, it actually played better than PC.
To the extent that HN types have trouble with Linux, I can only imagine it's because they're doing _more_ on their PC than me. ie, they have some software or project that just needs to run a certain way. For sure, Linux isn't always perfect for that.
Which is fine, mind you, just pointing out that most people that are NOT in tech would find Linux very usable, if not more usable than Windows.
One multi-million-unit-selling handheld gaming system later and I don't see those arguments much anymore.
If your memory is about [1], which is the first main topic on Proton, the criticism seems quite muted (and otherwise downvoted).
сука блять
all I know is that I have the operation payback challenge coin, but no real memory of those maps. i do wish they'd bring back some of the operation maps... (santorini anyone?)
The game has changed a lot. The original version of CSGO wasn't even made by Valve Software. But every map in the Active pool is either a totally new map, or is an old one that's been re-built from the ground up.
And I have a few skins and a bunch of cases left over from back then. They were worth $0.03 each back then. But the game has grown 500x so demand has increased while the cases actually reduce in supply over time...
Almost a year before CSGO official launch there was a showmatch for it and it looked awful. A bunch of small things were improved by the launch, but it was not good at all (look back at 2012 CS:GO footage and you'll be shocked). Sound was inaccurate and inconsistent, molotovs and smokes were glitchy, wallbangs didn't work in a sane manner ... it was pretty atrocious. That said, 1.6 was basically ancient and Valve (who didn't develop the game) pushed for CS:GO to be used in competitions, so it was used. Over time it was increasingly improved and there was an influx of existing (1.6 & CS:S) pro players towards the end of 2012 and early 2013; and an explosion towards the end of 2013. CS:GO came out in August 2012, but only crossed over the 100k concurrent player mark (which is the all-time CS:Source record) in ~ December 2013.
Skin betting became rampant on CS:GO after the August 2013 Arms Deal update, with sites like CSGOLounge having absolutely huge overall parimutuel pots on basically ever game. This pushed up the popularity of the game - even a small local tournament could have 10k viewers if the game was listed on CSGOLounge [and the bigger matches had millions on the line].
Eventually, years later, CS:GO was improved to the point where it could stand alone without propping up by the skin gambling - and since then it's grown much further; but in reality both CSGO and CS:S had very similar and buggy first few years.
The impact of Steam, as the first digital distribution platform for video games, is probably magnitudes bigger again.
Valve was so far ahead of the competition, and still remains there to this day.
Which is kind of a miracle, in some alternate timeline we could have ended with EA as the patron of PC gaming.
I guess I'll have to brush up my rusty AK one taps again when the new Counter Strike comes along.
Is it daily-drivable on a laptop without any issues, and stable long term without any breakages? Not just for gaming, but for daily entertainment and productivity task of those with one distro for everything?
I tried installing it a while back and found the default installer partitioning much more janky and messed up GRUB making my system unbootable, unlike other "Just Works™" distros like Ubuntu, EndevourOS or Mint where they worked flawless on multi-boot systems.
I'm not knocking it, I can imagine it's tough for a single developer to do all that and test everything, it would just be cool to know if it's gotten some polish now and how stable it is to daily drive.
This site literally can't not be pretentious
Infamous Dropbox comment: https://news.ycombinator.com/item?id=9224
I'm not trying to shame folks from using an easy route. You read my comment extremely uncharitably.
I do think one should be careful of relying on a project with a bus factor of 1 for your OS.
Yes, people working in tech and with free time can do that, but many don't want to go down that rabbit hole anymore and fiddle with their OS to get it to where Nobara is, and would rather go for something that's already preconfigured out of the box for the best gaming experience where everything is already set and you can immediately start installing and playing games after installing the OS, similarly to Windows is. That's the whole point of these distros.
Steam also makes it very easy to switch between Proton versions. If version X doesn't work, perhaps version X-1 or X+1 does work, or even the experimental version.
* Yes, ScummVM is available for Linux but the Steam Linux distribution included an old ScummVM which wasn't able to load some libraries. Running the Windows version through an compatibility layer was easier than modifying shell files to run the latest ScummVM through flatpak.
I'm very curious how widespread this advice is. It's a little sad & ironic to me if Proton is now entrenching Windows as the only target platform. I'm hoping this wasn't blanket advice Valve is handing out but really something specific to the team.
Evangelism is useless in the face of results.
This is meaningless if you change the definition of "on Linux" to mean "on Windows".
There are more functioning games on Linux than I ever would have thought possible because of this (very difficult and certainly open source) work that’s been done by Wine, Proton, Valve and many many more. But of course, someone has to find a way to discourage all of that because it isn’t pure enough or whatever.
I’m dead serious. Grab a copy of Nautilus or GNOME Files from Ubuntu 16.04; try running it on Ubuntu 22.04. It isn’t easy. Now imagine a game.
As for “just get the libs,” that’s hilariously easier said than done. Try my example - it’s enough to make an engineer cry.
* if u dont sandbox this a bit with custom lib paths
What I am disputing is how this comes off to a game developer; 5 years from now, heck, 2 years from now when their games require library surgery to keep running... that’s just an awful experience.
That is not what a developer would consider a stable ABI. They could look into Flatpak - but look at what’s trending on Hacker News today - a rant against Flatpak.
Win32 over Proton is the winner for them; all other proposed solutions are hilariously naive and optimistic to what game development requires. No game developer is ever going to individually package, and consistently repackage, their game for 20 distributions. That’s never going to happen.
>No game developer is ever going to individually package, and consistently repackage, their game for 20 distributions. That’s never going to happen.
Nobody has suggested they should.
Nor do they. Steam Linux Runtime exists.
XLib is tiny by modern standards.
my memory might be wrong but I had issues with native linux games that had level editor based on GTK and python, could not get them to run after 3 years since launch, I do not claim it is impossible just that I could not do it with some a few hours effort.
Windows is the opposite: the only stable ABI is the dynamically linked user space ABI. So yes, it’s perfectly possible to have a stable dynamic ABI across a dynamically linked boundary.
... to the kernel. So not the opposite at all. In fact exactly the same.
This is the point of difference: the layer at which each is stable. NOT whether Linux is stable.
The two approaches are definitively not the same (as you claim), and the significant shortcomings of Linux's approach are why Win32 is becoming the ABI devs target even on Linux.
This is not true. If your target platform is a distribution then you can assume that distribution's guarantees hold true.
What you cannot do is target "GNU/Linux" broadly and assume every glibc-based system running on top of the Linux kernel has all the libraries you want to depend on.
Pick a platform and target it. That can be the kernel. That can be glibc+the kernel (hey look GNU/Linux really is useful terminology), that can be RHEL9 or it can be Debian xyz. But don't pick "Linux" then make assumptions about userspace.
Are you under some weird delusion that you are forced on Linux to develop software in one particular way?
The packages pulled in by steam define a bunch of vulkan providers which then confuses steam. Many games won't even launch and you have to manually kill off a bunch of steam worker processes to even successfully shutdown and restart steam. You can't uninstall the package due to dependencies, so instead have to manually move/rename some files under /usr/share/vulkan/icd.d/ to only leave the one for NVIDIA.
Then, games launch but have very inconsistent performance. I don't know if this is because Optimus is competing with the game for PCIe bandwidth, or something else still going awry with the driver stack.
Very. Win32 ABI is the most stable and rock solid compared to the messy moving target of the Linux world, so recommending it is not entrenching Windows, just very good advice to save time and resources to target a platform that's alredy known and stable, and since the target is fixed and well known, it makes it also very easy to emulate on their end for Linux.
As much as FOSS-Linux evangelists hate it, Win32 emulated on Linux is better for everyone, than tryin to port games natively on Linux, and makes the most business sense of you want the same games on Linux.
I'm not the smartest tool in the shed, but I was not trying to be snarky and undermine your superiority or downplay your question, I was just saying it doesn't matter as the end goal is to get Windows games playable on Linux, and for that Proton emulation is the way that makes sense financially and practically for both developers and gamers, so no need to dive into the codebases and compare them, just to prove a point that's moot from the get-go.
The Win32/low-level Windows programmers I know still just refer to it as "Win32", though.
Blatant lie bordering on disinformation.
The only reason it is a "stable ABI" is that every dev of every windows program bundles every library with their program. You could do the same thing on Linux and the stability "story" would be exactly the same, or in fact even better on Linux because Win32 isnt actually stable and the Linux system call ABI is.
What does "no they don't" mean? People absolutely do bundle all their dependencies on Windows that aren't part of the stable platform guaranteed to be around forever.
On Linux the part of the stable platform guaranteed to be around forever the system call ABI.
If you bundle DLLs with your program then you have a stable ABI automatically, because it's constant: something you bundle will never change its ABI, because it won't change in any way, because it's bundled. It's constant. Windows developers bundle all their dependencies with their programs. The result is that they don't have issues with their programs not working because the libraries they depend on have changed since they released the program. They might as well be statically linked.
There is nothing Windows-specific about doing this. You can statically link libraries on Linux and you can dynamically link to libraries that you bundle with your program. There's nothing stopping you from doing exactly the same thing that people do on Windows, and it will be just as stable.
The difference between the platforms is that Windows people do this and Linux people don't, I think mostly because they don't properly understand what a platform is in the Linux world. "Linux" as a platform is the kernel, and nothing else. You can't rely on any userspace libraries existing, not even libc. Or you could target glibc+Linux. That's a different platform, where you can assume that libpthread.so, libm.so, libdl.so and libc.so all exist, and some others. But you can't assume GTK+ will exist. Or you can target a particular distribution at a particular version. Then you are reliant on the particular distribution's stability guarantees. You can't expect it to run elsewhere, but you get access to a much wider array of libraries that you can expect to exist (by making non-base libraries dependencies of your RPM).
In all cases, ABI stability (the ability to update dependencies without rebuilding) is a property of the platform you target. To rely on a stable ABI, everything you target needs to provide that ABI stability. If you target a distribution like RedHat Enterprise Linux, then you get 10 years of ABI stability guaranteed. If you target Arch Linux, you don't: as far I understand, every package that depends on a library is expected to be rebuilt when the library is updated, if necessary. If you target Linux itself, or glibc + Linux, then you get ABI stability forever, and they go to extremes to give you that. But in turn you need to bundle any dependencies yourself, by whatever means you like. That doesn't mean you can't update those bundled dependencies when you update the program, of course.
In the gaming world where steam installs apps itself and you need the Windows version for commercial viability anyways, it does make sense to push them to win32.
Outside of gaming though, I don't really see this being the case. You random desktop apps are better off with flatpak and distros like Fedora are already moving everything that direction. Flathub also has the benefit of allowing devs to push to one repo and support multiple distros (again, like Steam).
It's all Linux containers/namespaces after all.
That's bullshit, for game developers there shouldn't be any "messy moving target" outside of the Steam Linux Runtime[1], which is pretty much rock solid.
[1] https://gitlab.steamos.cloud/steamrt/steamrt/-/blob/steamrt/...
I tried Overwatch 2 with Proton and performance was abysmal. My computer seemed to be melting and FPS was jumping all over the place.
It does 144fps on Windows 11 without sweating (same PC).
In my experience, I had no problem playing Overwatch 1 at 144fps through Proton on my 1050ti.
But I think of the steam deck which is basically a Linux PC. Its lowerer spec, low power, but it seems to run pretty well without terrible battery life.
I still prefer they go with the proton approach though.
As such, this is a mixed bag. Actual users that cut support issues from random machines will be worth trying to engage with. General cries that you should support it with no payment in play should likely be ignored, though.
https://github.com/GloriousEggroll/wine-ge-custom
Personally, I've been using Windows fully offline with GOG games, although I'd like to some day try putting together a Linux based offline game console (or maybe NetBSD based if Wine is sufficient).
Today, Ubuntu sorts the drivers and steam setup just lovely. I've gifted out old workstations to extended family and they are pretty happy with what they can do from a gaming/browsing perspective. With Windows 11 not able to support these boxes, having something 'just work' gives these older boxes an extended life. Most have not needed to pick up a Windows license. Very much at that 'good enough' state.
I only play multi-player games, and when I search ProtonDB none of the games I play say they are supported.
Call of Duty, Battlefield 2042, Rainbow 6 Seige, PUGB, Destiny 2
I tried it a few years ago to play some not-uncommon game and it was absolutely terrible, regardless of the hardware power available.
Steam makes most of the configuration seamless, though.
And that's a more general comment than just this.
Honestly I think a lot of newbie gripes about "Linux" are just gripes about Gnome, sometimes quite justified ones.