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?
Will you only publish it on steam? It would be great to have games available on other platforms like GoG too.
The initial goal was Steam but it looks like some people prefer GOG so I’ll study that possibility too :)
Nice! Looking forward to the release. I’m sure there’s a gamedev community on lemmy where you can talk about the development of the game and announce when it has been released and where!
Glad to count you aboard then :) don’t hesitate to subscribe to the newsletter (https://uncharted-sectors.com/) to be informed. It also registers you to have an access to the closed beta
I’ve found some communities on Lemmy indeed, I’ll share progress when I’ll have interesting things to show
Steam Deck and Linux desktop user here.
I wouldn’t prioritize a native Linux binary if I were you. For some of my games that have a native Linux version, I still run the Proton compatibility version instead because it runs better. Proton is insanely well-optimized and adapted to Linux desktops, your own code will have a hard time competing with that.
Just make sure to pick an engine / tech stack that works well with Proton and find one or more testers who run SteamOS or another Linux distribution.
As a personal anecdote, recently I installed a co-op videogame on my Linux Steam machine and I couldn’t get past the main menu, I wasted quite a bit of my own and my friend’s time before realizing it was a bug in the Linux build. After reinstalling the Windows version through Proton everything worked flawlessly.
Please don’t publish a Linux build unless you plan to test and maintain it.
Yes I had a similar experience with Paradox Games, where the native build delivers very poor performance over the Proton-run version. It seems to be the consensus. If I don’t receive other real counterpoints I’ll follow your advice.
I never noticed that, I put in probably 2k hours in Eu4’s native Linux version, guess I should change over to proton lol
I see this with things on Itch.io a lot. I think there’s some engine that has an option to export a Linux distribution of the game, so they ship that without testing.
Half of the games with a native build I’ve tried didn’t even launch. With Proton they all work perfectly.
Yeah I agree, it’s honestly impressive how well it works. As soon as I have the possibility I’ll take a Steam Deck and try to make my game compatible with it, I’m sure if I manage to make it work on it that should eliminate 90% of Proton compatibility-related bugs if I don’t make a native build.
I’m still seeking for answers from people for whom it doesn’t work well or who have bad experiences with it, because I’m sure there are cases where it doesn’t work
I had some bad experiences with wine/proton, especially on older hardware. There are sometimes weird bugs that are very hard to reproduce. For example: I couldnt play starfield for about a year because most textures were missing. No idea what was causing it. After a year it suddenly worked. Generally if you check Protondb for any game you will find that a few people have crazy bugs, even if everyone else says that it runs perfectly. I think I dont have a single game in my library that has a “Platinum” compatibility rating.
I think it boils down to how would you prefer to support linux players: By fixing bugs in your port, or chasing after bugs in wine/proton. The negatives of native ports that other people have raised are because many (larger) developers make the initial linux port, and then forget about it. Civilisation 6 for example has a good linux port. Yay! But they stopped updating it years ago. Many bugs were never fixed, and linux players dont even have access to the newest dlc! Compare it to running Civ 5 in wine. Things mostly work, exept mod support. Most mods just dont work. Who knows why.
I think native ports may have become easier nowadays too, because of the steam runtime. Steam can run linux games in their flatpak-like runtime, so ideally you only have to support that.
If you are planning on open sourcing your game (maybe some time after the commercial release) then a linux port would be very appeciated for packaging reasons. Other than that, your preference.
Native is always better, but Proton (what’s used by steam OS to run windows games) has worked for me for every title I’ve tried (even some small indie titles)… Sometimes graphics settings can be inconsistent, but I’d say it’s a pretty safe bet if you’re using an established engine it will just work with Proton
That is my experience too, I guess some Linux builds are just poorly optimized in comparison to the Windows ones.
Valve’s engineers did a wonderful job with Proton honestly
I prefer a working Proton build over a untested broken native build. If you can’t afford the time to test the Linux builds, go ahead and just rely on Proton.
Testing on Steam Deck so it can be verified probably does make sense from a marketing standpoint though. Mostly checking that controls work, graphic settings are not too demanding by default and font scaling works properly.
I think it’s what I’ll do indeed. And for the Steam Deck I intend to make the game fully compatible with it as I’ve read a lot of time how it enabled people with otherwise few opportunities to play to get a bit of “me time”. Being a dad I empathize a lot with that struggle haha
Should Vale release a general Steam OS and folk move away from Windows en masse it’s probably going to be worth it. Proton does a great job but a tested and supported Linux build will be better. Some solos do it, but I think it is more based in ideology rather than necessity.
Your time and effort as a solo is going to be limited though, testing and supporting a Linux build is going to be work, and if you want to keep things closed source you are not going to be able to leverage the community in the way open software does.
There might be steps you can take to be more compatible with Proton and/or Steam Deck, which probably would be a good idea, and give you much more effect for your time spend.
I’ve heard that Steam provides some guidelines to get your games to work well with Proton. I’m not able to find them but maybe they’re behind a developer portal or something. If it works with Proton there’s no reason to aim for a native Linux binary since your time will be better spent elsewhere.
Yes that seems to be the consensus in the end. Thanks for your answer :)
For the docs I’ve found this for Proton common issues: https://partner.steamgames.com/doc/steamdeck/proton?l=english And this for Steam Deck compatibility: https://partner.steamgames.com/doc/steamdeck/recommendations I’m sure there are other resources, but if someone finds the thread later and needs a starting point, here they are
Thank you for sharing your findings, those are interesting reads. Good luck with the development. I signed up for theailing list out of curiosity.
I personally am fine with Proton, the native Linux build usually doesn’t work as well as the Windows one because devs don’t usually care because of smaller market share (or don’t have the time as is often the case with indie studios).
What’s the name of the game? I’ll add it to my wishlist if it sounds like something I’d enjoy.
Also, if I may ask, do a GOG release, I do 90% of my gaming there.
Proton it will probably be then :) The game is Uncharted Sectors, I don’t have a Steam page public yet, but you can subscribe to the mailing list if you are interested (https://uncharted-sectors.com/)
I’m not that familiar with GOG, I’ll take a look at it. Does it have a similar Linux compatibility layer? Because if not I do need to make a native build then
Proton is usable even without Steam, you simply publish the Windows version only and people will figure it out. If you make sure it works with the Steam Compatibility layer (Proton), it’s easy to run anywhere on Linux.
For GOG the easiest would be Heroic Games Launcher which also uses Proton.
Noted, thank you :)
Linux native games are great as long as the engine is open source. If it’s closed source, it will eventually stop running on up-to-date distros some time after the developer stops updating it. For closed source games, it would be better to develop for excellent wine/proton compatibility so the game will continue to be playable long after it stops getting updates.
Good point indeed. Thanks :)
Closed-source games should be packaged including their dependencies (e.g. like an AppImage or whatever) rather than relying on OS-provided shared libraries.
Nowadays I view Windows as a gaming layer that has been bolted on the great Borg mothership that is Linux in the form of Wine or Proton in route to the goal of Total World Domination.
A bit like Embrace, Extend, Extinguish but in reverse, if you will. So it’s fine.
Id love a native Linux binary, but if you aren’t going to maintain it long term after release so something like a glibc update doesn’t break it then proton compatibility is probably better. What tends to happen with native games is they get released and sit basically unsupported until they just stop working.
deleted by creator
Speaking purely for myself: native clients are ALWAYS preferred and appreciated… however as an indie, I would totally understand not wanting to commit to building one.
As a middle ground you could just accept bug reports from Linux users and do what you can to fix those issues. Aim for a platinum rating on Proton DB
eta: Also, yes, as others have pointed out, this assumes the native client is maintained
I think the only big benefits that come from having a native Linux port is performance, and compatability (in case running through wine / proton didn’t work.) Other than that I can’t think of anything else.
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.
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.