Ok, hear me out. Linux is not an easy platform to develop for because it's in constant flux where systems and libraries come, change and go constantly. Linux itself is a somewhat slippery concept (if we expand from the kernel) where "works on linux" can really mean it's been tested on one particular distro. Debian stable and rolling releases are not the same. Unless I am completely mistaken, I can see why major developers are hesitant to support linux, whatever it even is. Is Android linux?
Now, I'm all for this message. Given how OSs have been developing, I advocate for linux adoption and wish people would "vote with their wallet". Otherwise things just will not change. Well, not for better, if recent history is anything to go by. I just feel that this problem has more prongs than we like to admit, being linux enthusiasts.
Please correct me if I'm wrong.
Not really the case anymore because of proton, game devs develop for Windows and proton and then it'll run on anything that can run proton, Linux, android, Mac or otherwise in the future
From what I hear thanks to proton it's incredibly easy to develop for Linux, as long as you don't use one of the anticheats that doesn't support it or intentionally prevent it from running in proton you're fine
Well, yeah, but I think the issue is that the best way to develop for linux is to make a Windows binary. I don't like that. Developers actively sabotaging Wine/Proton compatibility is kind of malicious though.
I don't think the best way to develop for Linux is by making a windows binary, I think the best way for game developers to make a Linux version of a game they otherwise wouldn't is by making a windows binary compatible with proton
Problem is very few developers actively choose to make a Linux game and windows games if done right run at native speeds on Linux anyway.
I'm gonna be unpopular for saying this but it's the same thing as using HTML for desktop/mobile apps, sure it's not optimal performance wise but it's a hell of a lot better than often nothing at all because companies can't or won't justify development time to support smaller groups of people on smaller platforms
If such a time comes that desktop Linux has a large enough market share for large companies to take seriously then I'm sure they'll start developing native versions of maybe even make Linux-first games but sadly we're nowhere near that point yet so best we can hope for is good cross compatibility tools
As a big Linux fan, it makes me said that Wine needs to exist. But, maybe it's not such a bad thing. Linux is just a kernel, with no associated libraries for app developers. App devs don't want to manually write system calls, so it's always been the case thar they lick and choose which set of libraries to target for their Linux apps. A popular low level choice is the GNU standard C library, and a popular high level choice is the GTK/GDK/Gnome stack. But these aren't the only choices. I mean you can use the MUSL standard C library if you want. You can choose between OpenGL, Vulkan, and WGPU for graphics already.
I see Wine and Proton as just being another set of standard apis to target. Maybe they don't have the best design, but is traditional Unix really the best design either? Now the Valve and company are supporting Wine, it's one of the Linux targets with the most actual developers. And of course it has a huge advantage over the glibc + Vulkan stuff: it retains binary compatibility forever.
Yes, Wine and Proton are great and they do actually solve a lot of issues with linux gaming. I don't exactly begrudge anyone for choosing to go that route because linux is complicated. But I do wish we'd talk more about native linux gaming and didn't always default to Proton. Valve has done wonders for gaming on linux, but I am not fan of Steam and their DRM policies.
I really appreciate programs like Bottles these days. Back in 2006 or so I beat Deus Ex on Wine and setting it up was a hassle. Today I'm amazed it was even possible back then.
I totally agree. The real problem for Linux gaming tho is that games are almost always distributed as compuled binaries, but Linux is built around open source. It you had a model where you paid for the source code of a game, and then it got compiled for your machine right when you downloaded, Linux gaming would probably work great. You'd have better fps too. (I actually really like this idea, somebody like GOG should make a client that does this).
I think the issue is that the best way to develop for linux is to make a Windows binary
If it works, it works. Stop those bureaucratic inquisitions like "Stack Overflow says it's not best practice" "Code review is not optional" "It's gonna crash production" yada yada
You could bundle your specific versions of libraries. And link it statically. Like most games do anyways.
Pretty sure that's not just a Linux thing either.
I'd think so, too. But afaik windows people don't do so much dynamic linking anyways. Most of the times it's Linux executables that are few megabytes in size and most windows executables are at least tens of megabytes because people prefer statically link things in that world.
Nobody stops you doing the same thing with linux executables.
But why? What libraries are causing problems? Zlib? SDL? Actually SDL better kept dynamically linked because SDL sometimes adds support for new interfaces(wayland, egl).
No libraries are causing problems.
Linux game devs should be targeting the Steam Linux Runtime which provides a stable environment.
it's in constant flux where systems and libraries come, change and go constantly.
Same applies to every non-deprecated OS.
I had some issues running the native version of Prey 2006 because of that
Ok, hear me out. Linux is not an easy platform to develop for because it's in constant flux where systems and libraries come, change and go constantly. Linux itself is a somewhat slippery concept (if we expand from the kernel) where "works on linux" can really mean it's been tested on one particular distro. Debian stable and rolling releases are not the same. Unless I am completely mistaken, I can see why major developers are hesitant to support linux, whatever it even is. Is Android linux?
Now, I'm all for this message. Given how OSs have been developing, I advocate for linux adoption and wish people would "vote with their wallet". Otherwise things just will not change. Well, not for better, if recent history is anything to go by. I just feel that this problem has more prongs than we like to admit, being linux enthusiasts.
Please correct me if I'm wrong.
Not really the case anymore because of proton, game devs develop for Windows and proton and then it'll run on anything that can run proton, Linux, android, Mac or otherwise in the future
From what I hear thanks to proton it's incredibly easy to develop for Linux, as long as you don't use one of the anticheats that doesn't support it or intentionally prevent it from running in proton you're fine
Well, yeah, but I think the issue is that the best way to develop for linux is to make a Windows binary. I don't like that. Developers actively sabotaging Wine/Proton compatibility is kind of malicious though.
I don't think the best way to develop for Linux is by making a windows binary, I think the best way for game developers to make a Linux version of a game they otherwise wouldn't is by making a windows binary compatible with proton
Problem is very few developers actively choose to make a Linux game and windows games if done right run at native speeds on Linux anyway.
I'm gonna be unpopular for saying this but it's the same thing as using HTML for desktop/mobile apps, sure it's not optimal performance wise but it's a hell of a lot better than often nothing at all because companies can't or won't justify development time to support smaller groups of people on smaller platforms
If such a time comes that desktop Linux has a large enough market share for large companies to take seriously then I'm sure they'll start developing native versions of maybe even make Linux-first games but sadly we're nowhere near that point yet so best we can hope for is good cross compatibility tools
As a big Linux fan, it makes me said that Wine needs to exist. But, maybe it's not such a bad thing. Linux is just a kernel, with no associated libraries for app developers. App devs don't want to manually write system calls, so it's always been the case thar they lick and choose which set of libraries to target for their Linux apps. A popular low level choice is the GNU standard C library, and a popular high level choice is the GTK/GDK/Gnome stack. But these aren't the only choices. I mean you can use the MUSL standard C library if you want. You can choose between OpenGL, Vulkan, and WGPU for graphics already.
I see Wine and Proton as just being another set of standard apis to target. Maybe they don't have the best design, but is traditional Unix really the best design either? Now the Valve and company are supporting Wine, it's one of the Linux targets with the most actual developers. And of course it has a huge advantage over the glibc + Vulkan stuff: it retains binary compatibility forever.
Yes, Wine and Proton are great and they do actually solve a lot of issues with linux gaming. I don't exactly begrudge anyone for choosing to go that route because linux is complicated. But I do wish we'd talk more about native linux gaming and didn't always default to Proton. Valve has done wonders for gaming on linux, but I am not fan of Steam and their DRM policies.
I really appreciate programs like Bottles these days. Back in 2006 or so I beat Deus Ex on Wine and setting it up was a hassle. Today I'm amazed it was even possible back then.
I totally agree. The real problem for Linux gaming tho is that games are almost always distributed as compuled binaries, but Linux is built around open source. It you had a model where you paid for the source code of a game, and then it got compiled for your machine right when you downloaded, Linux gaming would probably work great. You'd have better fps too. (I actually really like this idea, somebody like GOG should make a client that does this).
If it works, it works. Stop those bureaucratic inquisitions like "Stack Overflow says it's not best practice" "Code review is not optional" "It's gonna crash production" yada yada
You could bundle your specific versions of libraries. And link it statically. Like most games do anyways.
Pretty sure that's not just a Linux thing either.
I'd think so, too. But afaik windows people don't do so much dynamic linking anyways. Most of the times it's Linux executables that are few megabytes in size and most windows executables are at least tens of megabytes because people prefer statically link things in that world.
Nobody stops you doing the same thing with linux executables.
But why? What libraries are causing problems? Zlib? SDL? Actually SDL better kept dynamically linked because SDL sometimes adds support for new interfaces(wayland, egl).
No libraries are causing problems.
Linux game devs should be targeting the Steam Linux Runtime which provides a stable environment.
Same applies to every non-deprecated OS.
I had some issues running the native version of Prey 2006 because of that
Valve should release their distro tbh