this post was submitted on 06 Sep 2023
2958 points (97.4% liked)

Linux

48090 readers
773 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 18 points 1 year ago (6 children)

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.

[–] [email protected] 26 points 1 year ago (1 children)

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

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (3 children)

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.

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

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

[–] [email protected] 6 points 1 year ago (1 children)

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.

[–] [email protected] 5 points 1 year ago (1 children)

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.

[–] [email protected] 3 points 1 year ago

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).

[–] [email protected] -3 points 1 year ago* (last edited 1 year ago)

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

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (2 children)

You could bundle your specific versions of libraries. And link it statically. Like most games do anyways.

[–] [email protected] 3 points 1 year ago (1 children)

Pretty sure that's not just a Linux thing either.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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).

[–] [email protected] 1 points 1 year ago

No libraries are causing problems.

[–] [email protected] 9 points 1 year ago

Linux game devs should be targeting the Steam Linux Runtime which provides a stable environment.

[–] [email protected] 3 points 1 year ago

it's in constant flux where systems and libraries come, change and go constantly.

Same applies to every non-deprecated OS.

[–] [email protected] 2 points 1 year ago

I had some issues running the native version of Prey 2006 because of that

[–] [email protected] 2 points 1 year ago

Valve should release their distro tbh