Space Engineers

Space Engineers

28 个评价
Setting up Space Engineers in Linux (in 2025)
由 glabifrons 制作
This guide provides the necessary instructions for getting a stable Space Engineers installation running in Linux with good performance.
It differs from some of the other guides as they do not take certain variables into account.
This guide is intended to be as repeatable as possible, therefore has very specific steps.

I have updated this guide based on new information and the number of steps and complexity has been reduced!
2
5
   
奖励
收藏
已收藏
取消收藏
New as of September 29th, 2025!
After all these years of dotnet48 being the hardest thing to install via winetricks or protontricks, "foresto" (on github) has discovered exactly why it's failing and I used the information that person provided to add a fix here and eliminate the most annoying steps.

You no longer need to download two versions of GE-Proton for this to work!
You can simply download only the latest. It turns out that 9-25 was merely working around the actual bug!

See the github issue this person kindly opened for more details:
https://github.com/Winetricks/winetricks/issues/2367

Notes on your saved games and blueprints
The 244850 subdirectory is the parent directory of the Wine installation specifically for Space Engineers (244850 is the SteamID of the game). The Windows "C:" drive for SE is under 244850/pfx/drive_c/, so navigate through that structure to find anything in the locations where you'd expect it to be in Windows.

This directory is located in ~/.local/share/Steam/steamapps/compatdata/.
An alternative way to navigate there (due to the use of symbolic links) is ~/.steam/root/steamapps/compatdata/.

If yours is different, you may have installed Steam from the Ubuntu repository rather than Steam's own package. I don't know why, but they massively rearrange the directory structure (I moved away from their version years ago, so don't know if that's changed).

FYI: "~" (tilde) is Unix shorthand for your home directory, $HOME can be used in its place if you prefer.

Critical locations

Blueprints:
~/.steam/root/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Blueprints/

Saves (the number is your 64-bit Steam ID):
~/.steam/root/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Saves/86753098675309867/
Offline saves (if you ever played offline, like on a Tuesday when Steam is doing updates):
~/.steam/root/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/AppData/Roaming/SpaceEngineers/Saves/1234567891011/

If you create your own mods, I assume you already know how to find those.
Any mods that you're subscribed to will be automatically re-downloaded.



Prerequisites
You need a version of GE Proton installed, as it fixes a lot of things that Steam's Proton doesn't.
I'd recommend going with the latest, as it's constantly being improved.
Get it here: https://github.com/GloriousEggroll/proton-ge-custom/releases/

Steam makes the installation incredibly easy, and provides a directory for it: ~/.steam/root/compatibilitytools.d/

Simply navigate to that directory and extract the tarball from the github repo's releases section.

You will need to restart Steam after extracting the tarball before it will be in the Compatibility list.
Note that the GE-Proton options will be at the very bottom of the list.

Be sure you're using a recent version of winetricks. Some distros are horribly out of date.
I'm using 20250102 from here: https://github.com/Winetricks/winetricks/releases

