Hey there!
I’m a solo dev working on a sci-fi grand strategy game (I didn’t manage to find if self-promo is allowed so I’ll keep the name for myself).
I was updating my planning and started to think: since my game will be published on Steam, it will be playable on Linux using Compatibility Mode even if I don’t specifically target Linux itself. I myself play on an Ubuntu and this allows me to play almost every Windows game (old ones are more capricious, but recent ones are ok).
So I’m wondering, is there really an advantage to have native Linux support nowadays? As a solo dev, the thing I lack the most is time. The days/weeks/months it would take me to add it and fix all the probable bugs it entails could be used to improve the game itself or add features instead for example.
On a more general note, what do you other Linux players expect from a Linux game?
is there really an advantage to have native Linux support nowadays?
Yes, performance and consistency.
As a dev, you honestly are asking the wrong question. You shouldn’t pride yourself on the corners you’re cutting; you should be using them as an opportunity to expand your knowledge and skillset.
You’re adding to the pile of developer trash every time you rely on abstraction layers to do your job for you. You’re reinforcing an atmosphere where windows developers can get locked-in as much as they want, and it’s up to the Linux community to pick up their (your) slack.
In all honesty, I don’t have high hopes for your game and you really should consider what I’m saying before you release more trash into the world.
I really appreciate when a dev puts the extra effort in to make a Linux port, but I can understand when a solo dev such as you doesn’t have much time to spend on porting. To be honest, I’m just happy if the developers at the very least test the game on Linux using Proton and WINE to make sure it’s working well and correctly. That way if making a native port really is that much of a hassle, I expect them to at least test it on Linux. I think that most large teams should make a (good) native port, though.
I’m using Ubuntu myself to develop actually so I’m kind of doing that all the time. The problem is, my machine isn’t everyone’s machine, my drivers aren’t anyone’s drivers, and so on.
In the end I think that I’ll try to give Linux builds to testers to see if they report a lot of bugs or not and decide at that moment if it’s too much work or not.
Sounds like a good strategy. I don’t know all the details, but from the way I understand it, your Linux build would be run by Steam in a Linux container, Steam Runtime. So build and test against that if you can. If I have it right, maybe the Steam Runtime container will give you more confidence if you are able to go with a Linux build.
edit: If you sell your game through Steam.
I cannot go into that site because they don’t comply with the gdpr right to not allow any legitimate interest cookies with one button, hoping I will click agree instead of going through hundreds of vendors and disabling these illegal trackers
Honestly, I wouldn’t bother.
Linux is a small market and people who buy exclusively native linux games is even smaller. If your game works fine with Proton that’s great.
You’re a solo dev and should pick your battles. I would focus on getting steam deck verified instead, if possible.
I would focus on getting steam deck verified instead, if possible.
One billion times this. That’s a checkmark that increases your marketshare by a lot. Desktop Linux users (not all, but some) look to that as a good indicator on whether it’ll run for them because it’s even harder to make it run well on the steam deck. Kind of a “two birds one stone” thing
I was going to do it anyway, but your answers gave me even more confidence in how important it is! Thank you :)
If you yourself use/are familiar with Linux and willing to actually test and polish your Linux version to the same standard as your Windows version, then a native Linux version is always appreciated.
However these days, it’s probably not necessary and a lazy afterthought Linux version is like a bad console port, and because we DO have the option to run the Windows version, it’s probably worse than no Linux version at all.
So it really depends on your personal feelings towards Linux, and nobody’s going to judge you for not providing a native version you can’t personally test and support. That’s why we have Proton.
I use Bazzite, which is literally designed for gaming (pretty much steamOS), and more often than not, the Windows version with proton works better than the native Linux runtime.
It’s not the OS, it’s the game.
Agreed. Targeting handhelds with good controller support and also no DRM (or at the least, Proton friendly) is more important to me as a consumer than a native Linux version.
Native Linux support is always preferable if the developer can handle it or has the budget to do so. However, as long as it works well via Proton, that’s the important part. I don’t follow him anymore due to several reasons but Gardiner Bryant has a video about this, it’s a pretty solid watch: https://www.youtube.com/watch?v=uScsmjvdwyo
Thank you for the link, I didn’t know the inner workings of it :)
Honestly, I prefer you go with Proton. Some of the native games I have are quite a few versions behind their windows counterparts. AND most likely it will run better anyways. Better for you, better for gamers. Win-win.
*Lin-lin
I honestly mostly shop for “SteamDeck verified”.
I only purchase native titles, because native support means support.
Ideally you should be writing your code to be as portable as possible, in an engine that offers top-notch cross-platform support.
some native titles are absolute ass and it leaves room for people to even disable wine support because you already have native (even though native sucks ass)
Example? CS2.
Recently installed Total Warhammer 3 which I didn’t notice had a native Linux client. Multiplayer didn’t work. Textures never loaded in. Loading times ass.
Switched to Proton and everything worked flawlessly.
Have seen other games where Linux native got neglected to the point where proton is just better experience lol
Many times I have enabled compatibility mode in Steam to run the Windows version, which actually works.
If I have a problem I don’t even mention I use Wine/Proton. Many games and software devs just tell you that only Windows is supported and move on.
Well, that’s what I’m doing, I’m not writing for Windows specifically, and I’m using an engine that works well with any OS. But there is a difference between making the build and supporting it, it’s an actual commitment. Like others said here it’s a bad experience to try to use a native build and have it being bad or worse than a Win build that goes through Proton.
In the end I think I’ll make builds and try to find testers for every OS, and try to estimate the viability of having a specific build using their feedback.
Wat? SteamOS is Linux…
Yes my bad haha I had trouble to find another way to write that title which wasn’t too long but would mention Steam
I think just calling it Proton would work, most people here would understand that I’d think.
I think some anticheats make a distinction.
You mean so that they can allow SteamOS users but block anyone using any other Linux distro?
I’ve never heard of that but so far any game with anti-cheat that works on the deck works on Linux
deleted by creator
Please publish to GoG as well. I want to support sites that are DRM free. Also I think it’s smart to give native Linux support to show the industry that Linux is important rather than rely on compatibility tools that may or may not work well for any given game or setup.
GoG isn’t DRM free anymore
And a game on Steam doesn’t have to have DRM if the developer doesn’t integrate the DRM feature from SteamWorks API
DRM or not this is straight from Steam, you don’t own what you “purchase”. This isn’t consumer friendly:
Steam Subscriber Agreement
- REGISTRATION AS A SUBSCRIBER; APPLICATION OF TERMS TO YOU; YOUR ACCOUNT, ACCEPTANCE OF AGREEMENTS
B. Hardware, Subscriptions; Content and Services
Valve or third-party video games and in-game content, software associated with Hardware and any virtual items you trade, sell or purchase in a Steam Subscription Marketplace are referred to in this Agreement as “Content and Services;”
- Licenses
A. General Content and Services License
“The Content and Services are licensed, not sold. Your license confers no title or ownership in the Content and Services.”
I would like to learn more about DRM on GoG if you wouldn’t mind sharing.
In the past they had the Hitman game of the year edition which had DRM baked in, but they eventually removed it after some pressure, however there is a maintained list on their forum:
https://www.gog.com/forum/general/drm_on_gog_list_of_singleplayer_games_with_drm/page1
Most of it is for cosmetic things which you may feel is not a big deal, but if you read a little deeper you’ll see there are more nefarious games on there.
I appreciate the link and heads up
I didn’t know there was such a demand for GOG. Thanks to this post, your and others’ answers, it’s on my radar now :)
Oops sorry wrong thread
I find that native clients are almost always a worse experience than running through Proton. Cursors not hiding or not appearing, inability to adjust certain graphics/display settings, and, rarely, worse performance than through Proton (including not actually managing to init).
That said, Proton has its own irritating quirks. Try turning off mouse acceleration in Skyrim on Linux for instance. Have to use protontricks to find the appid, then you have to nav to it in any of the locations that it could be found (depending on flatpak, native, etc.), and then you have to sift through the prefix to find the bloody INI that has the setting to toggle.
But as an indie dev, you should do whatever makes less work for you so you can do more with your time. If supporting native Linux will increase your workload and detract from work on the game itself, then simply don’t support it. Just make sure that your Windows builds work via Proton.
EDIT: Here’s a specific example from today. For reference, I normally play everything through Proton so I haven’t intentionally loaded a native game for like 6 months. But today I loaded up Yooka-Laylee not realizing it had a native version. Get in, alt tab to screencast on Discord aaand… the game nixed my cursor entirely. I mean, it likely just locked it to the game window, but that still means that I couldn’t interact with my PC outside the game window. So quickly downloaded the Proton version and it worked just fine after that.
Its about practicality.
Even big studios cant handle supporting a native linux version and having it run well while supporting windows versions… which usually ends up with people running the windows version via proton over the native version (Looking at you, Cities Skylines, Truck Simulator games, and more)
So I would say take the easy route and develop for windows with checks to make sure it runs okay in proton, probably a lot less headache and effort than trying to create a seperate native linux codebase.
Agreed.
I’m a big Linux guy but you have to make compromises in this universe. Proton is amazing and should be the goal for most developers.
Sigh… this is exactly the sort of developer decision people were worried about when Proton first came out, and why some Linux users were opposed to it. Obviously in retrospect the benefits of Proton have been worth it, but those folks wouldn’t be wrong to say “I told you so.”
My take on it is that if you’re not developing Xbox-first (which would imply being forced into DirectX etc.) you should pick libraries that give you cross-platform compatibility “for free” (I know it’s not that simple, but you know what I mean) to begin with. It has to be part of the plan from the beginning (and integrated into your build/test pipeline, etc.); writing the whole game for Windows first and then trying to add Linux support after the fact is a fool’s errand.
Well, I’m using Godot which can target all three big OS, though clicking on the export button and actually supporting a platform is not the same.
In the end I think I’ll try to make builds for all OSes and have testers for each platform, and estimate the viability of the builds from the amount of bugs they give me back.
In the end I think I’ll try to make builds for all OSes and have testers for each platform, and estimate the viability of the builds from the amount of bugs they give me back.
Don’t forget to consider the possibility that getting more bug reports from Linux users doesn’t necessarily mean the Linux version is more buggy, but instead that Linux users may be better at finding bugs or more willing to report them.
This is a good take… You can tell when newer (usually indie) games were built on OS-agnostic engines; you can’t really tell the difference between the Linux runtime and proton.
Otherwise, proton is often better.
Get us some Linux exclusives and we can stick it up towards Windows amirite
Haha problem is I have a kid to feed, and I fear that cutting myself from 90% of my potential player might be a bad play if I want to be able to continue feeding him