Hacker News new | ask | show | jobs
by johnnyanmac 1007 days ago
>then advances Linux gaming further than anyone has done in 30 years.

I guess if people count "throwing a Windows runtime environment into Linux" as "Linux gaming", then so be it. It's not the direction I'd hope for Linux to go but I'm not surprised that our continued reliance on proprietary technology seeps even into Linux itself.

7 comments

I take the same game runtime (open source, so the argument about being proprietary is not the main argument) and compare the Linux and Windows versions:

Descent D2X-XL.

Linux version: can't install the binaries in my distro, they are not in the repository of packages. Can't compile it as the dependencies are obsolete. I would need to run a 15 years old distro just to test it. It is probable the distro doesn't support current hardware.

Windows version: It just runs on Wine. No problem at all. Runs better than on Windows. Win32 is the only truly backwards compatible API on Linux.

I would say this is a completely self-inflicted issue in Linux world. We rely on proprietary technology because the open desktop and libraries and GPU drivers disregarded backwards compatibility, while Win32 worked hard to preserve it.

>We rely on proprietary technology because the open desktop and libraries and GPU drivers disregarded backwards compatibility

Interesting angle to take it. Maybe the desktop and libraries have some core compatibility issues to resolve, but GPU drivers are ultimately working off what GPU manufacturers give to them. And it's unfortunate because

1. the GPU is a very important aspect, but also one closed down by nature.

2. Unlike the CPU (which is also closed down, and can have its own issues), GPU software especially sucks, even on Windows. You ever see updates like "fix issue with Overwatch"? Yeah, it is easier for Blizzard to call up Nvidia and fix their drivers specifically for their game than to fix whatever core issue made Blizzard struggle

And as such it's no coincidence that many of the portability issues that come up with Linux happen to be related to shader issues. I'm being a bit unfair here given that I just established that the GPU is more important for games (so of course you'll uncover more and nastier bugs), but it's some food for thought on a major chip that may spread into software not choosing to support Linux.

----

Getting of my tangent:

> I would say this is a completely self-inflicted issue in Linux world.

To some extent, yes. But it is mostly an issue of support, and Windows has better support when similar issues arise. Ideally, a developer shouldn't need to rely on an outdated dependency that requires 15yo hardware and should be able to deploy to most major pacmans (a whole other rant, but I've talked enough). I'd say those challenges are hard to resolve, but not as hard as the effort of ensuring an entire proprietary runtime works on a different OS.

> Win32 is the only truly backwards compatible API on Linux.

for now, sure.

Microsoft doesn't have any control over wine. It's a way of *breaking* microsoft's control, not extending it.

The games that need a windows ABI will never need a newer windows ABI without rolling out an update, and steam controls the updates. It doesn't matter what microsoft does with windows in the future, those games will continue to work.

Now all the games that work with wine are portable to any OS you want until the end of time.

>The games that need a windows ABI will never need a newer windows ABI without rolling out an update

(un?)fortunately, games have long update tails now. Just ask Android/IOS how those older games work. The popular stuff makes money and will continue support, but abandonware is inevtiable.

> It doesn't matter what microsoft does with windows in the future, those games will continue to work.

Sure, but I'm worried about future games, not current. I'm sure you can play the current 20 years of back catalog for the rest of your life if need be, but many people will be moving on to the new shiny thing.

>Now all the games that work with wine are portable to any OS you want until the end of time.

ehh, give it maybe 20-30 years. "Forever" in software is never that. You still need people who care about Wine, older games, and backwards compatibility. And have the skills and time/energy to keep that maintained.

This isn't even a critique on Windows/Linux. Just accepting that at some point, for technological advance, we will need hard breaks, and people may not always care about getting over those breaks. We haven't had a hard break in Windows for decades, but we are on the cusp of various technologies and different product models, interesting and greedy alike.

I don't expect my copy of Skyrim to work on whatever is the new hardware in 30 years. I'll probably just buy Skyrim Quantum Cloud 2040 or whatever.

answer to points 1-3: Valve controls the update process, linux has a stable ABI, and wine has had no problem adapting to library changes in general. They ship their own windows DLLs.

As for hardware changes? There really isn't going to be anything you can do there on windows or linux.

I used to weigh into arguments with positions like this, or that "Game Devs should just make Linux/Mac builds of their games" before I got into the industry. Targeting a platform, even when you have an off-the-shelf engine that does the lions share of the work for you, is not easy work. Microsoft puts in zounds of dev time to make the wild west of hardware that is the PC landscape work, and in many ways, has to hold hardware manufacturer's feet to the fire in order to make that possible. Sony, Microsoft for XBOX, and Nintendo, all have much more significantly simplified architectures to support, and put in zounds of hours of work to make that work smoothly for their respective platforms.