Same with Protontricks, I installed 1.12.1 using the pipx instructions from here: https://github.com/Matoking/protontricks
Important
Use protontricks as shown, do not use winetricks, although winetricks is a prerequisite (protontricks calls winetricks).
Winetricks is not Steam-aware (it's made for Wine), so will use the OS's Wine installation.
Protontricks will set the PATH appropriately to use the Proton (Wine) installation specified by your game's config.
Protontricks also triggers the use of Steam's version of bubblewrap, which can be problematic (addressed below), but also prevents a bogus error about being out of disk space from one of the Windows installers that can happen when using winetricks alone.

I did all of the below without Wine even installed on my system. Launching winetricks without Wine installed will just produce errors. Installing Wine on the OS and using winetricks introduces a variable that cannot be accounted for in this guide.
Steps
  1. Remove or rename the 244850 subdirectory.
    Be sure to back up any saved games and/or blueprints before doing so (hence the rename suggestion).
    See the section on saves and blueprints for the exact locations.

  2. Adjust Steam's compatibility config for SE to use whatever version of GE Proton you installed in the Prerequisites section.

  3. Launch SE and wait for it to fully come up, then exit the game and wait for Steam's green Play button to reappear.

  4. Using root or sudo, create the file /etc/apparmor.d/bwrap and add the following:
    abi <abi/4.0>, include <tunables/global> profile bwrap /usr/bin/bwrap flags=(unconfined) { userns, # Site-specific additions and overrides. See local/README for details. include if exists <local/bwrap> }

  5. Using root or sudo, create the file /etc/apparmor.d/srt-bwrap and add the following:
    abi <abi/4.0>, include <tunables/global> profile srt-bwrap /home/*/.local/share/Steam/**/srt-bwrap flags=(unconfined) { userns, capability setpcap, /proc/*/uid_map rw, /proc/*/gid_map rw, /proc/*/setgroups rw, # Prevent transition to the restrictive unprivileged_userns profile change_profile -> unconfined, # Site-specific additions and overrides include if exists <local/srt-bwrap> }

  6. Run the following commands (you can paste one at a time to watch for errors):
    protonver=GE-Proton10-17 # Edit this to match the version of GE Proton you downloaded and extracted. export PATH=~/.steam/root/compatibilitytools.d/$protonver/files/bin:$PATH export WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx wine reg delete "HKLM\Software\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /f protontricks 244850 -q dotnet48

    At this point, you're done!


    If you want to see what's installed by winetricks/protontricks, using the same shell (so your PATH and WINEPREFIX are still set), run the following:
    winetricks list-installed
    Mine looks like this:
    xaudio29 remove_mono internal remove_mono internal winxp dotnet40 dotnet48
    Explanation of the list:
    The xaudio29 was added by GE-Proton when the game was first launched.
    The "remove_mono internal" calls were made by the dotnet40/48 installation.
    The reason two versions of dotnet appear is dotnet40 is a prerequisite, as 48 is just a patch on top of it.

    Note that older guides also added vcrun2019 and more recent ones added vcrun2022. It's unclear why they no longer list them, but I was unable to see any performance difference with/without them.
Further tweaking:
Important performance consideration:
If your video card has only 6GB of VRAM like mine, definitely reduce Texture Detail to Medium. The default of High will not fit in this amount of video RAM!
I'm not even sure if 8GB is enough. The visual differences are minimal (I can't tell on a 4k monitor).

I'm running a GTX 1660 at 4k, so your settings likely won't need to be the same, but I managed to get low-30s to 121fps depending on what I was doing using the below config, with a rare dip just below. This was using the shift-F11 display, not Steam's new one (I haven't tried it yet).

I started with the "High" selection (default), and only changed Texture Detail to Medium. This made a huge difference with periodic hangs and stutters. I still get the same performance I used to with the below old config. This may be due to improvements in GE-Proton, as it pulls in many newer versions of various libraries, including graphics libraries.

One tweak I'd also recommend would be to add the following to the SE "launch options" text box in Steam:
gamemoderun %command%
This performs various tuning (like your CPU scheduler, for example), but also will disable your screensaver for the duration of the game. I've had problems when trying to wake my display back up where the game would still be running, but not visible, or the screen would just stay black until I switched to another VT and killed it, or (best case) it would come back with no audio. This prevents that from happening.
Note that gamemoderun must be installed.
Run "which gamemoderun" to see if you have it.

One that might help if you're experiencing audio issues is to set the following at the beginning of the SE "launch options" text box in Steam:
PULSE_LATENCY_MSEC=60
Note that you can also try 30 or 90, but I've not seen any other recommendations. I've note tested this.






OLD:
Note that I did not do any further testing other than copying in my old settings here... it's entirely possible that I could raise some of the below without impact. The last time I tried tweaking these was right after I got the card, around half a decade ago.
Note also that I only tested this at my asteroid base surrounded by ships including a large one with a projector on.

This is my OLD config:
  • Model quality: High
  • Shader quality: Medium
  • Voxel quality: Medium
  • Texture quality: Medium
  • Shadow quality: Low
  • Lights quality: Medium
  • Anti-aliasing: None
  • Anisotropic filtering: 4x
  • Field of view (vertical): 80
  • Flares intensity: 0.6
  • Grass draw distance: 199m
  • Grass density: 1.2
  • Tree draw distance: 1000m
  • Ambient Occlusion: X

If you're curious about the rest of my system:
CPU: Core i7-4790K
OS: Ubuntu MATE 24.04.2
Home directory on NFS accessed via 2.5GbE
NFS server Solaris 11.4 serving a ZFS backed filesystem over 10GbE
Unneeded tweaks
  • MESA_GLTHREAD is for AMD GPUs, so if you have an NVidia it won't help.
  • DXVK_ASYNC is obsolete, as it's been superceded by Graphics Pipeline Library in newer DXVK & Vulkan drivers.
    I'm not sure if this would help or hurt, but the info may be just something being repeated that used to work.
  • WINEDEBUG adjusts your logging level, so only useful if you're digging through the logs.
  • useallavailablecores is a weird one that gets repeated everywhere and many claim it helps, but it's a placebo because that's specific to either Unity or Unreal, while SE uses neither of those. SE's game engine is VRage2, developed entirely by Keen Software House.
  • useallavailablecores is a weird one that gets repeated everywhere and many claim it helps, but it's a placebo because that's specific to the Unity game engine.
    SE's game engine is VRage2, developed entirely by Keen Software House.
  • "-nosplash" just turns off the tiny splash screen image that hangs on the screen while the game is loading, so if you don't want to see that, use this. I think the bug this works around was fixed around Proton 5 or so.
  • Similarly, you'll likely find "-nointro", which turns off the very short full-screen intro video with the engineers flying around building a Keen Logo while it plays Toccata and Fugue .
    This is no longer needed because the hang while playing that video was fixed a few Proton versions ago, and GE-Proton actually does this for you.
    I've manually removed the code that GE-Proton uses to do this in mine and it plays fine.

OLD guide stuff
I'm leaving some of the old guide stuff in here in case anyone wants to go through the pain of going that route, or is curious what used to be involved.




OLD - Intro
After an embarrassing amount of testing, I've finally managed to come up with a repeatable method of setting up Space Engineers in Linux that's only got one annoying flaw: You get the Keen crash feedback dialog *after* clicking "Exit to Windows".
I'm not sure why my previous install doesn't do this, but I got the performance up there at least as good as my old install, if not better.
Unfortunately, my old installation was made quite some time back, and I've not been able to repeat that exact configuration.

I've seen lots of recent posts by people asking how to get SE working well in Linux, and was surprised by some of the stability and performance problems they had, so I figured I'd try a scratch installation to see what they were experiencing and can confirm that it's horrible.
Hence, my effort to create a repeatable method of installation that results in an overall good experience.
OLD - Prerequisite:
You must have GE-Proton9-25 extracted to ~/.steam/root/compatibilitytools.d/.

Simply navigate to that directory and extract the tarball from the github repo's releases section.
Do not use a different version... 9-26 breaks this.

Get it here: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton9-25

You will need to restart Steam after extracting the tarball before it will be in the Compatibility list.
Note that the GE-Proton options will be at the very bottom of the list.

Be sure you're using a recent version of winetricks. Some distros are horribly out of date.
I'm using 20250102 from here: https://github.com/Winetricks/winetricks/releases

Same with Protontricks, I installed 1.12.1 using the pipx instructions from here: https://github.com/Matoking/protontricks
OLD - Important:
Use protontricks as shown, do not use winetricks, although winetricks is a prerequisite (protontricks calls winetricks).
Winetricks is not Steam-aware (it's made for Wine), so will use the OS's Wine installation.
Protontricks will set the PATH appropriately to use the Proton (Wine) installation specified by your game's config.

I did all of the below without Wine even installed on my system. Launching winetricks without Wine installed will just produce errors. Installing Wine on the OS and using winetricks introduces a variable that cannot be accounted for in this guide.

If you think that Wine 9 and Proton 9 are exactly the same and cannot cause issues, then please look back at my comment about 9-25 vs 9-26.
OLD - Steps:
  1. Remove or rename the 244850 subdirectory. Be sure to back up any saved games and/or blueprints before doing so (hence the rename suggestion).
  2. Adjust Steam's compatibility config for SE to use GE-Proton9-25 (it must be this exact version).
  3. Launch SE and wait for it to fully come up, then exit the game and wait for Steam's green Play button to reappear.
  4. Run: protontricks 244850 -q win10
  5. Run: protontricks 244850 -q dotnet20
  6. Run: protontricks 244850 -q winxp
  7. Run: protontricks 244850 -q dotnet48
  8. Run: protontricks 244850 -q win10
  9. Run: protontricks 244850 -q vcrun2022
At any point between the protontricks steps you can check the above installations using the following command.
Important: run this all as one long line, it's being displayed as if it is two:
PATH=~/.steam/root/compatibilitytools.d/GE-Proton9-25/files/bin:$PATH WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx winetricks list-installed
Mine looks like this:
7zip xaudio29 win10 remove_mono internal fontfix dotnet20 remove_mono internal remove_mono internal winxp dotnet40 dotnet48 win10 vcrun2022
The extra stuff in there was either added by GE-Proton (like 7zip), or as part of one of the others in the
list. Don't worry about duplication, some of these are just config changes, so order matters.

Yes, I agree installing dotnet20 makes no sense, but I found a reference that indicated it stops the bogus rundll32.exe failure dialog, and it worked to eliminate that problem.
If you know of another way to prevent that bogus dialog, please let me know (it's bogus as you can see rundll32.exe in top).

After going through the above steps, you can either run SE in GE-Proton9-25 as is currently configured or switch to a newer version, as 9-25 is only required for the above process (at a minimum for the dotnet installations, and possibly also for vcrun2022).
Note that older guides used vcrun2019, and my old (rock solid) installation has it, but all attempts at using it in the past week have resulted in a completely unusable system (the game would crash before the menu).
58 条留言
glabifrons  [作者] 9 月 29 日 下午 9:57 
I've rewritten a fair portion of this guide. :se:

If it's working great for you, then you don't need to do anything. :cozyspaceengineersc:

If you are still having any performance issues, try the updated version

The best part is you no longer need to switch between two GE-Proton versions. :steamhappy:

It's unclear if the "bwrap" (bubblewrap) additions to AppArmor's configuration helps with the game *running* or only for installation. I know that srt-bwrap *is* used by Steam, so it might.
This can be done completely separately. Oddly, I had to add both of those as both were generating lots of DENIED messages (run "sudo dmesg" to see if you're getting them).
Benjo_am_Banjo 9 月 28 日 下午 12:17 
Thank your very mich. I appreciate your work!
glabifrons  [作者] 9 月 27 日 上午 8:49 
There's a man page for it (man gamemoderun) if you want to see all it does.
Also, before adding it, make sure it's on your system with: which gamemoderun
That should come back with the installation path. On mine (Ubuntu 24.04) it's in /usr/games/gamemoderun.

Tip for going through ProtonDB for tweaks: always make sure the person posting has the same brand video card, as many fixes for AMDs don't work with NVidias, and vise-versa.

Excellent question, by the way. I may incorporate that into a the guide in the future. :cozyspaceengineersc:
glabifrons  [作者] 9 月 27 日 上午 8:49 
One I would recommend is an interesting one I only just started using very recently.
gamemoderun %command%
This does a lot of things to optimize your machine for running any game (it is not Steam-specific, by the way). How effective it is depends on a lot of things, including what CPU scheduler your distro uses or that you've selected.
I've not noticed any performance improvements with mine, but that could just be that my old rig actually plays the game quite well to begin with. The reason I use it is one small function that it turns off automatic screen-blanking while the game is running. Space Engineers, or rather Proton and GE-Proton, seems to have a lot of issues coming back from that. It used to be that when you woke the monitor back up, the game would still be running, but you couldn't see it, so you had to kill it. More recently it does come back, but without audio. This prevents that from happening.
glabifrons  [作者] 9 月 27 日 上午 8:48 
Similarly, you'll likely find "-nointro", which turns off the very short full-screen intro video with the engineers flying around building a Keen Logo while it plays Toccata and Fugue .
This is no longer needed because the hang while playing that video was fixed a few Proton versions ago, and GE-Proton actually does this for you.
I've manually removed the code that GE-Proton uses to do this in mine and it plays fine.
glabifrons  [作者] 9 月 27 日 上午 8:47 
MESA_GLTHREAD is for AMD GPUs, so if you have an NVidia it won't help.

DXVK_ASYNC is obsolete, as it's been superceded by Graphics Pipeline Library in newer DXVK & Vulkan drivers. I'm not sure if this would help or hurt, but the info may be just something being repeated that used to work.

WINEDEBUG adjusts your logging level, so only useful if you're digging through the logs.

useallavailablecores is a weird one that gets repeated everywhere and many claim it helps, but it's a placebo because that's specific to either Unity or Unreal, while SE uses neither of those. SE's game engine is VRage2, developed entirely by Keen Software House.

PULSE_LATENCY_MSEC is used to keep audio in sync, IIRC. So use this and tweak the number if you have weird audio issues.

"-nosplash" just turns off the tiny splash screen image that hangs on the screen while the game is loading, so if you don't want to see that, use this. I think the bug this works around was fixed around Proton 5 or so.
z26 9 月 27 日 上午 3:50 
Thank you for this guide, it's so much more precise than other instructions I've found so it actually worked.

Other instructions online (on proton db) also recommends adding a bunch of launch options, in your opinion are those useful for SE or kinda useless?

stuff like
export MESA_GLTHREAD=true export DXVK_ASYNC=1 export WINEDEBUG=-all -useallavailablecores PULSE_LATENCY_MSEC=60 -nosplash %command%
glabifrons  [作者] 9 月 23 日 下午 11:54 
I forgot to mention in my last reply that I've been using GE-Proton10-15 for the rebuild of the environment and game-play for the last several days (week, maybe).

GE-Proton10-16 just came out and I played a few hours using it tonight with no issues at all.
Fauxrose [ ++ ] 9 月 21 日 下午 6:53 
Yeah it was the new Lab vat cryo chamber that causes the sideways gravity icon. I had a hunch it was a keen issue but i wasn't sure.

I used this guide on the SE 1.207.021 release and followed your comment on excluding win10 from protontricks.
Before was also 1.207.021 as Apex peaked my interested to get SE to run and not crash.

I'm quite tempted to follow this guide again and try excluding the dotnet 20 setup to see if that helps with CTD.

For reference im playing on a MP server with 0-3 people in space, ive got like 2 subgrids and 4 ships and another large grid ship. The Crashes mostly seem to be when im around my space base either floating, or coming in for a refuel.
glabifrons  [作者] 9 月 21 日 下午 12:48 
Fauxrose, is the cryo you're talking about the new Lab Vat cryo chamber?
I ask as that one has had gravity sideways since before 1.207. It seems like it was right in 1.206, but maybe broke in a patch between the two releases.

Unfortunately, I don't currently have an AMD system capable of running SE (my last one was a Phenom II 1090T), so I can only test with Intel+Nvidia for the foreseeable future.

That said, what release of SE did you install using this guide initially?
I got better results skipping the initial win10 & dotnet20 steps with 1.207... have not had a crash yet. I'm going to keep testing and may scratch out those steps as obsolete. If you re-do it, know that you will get a bogus failure dialog that can be dismissed during the installation, and one more at the first launch, but none following that.