A few years ago, almost out of despair, I moved away from Debian in order to be able to play a few games natively.
On those days, the main concern with running games on Debian came mostly from unavailable dependencies or older, incompatible versions.
Fast forward today, returning to Debian, all installers from GOG run smoothly, with no error, but many games report errors on launching.
So, as per the title, what crazy voodoo magic is cast upon Debian to create Ubuntu, Mint and others, making those derivatives gaming-capable but their base distro not?
Can someone enlighten me on this, please?
Out of many games I tried, I managed to run three: Kingdom Rush and the Frontiers sequel and Martial Law.
Other titles failed miserably, including Desperados, Eschalon and even Stardew Valley.
Because it’s useful/required info:
system
- AMD Athlon II x2 250
- 8GB RAM
- GeForce G210
It’s a very reliable work horse, with maxed out memory. The GPU proprietary drivers are no longer available; running nouveau.
When launching from the console, I get this report (example from Stardew Valley):
start.sh: 7: Bad substitution
start.sh: 9: source: not found
start.sh: 12: get_gameinfo: not found
start.sh: 13: get_gameinfo: not found
start.sh: 14: get_gameinfo: not found
start.sh: 29: define_option: not found
start.sh: 32: standard_options: not found
From your report, what command are you using to launch Stardew Valley? It appears to be a bad shell interpretation. Are you using sh or bash? What’s the first line of the “start.sh” script? What’s your “echo $SHELL”?
I’ve been using debian testing for years for my gaming PC, for laptops and debian stable for servers. I’m very happy with it!
IIRC debian defaults to using dash for /bin/sh
, the problem could be as simple as pointing these scripts at /bin/bash
(or another bash location) instead.
I run debian as my main and really don’t encounter any issues in gaming.
Under the Steam client? I’ve read Steam solved a good deal of issues with gaming on Linux but Steam is not really my thing.
Or do you run your games natively, like I described?
A lot of my games on Steam fail to run if I switch from proprietary Nvidia drivers to open, so I wouldn’t count on that
Steam also carries a good deal of top shelf games; I run old and/or lesser known games.
All the games I mention ran under Mint but, because I enjoy making my life complicated, I moved from it to Debian. So…
The answer is: More conservative defaults.
My gaming system runs Debian Stable. (AMD GPU, Sony game controller, steam-devices and pipewire installed.)
Steam games work fine.
Flatpaks (e.g. emulators) work fine.
GOG games mostly work fine. The few problems I have encountered were fixed by either installing missing libraries or renaming out-of-date ones that shipped with the game.
You haven’t described your system or stated what errors you’re struggling with, and nobody can help you without that information, but chances are they can be fixed if you take the time to understand them.
Edit: BTW, You might want to check out Lutris, if it covers games that you play. There’s nothing magic about it, but some people find it useful as a time/effort saver.
There are three issues IMO.
Another poster mentioned more conservative defaults, which certainly doesn’t help compatibility.
There’re also issues with any non-free software that might be a dependency of the game you want to run.
And finally Debian has a focus on stability, so it takes much more time for software updates to filter their way through the debian ecosystem before they’re released.
Roll all of that together and you’ve got a system that’s anywhere up to a year or two behind the released versions of things your games need to run, and isn’t necessarily motivated to improve the situation.
Flatpak Steam and similar systems should be mostly fine, until you need a fix that’s just recently been rolled into the Linux kernel or your DE or your GPU software stack. If you want the most compatible gaming system you really want to chase current releases of everything in the kernel/library/DE/GPU driver stack and that’s just not feasible on Debian unless you’re building a ton of your own packages on top of Sid. I did that for a while and eventually just switched to Arch instead.
As others said, it looks like the issue is the startup script expects bash shell, but Debian defaults to dash as its default shell. If you’re running these scripts directly, run them like this instead:
bash path/to/script
Using that command, the error returned was different.
Running Stardew Valley
/StardewValley: line 7: sw_vers: command not found
NoFpsCap: This feature is not available
SetGameMode( ‘titleScreenGameMode (0)’ )
load preferences (); begin - languageCode=
No usable version of libssl was found
./StardewValley: line 27: 1142 Aborted ./“StardewValley” $@
I think your old problem (several years ago) was that Debian ran the launch script with dash. I think your new problem is the libssl version shipped with Debian.
Seems like Stardew Valley is built against an old version that isn’t shipped with most distros anymore. In fact, based on the forum posts, I’d be surprised if you could get it to work on Ubuntu either.
There’s a comment by ssh-mitm in this thread that might help you with getting the right libssl version without breaking your system. https://forums.stardewvalley.net/threads/no-supported-version-of-libssl-was-found-ubuntu-22-04.12155/
sw_vers: command not found
I think this is a macOS-specific command. Did you download the macOS version by mistake?
Removed the previously installed, downloaded fresh from GOG, reinstalled.
Same output.