The amount of effort to make a comparable API that game devs could target as a platform just... doesn't exist in the F/OSS world. I'm not trying to minimize the work that folks like the SDL team do in order to make this as possible as they can, as they do spend significant efforts to try and do this. It's also not like there aren't reasonably good F/OSS engines like O3DE, based on the Lumberyard source, which was in turn forked from a version of Crytek, which would keep this kind of support close at heart. For the largest titles however, the ones with the highest likelihood of creating a striking experience for gamers, they are already facing incredibly difficult challenges in pulling off exactly what they're trying to pull off today. Their focus is on making a great game, for whatever benchmark they've set that defines it as great.

It feels pretty rock-meet-hard-place to expect an ecosystem like Linux, one that embraces diversity as hard as it does to provide the level of stability and commonality that a large scale game project needs. Altruistically, yes, I wish there was a fantastic community supported platform target that game developers could use that provide the same level of stability and commonality that DirectX does. The adages about the chicken-and-egg problem of "nobody plays games on Linux, so no one is really interested in making a solid development target for games on Linux" is a self-fulfilling prophecy. At the very least, if folks like Valve working with CodeWeavers and the greater WINE community are making games on Linux a mainstream notion with growing support, then the likelihood of Desktop Linux getting enough community traction to make native targeting feasible becomes a real possibility.

>Game Devs should just make Linux/Mac builds of their games" before I got into the industry. Targeting a platform, even when you have an off-the-shelf engine that does the lions share of the work for you, is not easy work.

No worries, I'm no seasoned veteran with 30+ years experience and a grey beard. But I've put my time into industry and have worked for two major engine platforms at some point. I know the "should make" is fleeting platitudes and that part of it is due to how horrible the historical guts of each engine is. I just hated being powerless to fix it despite seeing the code right there. But I guess I would have lacked the talent even if I got the go ahead.

Frankly, I've accepted that cruft and hope instead of moping about the state of modern middleware that I can focus that energy in making sure something like Godot or any other up and coming engine can avoid those same pitfalls (especially with Unity announcing those "per download" pricing and online check-in today... sigh. Maybe it was a good thing I got laid off). No matter the platform, my history tells me it's less about being some technical wizard and more about simply making sure care is taken in the foundations, and rules (and as a result, debt) aren't broken for so long that you lose that care.

>For the largest titles however, the ones with the highest likelihood of creating a striking experience for gamers, they are already facing incredibly difficult challenges in pulling off exactly what they're trying to pull off today. Their focus is on making a great game, for whatever benchmark they've set that defines it as great.

And as you mention, those titles trying to deliver striking experiences simply lack the time for that care. If only because business pressure don't allow for it. I'm not trying to make sure Diablo 5 runs on Linux and is open source. But if I can make it easier for future indies to target Linux and not rely on a Windows wrapper, or get crap out of the way for the like-minded devs that already put in the work to target Linux, that's good enough for this single person's mission.

>At the very least, if folks like Valve working with CodeWeavers and the greater WINE community are making games on Linux a mainstream notion with growing support, then the likelihood of Desktop Linux getting enough community traction to make native targeting feasible becomes a real possibility.

Sure, I know I came off negative but I don't see WINE as a bad thing (I have feelings about Valve, but that's another story). I'm simply thinking a bit farther ahead on the next steps, pitfalls, and tribulations. I'm not sure if Valve is and is instead fine relying on selling Linux hardware until they can't.

If Windows pulled off its own M1 chip tomorrow and it just broke 30 years of compatibility, would Valve double down on a Steam Deck 2 w/ Linux and throw all its talent onto fixing the myriad of issues with Proton? Or would it simply relent and throw Windows on it, maybe hoping in 5+ years WINE can get something working? I feel like it's the latter and then all that market share gained will drop like a rock. I want to mitigate that if I can help it.

Unfortunately that's the only way to break the Windows monopoly on gaming.

Maybe in X years this may change, but that's just reality.

WINE is FOSS, GNU/Linux is FOSS. I don't really care how it works, just that I don't have to run Windows.
>I don't really care how it works, just that I don't have to run Windows.

you don't have to care, but pretending you're not beholden to Windows and how it decides to develop its future versions is exactly my point. Microsoft isn't making Windows 12 or maybe even Windows Cloud 2035 with WINE compatibility in mind. It's a ticking time bomb and I hope Linux gamers have a contingency plan if/when the bomb goes off.

It *doesn't matter* wtf windows does in the future. you don't have to run it, you're not beholden to it.

Once a game works on wine it will continue to work FOREVER. Steam controls the update process so there's nothing microsoft can do to break it.

Beyond that, I don't give a shit. If I can't make a new game work on my steam deck, I won't buy it, and that's clearly where valve (who still control most of the windows gaming market) are pushing things.

>Once a game works on wine it will continue to work FOREVER

