I sure am playing a lot of space pew pew over the last months. Took a lot of screenshots too and it’s kinda hard not to drown my timeline with screenshots every day. Today I sifted through the pile and found a bunch I’d like to share (some again) so here is a little gallery of (mostly) space simulation games I play on my Linux PC. And I’ll keep making that point until I can browse the web without getting daily reminders by random strangers claiming that gaming on Linux PC is not possible. Cuz it is.

This I play mostly under Proton with the Primary Buffer Panel whenever possible. It’s just the most fun this way (kids love it too).

The more recent X series have native Linux builds but work also perfectly fine with Wine.

Both run via Lutris and with Proton-GE and usually with my DIY Headtracker.

FlightGear runs native on Linux and Fly Dangerous does have a native Linux build but due to an issue with terrain generation being single threaded I use Proton for this one too until this is solved. No Man’s Sky runs perfectly with Proton.

I play all of the above with my X52 Pro H.O.T.A.S. and some with my DIY headtracker stretched over three displays in a so called multihead setup. Let me know if you’ve any questions how this can be set up.

Racing in space sims is a thing and usually done by a small and sometimes hidden community within games like Elite Dangerous or Star Citizen. What happens when this is not enough for players, or when they simply don’t want to waste time grinding the required resources in-game, is demonstrated by @jayleefaulkner at https://github.com/jukibom/FlyDangerous

I was delighted to find Linux PC binaries over at https://jukibom.itch.io/fly-dangerous as well – and this is a very early alpha even. Guess someone pestered the dev about Linux already and I so had to give this a spin, of course.

Unpacking the FlyDangerous-0.2.2b-linux.zip was a no brainer and the game itself started just fine. I do have however a very specific triple head display setup and the game started on the wrong display in fullscreen mode and could not be persuaded to go into windowed mode so I could reach the buttons to change the display resolution via hotkey or tweak the config at ~/.config/unity3d/StarGoat/FlyDangerous/prefs. It insisted of staying on defaults so once more wmctrl to my aid:

wmctrl -x -r FlyDangerous -b remove,fullscreen
wmctrl -x -r FlyDangerous -e 0,0,0,5760,1200

Yes… this will do!

Fly Dangerous in all it’s glory over multiple screens

After this was sorted out I noticed that Unity detected “some” joystick with only an X and an Y axes. This doesn’t do my X52 Professional H.O.T.A.S justice. Usually I’d use the controller mapping in Steam now but this isn’t a Steam game and while it can be added as a foreign game to Steam I can not set any controller configs for it there so I started looking around.

Apparently (modern) Unity uses SDL2 and the modern evdev input system to detect joysticks on Linux PC and this can be indirectly configured / overridden using the environment variable SDL_GAMECONTROLLERCONFIG to provide additional input configurations like the ones listed in https://github.com/libsdl-org/SDL/blob/main/src/joystick/SDL_gamecontrollerdb.h (that somehow does not know of the X52 H.O.T.A.S?). Luckily there are various tools to create a mapping for this – for example Gamepad Tool at https://generalarcade.com/gamepadtool/ – which sure looks familiar enough from the re-mapping I’m used to by… Steam! AntiMicroX should also work for this but I didn’t try.

Gamepad Tool with my configured X52 Pro for Fly Dangerous

And since I’m on Linux and totally lazy I threw all this in the script file flydangerous.sh to start the game:

SDL_GAMECONTROLLERCONFIG="03000000a30600006207000011010000,Logitech X52 Professional H.O.T.A.S.,a:b30,b:b3,x:b4,y:b1,back:b33,guide:b31,start:b32,leftstick:b9,rightstick:b11,leftshoulder:b26,rightshoulder:b24,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a5,lefty:a2,rightx:a0,righty:a1,lefttrigger:b23,righttrigger:b25,platform:Linux," ./flydangerous.x86_64 &
sleep 2
wmctrl -x -r FlyDangerous -b remove,fullscreen
wmctrl -x -r FlyDangerous -e 0,0,0,5760,1200

What to say – Fly Dangerous sure hits a nerve here and I wonder what more is to come.

At least gaming itself is easy as pie on Linux in 2021. Very very very early indie and alpha version games? Not so much 😉