Sure, once a game works. I'm thinking about the future. And unfortuantely that future is bound by Microsoft's whims. Valve doesn't control window and that's what most games target.

>If I can't make a new game work on my steam deck, I won't buy it

that's fine, 97% of the market will. Valve isn't going to be hurting by this. They won't give a shit either, just default back to the status quo.

Valve has the steamdeck, a successful product in a market all it's own that runs exclusively on linux. Want your game to run well on it? Target linux.

They would never have gotten to the point of selling thousands of linux devices without wine to make their existing catalog work.

>Valve isn't going to be hurting by this. They won't give a shit either, just default back to the status quo.

You might not know this, but the steam deck is the culmination of over 15 years of work by VALVe to become independent of microsoft. They recognize the threat of living on someone else's OS and they've been working on that threat for very a long time.

Valve tried *exactly* your plan (bribing devs to care about a non-existent market) ten years ago with the Steam Machines, and it failed miserably. Their investment into WINE and the development of the steamdeck is the result of the lessons you refuse to accept.

>They would never have gotten to the point of selling thousands of linux devices without wine to make their existing catalog work

Sure. But they never HAD to sell linux devices to begin with. I wonder how many PC's valve would had sold if they took Sony's old "Gaming on the Go" marketing and actually pulled it off.

I'm glad they didn't go that route, but food for thought.

>They recognize the threat of living on someone else's OS and they've been working on that threat for very a long time.

Yup, they have backup plans. And when the plans petered out from Microsoft (thankfully) Valve relaxed. I unfortunately still see other looming threats, but those threats aren't as catastrophic as what came before. So I understand if Valve does not care as long as they can keep their software on Windows.

>Their investment into WINE and the development of the steamdeck is the result of the lessons you refuse to accept.

My solution doesn't involve hardware so I'm not sure what you're getting at. All I'm saying is "make it not a pain to port to linux, and incentivize devs to do it" and you make it sound like I'm trying to launch my own console.

Linux runs on pretty much any and everything, so I don't care too much about taking the Nintendo route and providing exclusive blockbuster titles to pull users into my own walled garden. That boat sailed before I was born; even Valve can't do that today (despite doing that 20 years ago when they made games) and I won't pretend to pursue that venture myself.

Fortunately that is not the only way to gain market share these days, so I'll take advantage of alternative methods.

Current games that work on current Windows versions shouldn't suddenly start to become a problem. Future games would for a while have to support current/older versions of Windows, so those shouldn't become a problem for a while either.

Hopefully when/if it becomes a problem, there will be enough Linux gamers for Linux to be a real consideration, even if this consideration is no more than targetting a specific version of WINE or Proton.

>Hopefully when/if it becomes a problem, there will be enough Linux gamers for Linux to be a real consideration, even if this consideration is no more than targetting a specific version of WINE or Proton.

Hopefully. Microsoft has been really good with Backwards compatibility on both their PC and gaming console, so that's probably part of why people don't seem to worry as much about this. But if they were ever going to do their equivalent of Python 3, or even go as far as a new architecture like Apple... it sounds like rough times on Linux due to a dependency that (IMO) shouldn't have existed.

> Microsoft isn't making Windows 12 or maybe even Windows Cloud 2035 with WINE compatibility in mind.

WINE started out targeting Windows 3.x, survived MS in its most blatantly anti-competitive form, and has not merely survived but vastly improved over the ensuing 30 years. Maybe Windows compat is a time-bomb, but eventually you gotta live your life.

>Maybe Windows compat is a time-bomb, but eventually you gotta live your life.

I still need to use windows for professional work so it's not like I'd be dead in the water. But as someone who wants to strive to keep as much ownership over my software as possible, and wants to ensure users own their own software... WINE doesn't sit well with me.

Others may not care, and that's fine. But I have already made it a part of my professional career to care about little things like that.

Ticking time bomb? We're still talking about gaming right?
Microsoft is a game studio/publisher as well as an OS maintainer. So technically, yes.
It’s actually weaponizing Microsoft’s backwards compatibility promises. It’s a great idea, well executed. Treat Windows ABI as yet another Linux ABI. Stop thinking that it’s Windows, because it isn’t just Windows anymore.
What choice in the matter do they have? If devs aren't developing for Linux, what are they supposed to do?
>If devs aren't developing for Linux, what are they supposed to do?

Then you...Encourage devs to develop for Linux? Easier said than done, but I don't know what answer you're expecting, nor why we're phrasing it as if Valve had some legal obligation to use or support Linux. They are also free to do nothing and target the 97% market share. That's not a decision I would blame them for either.

They made a decision and I simply wish they made a different one. Their decision isn't bad, I simply have my own reservations about that direction and reasons to prefer my direction. But if you want my insignificant crackpot theory on how I'd leverage such a position as a market leader to support linux:

- Reduce platform share rates from 30% to say, 15% if you choose to implement native Linux support into your game and maintain parity with the Windows platform (I know that AAA games selling over X million already have reduces share rates, this may need to be under negotiation).

- Talk and work with AAA developers to properly port to Linux. This may or may not involve having some developers onhand to send out to such studios and work directly on such ports. These can be extra services Valve provides.

- Work with major 3rd party tools/engines to fix the cruft in their linux deployments. To be honest, this alone may be the biggest fix if we somehow pull it off.

- Make a not crap version of AppImage to help allievate package management issues between different distros, and bundle in a fork of that into Steam (similar to what they did with Proton). Or fix AppImage, whatever is easier.

These inevitably make less money but luckily I as this alternate Universe Gabe Newell am not beholden to shareholders forcing infinite growth. So may as well leverage that power while I have it.

Oh yes, because writing a strongly worded 5-page letter to devs to support the insignificant minority of linux users will work. That's totally how you get people with profit motives to "make different decisions."

"Talking with people" has has been a disaster for the FSF for going on 20 years. They had much more success when they DID STUFF, like say, implemented a clone of unix from scratch in the 80's.

Here's VALVe (and the WINE project) doing stuff. they've implemented a very capable clone of the windows ABI, creating a massive market for tens of thousands of games on linux out of thin air.

Do you really think devs would even give enough of a shit to talk about about linux without those 10,000 windows games that run on the steam deck?

>writing a strongly worded 5-page letter to devs to support the insignificant minority of linux users will work.

we're talking about a billion dollar platform leader, not Richard Stallman (bless his soul). the difference between the latter's net worth and Valve's is a billion dollars. don't underestimate the scale of money here.

And you are absolutely right. Talking doesn't work (at a massive scale). That's why I in this alternate universe am making it worth the dev's while. Offering incentive, talent, and tools to help out. It's pretty much what Stadia did but Valve's games wont be stuck on a cloud server.

>Do you really think devs would even give enough of a shit to talk about about linux without those 10,000 windows games that run on the steam deck

if they can get 15% of their revenue back, yes. Porting to linux is harder than it needs to be, but it's not that hard these days. Even in this alternate universe, if the plan fails I as Gabe Newell just get more money out of the devs.

Did you read my actual post or are you simply reacting to the "Encourage devs to develop for Linux" part? I don't know how I write that and someone simply responds "you're writing a strongly worded letter".

Even in a hypothetical world where you have lots of money, you don't get to boss people around. VALVe would have to pay every single developer their perceived linux development costs for every game, just to port them to linux. Plus additional money on top to make it worth considering, since with near-zero linux gamers there's no profit to be had.

It's a really stupid move to simply throw money at someone to do something which they don't have any other reason to do. They'll charge as much as you're willing to pay them and do the bare minimum the contract allows. Let's not forget that stadia was a massive failure that burned unthinkable amounts of cash to produce *absolutely nothing.*

Tools? Talent? Enablers with *zero value.* You don't need the extra tools/talent if you simply ignore linux.

WINE, by comparison, is a fixed cost that doesn't depend on the number of games it enables. It also doesn't require buy-in from *anybody* outside VALVe. With zero outside help from gamedevs VALVe now has a linux gaming device that's sold like hotcakes and comes with thousands of games.

In your world they'd be several million in the hole, have maybe a few dozen low-effort linux ports for all that cash, and the steam deck would be the same gameless failure the steam machines were ten years prior.

I read your post all right. It's just really naive.

Linux desktop users are simply not a big enough market to bother spending money on. Until THAT changes, the only good solution is making it so that developers don't need to spend any money to cross-release. Which means Proton and Wine.
>Until THAT changes

Well that's what I want to change. There was once upon a time where Android was in the same position. Considered as crappy alternative phones for people who couldn't get an iPhone. By some miracle Google didn't throw out the baby with the bathwater like they would do for 80% of their other products in the next 13 years, and now IOS has real competition.

>Linux desktop users are simply not a big enough market to bother spending money on.

And it won't change with that mentality. I don't consider WINE a solution so much as a workaround. Maybe a good workaround, but it doesn't change the "Linux Desktop users market" issue.

And I'll just pre-emptively address the constant response I get to this: It's fine if "you" (royal) don't care and simply want to a) be on Linux OS and b) play modern video games. I'm not going to shame anyone using WINE to play their games. Sometimes you need a quick fix and this is the "quickest" fix for that. It's part of my personal mission to care, though.

Realistically, there needs to be a pretty big incentive for developers to go through the arduous process of achieving Linux compatibility. That means charging Linux users more substantially more. Of course, that shrinks the pool of potential customers even more. Sure the purchasing power of the average Linux user blows the average windows user out of the water, but the willingness to actually purchase anything is dramatically lower.

Or, you can just make it so that the developer needs to do no extra work to maker their game Linux compatible. Option 2 is much, much better.