protonscr

Space Engineers

protonopen appid 244850Game compatibility - UnofficialRegressionXAudio2.NET
ValveSoftware/Proton#1792 · opened 2018-10-20 by MagicRB · updated 2025-12-27 · 667 comments · github · game page · search this game
5 matching comments, n / p to jump
MMagicRB 2018-10-20 github

The latest version of Space Engineers from steam, with app id 244850 seems to require a patch which wine-staging has.

Yes, I did leave out my system specs as it's not important to this issue. (Proton 3.16)

I confirm:

  • [x] that I haven't found an existing compatibility report for this game. (Not specifically for this game, and not specifically this error, though it can be seen as a fixme)
  • [x] that I have checked whether there are updates for my system available.

Symptoms

Space Engineers uses the GetCurrentPackageId function. SE crashes with en error, which says that the function was invoked with an incorrect parameter. This is caused by a bug in wine which has been ignored, wine-staging does include a patch to solve this problem. I'm not experienced enough to submit a pull request, nor I'd be able to compile proton as I'm kind of incompetent.

Reproduction

Reproduction is really easy, download Space Engineers from steam, install .net 4.7 as described here. After a successful installation of .net and with transform feedback working, you should get an error message like this

Unhandled Exception: 00bb:fixme:ver:GetCurrentPackageId (0x53a800 (nil)): stub System.ArgumentException: Parameter is not valid. at System.Drawing.Image.get_Flags() at System.Windows.Forms.ControlPaint.IsImageTransparent(Image backgroundImage) at System.Windows.Forms.Control.set_BackgroundImageLayout(ImageLayout value) at Sandbox.MyMessageBoxCrashForm.InitializeComponent() at Sandbox.MyMessageBoxCrashForm..ctor(String gameName, String logPath) at Sandbox.MyErrorReporter.ReportGeneral(String logName, String gameName, String id) at Sandbox.MyCommonProgramStartup.PerformReporting() at SpaceEngineers.MyProgram.Main(String[] args) wine: Unhandled exception 0xe0434352 in thread bb at address 0x7b44b08c (thread 00bb), starting debugger... Unhandled exception: 0xe0434352 in 64-bit code (0x000000007b44b08c).

This can easily be solved by either getting the patch upstream to wine (there might be a good reason why it's not upstream) or we could apply the patch directly to proton.

MMagicRB 2018-10-20 github

BTW I can confirm that Space Engineers does, in fact, work with wine, as I was able to start SE with wine-staging 3.18 without dxvk. It does crash as the wined3d11 API was not capable of running SE for long enough to actually play, it seemed to crash at random points in time, but this does indicate to me that SE should be functional, once we patch proton.

MMagicRB 2018-10-21 github

I tried locating the patch that makes it work under wine-staging, but I was not able to do so. I'm either completely blind or it doesn't exist. It may be that the function not working is a bi-product of some other bug. I'll continue searching

MMagicRB 2018-10-21 github

Now I have figured out that SE does crash because of something different, and that function is broken on both wine versions, now I shall figure why does it crash in the first place.

MMagicRB 2018-10-21 github

I have decompiled SE and I have figured out where is the problematic code path, it seems that SE thinks that '-report' was passed as a command line argument, but from what I understand from the decompiled source, there should not be a reason for SE to think that.

PPeacheyMcKeitch 2018-10-22 github

Ive posted a link to this thread onto the official Space Engineers support page. Will see if anyone over there has any ideas.

Also go upvote that thread on there forum to try get there attention incase its a SE and not a wine issue!

https://support.keenswh.com/spaceengineers/general/topic/improve-compatibility-with-steam-play-and-proton-linux-mac

MMagicRB 2018-10-23 github

No, you misunderstood me, let me explain a bit more. SE uses .NET 4.7.1 which IS broken in wine, but it can be made to run with a workaround and a bit of luck. Here is the workaround needed. Then, SE uses Stream Output / Transform Feedback, which is a deprecated feature in DX11, and was probably carried over from the DX9 renderer, which SE has used in the past. Now, Vulkan has recently received this extension "VK_EXT_transform_feedback", which allows Stream Output to work in Vulkan, therefor DXVK now supports Transform Feedback, therefor SE should work in wine, but wine still needs patches to expose this extension. Proton has these patches already, I think, I'm not sure, don't quote me. Mainline wine will get at the next release at it has been already staged which means wine-staging will get it too. Now wine-staging has a patch in place which enables SE to start under opengl, it still crashes as opengl is not capable of sustaining the graphics engine. The problem in proton is not related to Transform Feedback. I can't identify the patch that is responsible for this, as I actually do not know what's the problem. I have decompiled SE and looked at the code which is causing the crash, based on the stacktrace provided by the .net runtime and do not see a clear reason why it crashes. I'll post the relevant functions later.

MMagicRB 2018-10-23 github

I know, it tries to notify the user that they should update their graphics drivers. That's why it tries to report something. But still, it does work in wine-staging, so we still need to find the relevant patch.

MMagicRB 2018-10-23 github

Can someone help? I'm not sure what to look for in those patches.

MMagicRB 2018-10-23 github

https://stackoverflow.com/questions/11796082/invalid-parameter-when-setting-an-image and this seems to be related, I'm not any closer to figuring this out tho.

MMagicRB 2018-10-23 github

line 914 seems to be the problem, that's the only thing that i can see, the GdiPlus.dll is a wine native dll as can be seen here

MMagicRB 2018-10-23 github

GetGdiImageFlags returns invalid parameter if image or flags are empty, as can be seen here, line 5219, so it's probably getting nullified either somewhere in .net or when being passed to the native library from wine.

MMagicRB 2018-10-23 github

I think I found it, if I'm understanding this correctly,

GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags)
{
    TRACE("%p %p\n", image, flags);

    if(!image || !flags)
        return InvalidParameter;

    *flags = image->flags;

    return Ok;
}

this function should not check if flags is 0, as flags is the output variable, which can be whatever.

MMagicRB 2018-10-23 github

I am completely wrong in my last comment, I hate pointers. Anyways, I'm going back up the stacktrace trying to find out why image is null.

SSpookySkeletons 2018-10-26 github

I am not sure on the legal ramifications but Space Engineers provides a visible/ open EULA of their source code on github, if you can look through, so you don't have to decompile.
Might be worth a look through if it's kosher, to figure out what is blowing up and commit to wine.

https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/EULA.txt

Edit:
They do have an intertoperability clause which wine falls under as 'compatibility'

Aaaronfranke 2018-10-28 github

Please wait a few months until Valve updates the version of Wine that Proton uses. Valve has some patches on top of Wine and needs to test for stability, so there are reasons that Valve does not immediately update the version of Wine that Proton uses.

@SpookySkeletons That source code has not been updated since 2016.

SSpookySkeletons 2018-11-01 github

@aaronfranke
This affects Vanilla wine as well as Proton, whichever arrives first can upstream it to the other.
Space Engineers has been a major pain for years in any sort of wrapper, even when it did work it was stable as a two legged stool.

Perhaps I just don't know how any of this works but this might be something to look into.

6421.401:0031:0032:trace:module:load_dll Loaded module L"C:\windows\assembly\NativeImages_v4.0.30319_64\mscorlib\386b8793866138dad77588a7399d11c3\mscorlib.ni.dll" (native) at 0x64478000000
The library loads up at 0x64478000000
Some kind of function turns and burns here, sharing a very close trailing memory space with mscorlib.ni.dll:

6421.486:0031:0032:trace:seh:RtlVirtualUnwind type 0 rip 64478454d69 rsp 53b5d0
6421.486:0031:0032:trace:seh:dump_unwind_info **** func 454cf0-454da3
6421.486:0031:0032:trace:seh:dump_unwind_info unwind info at 0x644785364bc flags 3 prolog 0x10 bytes function 0x64478454cf0-0x64478454da3
6421.486:0031:0032:trace:seh:dump_unwind_info 0x10: subq $0x68,%rsp
6421.486:0031:0032:trace:seh:dump_unwind_info 0xc: pushq %rbx
6421.486:0031:0032:trace:seh:dump_unwind_info 0xb: pushq %rsi
6421.486:0031:0032:trace:seh:dump_unwind_info 0xa: pushq %rdi
6421.486:0031:0032:trace:seh:dump_unwind_info 0x9: pushq %r12
6421.486:0031:0032:trace:seh:dump_unwind_info 0x7: pushq %r13
6421.486:0031:0032:trace:seh:dump_unwind_info 0x5: pushq %r14
6421.486:0031:0032:trace:seh:dump_unwind_info 0x3: pushq %r15
6421.486:0031:0032:trace:seh:dump_unwind_info 0x1: pushq %rbp
6421.486:0031:0032:trace:seh:dump_unwind_info handler 0x644783da000 data at 0x644785364d8

GGuy1524 2018-11-01 github

It looks like mscorlib.ni.dll is a component for the .NET framework, which is known for being unstable under wine. You might have luck using winetricks to fiddle around with dotnet, but hopefully Ethan Lee will devise a better solution in the future.

FFurretUber 2018-12-17 github

With Mesa 18.3.1 with patches applied from here applied to support Transform Feedback and using winetricks to install .NET 4.7.2 I got very close of having the game working using DXVK. The game reached the main menu, running at 120 FPS, and the mouse cursor loads. However, the game crashes before the background video and the menu buttons appear.

The log messages seem to be pretty relevant on this case. The DXVK warn seems closely related to what happened with Wine:

SpaceEngineers_dxgi.log

SpaceEngineers_d3d11.log

steam-244850.log.gz

SpaceEngineers.log

VRageRender-DirectX11.log

My system information. Please note this is showing a different Mesa version because the 32-bit and the 64-bit Mesa builds are distinct right now.

MMagicRB 2018-12-17 github

I've managed to get to gameplay with wine-staging, dxvk, proprietary nvidia drivers. All voxels were horribly malformed and i haven't managed to reproduce it since wine updated.

SSpookySkeletons 2018-12-18 github

@FurretUber
The latest version of the game locks up after a minute or more. Opt down to the multiplayer overhaul in the beta tab and it will work.

Ssteve7233 2019-03-05 github

I just upgraded my GC to NVIDIA GeForce GTX 1060 and all my steam games work via steamplay except SE. I press play and SE tries to start then stops. No error message, no sound, and no game window. I have tried all the proton versions that steamplay will run. After reading this thread I at least know that many people are trying to figure it out. Sounds like a new version of proton and wine are needed. I was hoping I could use wintricks or something but it might be more complicated. That's a bummer. Maybe a lib or several libs with winecfg?

MMaltahl 2019-03-16 github

This game can launch with wine 4.3 and DXVK 1.0 - But you will need .NET 4.7.2 as additional installation.
Lutris installer for the game works flawlessly for new installations.
If you have a current installation of space engineer it might not work, i have yet to figure out why that is the case.
After that you can play the game but minor errors will still be there such as:

  • Crashing when you fly crafts into other crafts or rocks at 20+m/s (report tool for SE appears)
  • After splash screen you have to click the mouse a couple of times to get to the main menu since the cinematic wont play else you just have a black screen.
  • Minor audio stutters which was mostly fixed with wine 4.3 but will get better as faudio gets futher development.
  • Slow loading screens in the beginning due to new shaders need to be cached.

Pastebin here of logs when running and crashing into a planet that crashes the game.
https://pastebin.com/tPC8y3tK

Jjarrard 2019-03-20 github

I take it that the latest proton beta isn't wine4.3 yet? which is why it won't work via steam directly?

FFurretUber 2019-03-20 github

I managed to make Space Engineers working. It is definitively not on a good shape, but it works. I had to:

  1. Install dotnet472 on Space Engineers WINEPREFIX;
  2. Build FAudio with xWMA support and libraries on non-default directories. This FAudio build must work with Megadimension Neptunia VIIR;
  3. Make the built libFAudio.so be used for Space Engineers, be replacing the Proton one from lib64 or LD_PRELOAD;
  4. Make sure video drivers support Transform Feedback, as Mesa 19.1.0-devel for Intel Gen9;
  5. Be sure the built FAudio library built WILL NOT work! It can't find the needed libraries when starting Space Engineers;
  6. Space Engineers should work but with no sound.

There are a few bugs related to graphics as opening video that does not load, on edges that effect because of helmet is buggy, even then it is great considering the GPU is an Intel HD Graphics 520 and had bugs on Windows 10 until very recently.

A lot of bugs regarding terrain generation are happening, all planets and moons are hellish landscapes.

Images:

Captura de tela_2019-03-17_23-00-38

Captura de tela_2019-03-17_22-16-08

unknown (4)

Jjarrard 2019-03-20 github

I sort of got it working but fps was real slow at menu (never bothered to play) and audio is crackling. I used https://github.com/Kron4ek/FAudio-Builds but perhaps it failed to install correctly.

EDIT: Didn't install faudio this time around, and no sound so I must have installed it correctly. Perhaps the main menu just does that because it works but as you point out, the terrain generation is completely messed up.

MMaltahl 2019-03-24 github

If you install via Lutris ( yeah i know ) It has a tkg build of Wine 4.4
with F-Audio that works wonders.

On Wed, Mar 20, 2019 at 3:25 AM jarrard [email protected] wrote:

I sort of got it working but fps was real slow at menu (never bothered to
play) and audio is crackling. I used
https://github.com/Kron4ek/FAudio-Builds but perhaps it failed to install
correctly.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-474658732,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHuHtRix32b6V_NKrATqj1t79SVRJY1Kks5vYZwdgaJpZM4XyGNi
.

MMagicRB 2019-03-24 github

I'll try and report my findings, it's a shame you can't download wine
builds from lutris, without lutris

On Sun, Mar 24, 2019, 15:09 Maltahl [email protected] wrote:

If you install via Lutris ( yeah i know ) It has a tkg build of Wine 4.4
with F-Audio that works wonders.

On Wed, Mar 20, 2019 at 3:25 AM jarrard [email protected] wrote:

I sort of got it working but fps was real slow at menu (never bothered to
play) and audio is crackling. I used
https://github.com/Kron4ek/FAudio-Builds but perhaps it failed to
install
correctly.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-474658732
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AHuHtRix32b6V_NKrATqj1t79SVRJY1Kks5vYZwdgaJpZM4XyGNi

.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-475963063,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHonVxCEiLofIF2Jsbrz-HZMdIWpKfgyks5vZ4c2gaJpZM4XyGNi
.

Jjarrard 2019-03-24 github

Copied wine4.4 faudio protonified into my custom steam compat folder, reinstalled game and dotnet472, loaded up, no audio.
Game looks like it might run better but it has this stuttering going on, maybe the non functional audio is to blame.
Anyway didn't seem to fix my audio issue, probably need to install precompiled bins from somewhere into the custom proton folder, I'm on arch so likely ones compiled on other distros won't work.

EDIT: I built custom faudio with ffmpeg support, still no luck with sound, probably doing something wrong, shrug. Anyway game is unplayable IMO, all planet bases maps don't work/broken, has stuttering & crashing.. Maybe one day.

MMagicRB 2019-03-25 github

I doubt that bins from other distros wont work. They will, just install
wine the arch way to get all the dependencies and that should do it.

On Sun, Mar 24, 2019, 23:59 jarrard [email protected] wrote:

Copied wine4.4 faudio protonified into my custom steam compat folder,
reinstalled game and dotnet472, loaded up, no audio.
Game looks like it might run better but it has this stuttering going on,
maybe the non functional audio is to blame.
Anyway didn't seem to fix my audio issue, probably need to install
precompiled bins from somewhere into the custom proton folder, I'm on arch
so likely ones compiled on other distros won't work.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476010132,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHonV0PNKjPrMbFLzUDFBzbXqp2ZjOUNks5vaANBgaJpZM4XyGNi
.

Jjarrard 2019-03-25 github

Yeah it's just a install issue at my end, I also seem to only be able to build 64bit libs, can't see the 32bit ones unless their the same file (no idea).

When I copied my libFAudio.so file to the proton_wine custom folder and loaded SE it just set all my volume settings to zero, and would not save them if raises so something is a miss.

BUT like I said, the game has major issues under Linux, so not like I could realistically play atm unless its pure space survival with no moons or planets!

MMagicRB 2019-03-25 github

The main problem is terrain generation. I'm puzzled as to how such hellish
landscapes can be created

On Mon, Mar 25, 2019, 06:51 jarrard [email protected] wrote:

Yeah it's just a install issue at my end, I also seem to only be able to
build 64bit libs, can't see the 32bit ones unless their the same file (no
idea).

When I copied my libFAudio.so file to the proton_wine custom folder and
loaded SE it just set all my volume settings to zero, and would not save
them if raises so something is a miss.

BUT like I said, the game has major issues atm so not like I could
realistically play atm unless its pure space survival with no moons or
planets!


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476063606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHonVxB8URy1FGMFsPoU2eRKq1dVFeg6ks5vaGP8gaJpZM4XyGNi
.

Jjarrard 2019-03-25 github

Yeah if someone can figure that out it be great,.
What I'm thinking is the game is detecting maybe limited memory or limited cpu cores hence it can't do the job.

If you look in the in-game error log it says the terrain is too complex etc in those instances, check it out.

MMagicRB 2019-03-25 github

yeah, wine with reporting available memory, cores, and stuff isn't great.

On Mon, Mar 25, 2019 at 6:55 AM jarrard [email protected] wrote:

Yeah if someone can figure that out it be great,.
What I'm thinking is the game is detecting maybe limited memory or limited
cpu cores hence it can't do the job.

If you look in the in-game error log it says the terrain is too complex
etc in those instances, check it out.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476064274,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHonV9U7V6QwDB69qwGpkGR_avGmUh7Jks5vaGTdgaJpZM4XyGNi
.

Ffazo96 2019-04-01 github

I have a i7 4790k, 16 GB of RAM and GTX 1080. The game runs using the lutris script with wine 4.4, FAudio and DXVK and performance is good, 1440p@60FPS however:

  • planet maps don't work neither in single or multiplayer
  • music is absent
  • there is a periodic, very regular stuttering while playing that is very annoying
  • the game freezes 30-60 minutes into play, seemingly at random, and then crashes

I don't think it's playable at this stage

LLinux74656 2019-04-01 github

I may have found out why the terrain is generated improperly. It appears that the heightmaps used by the game are not being read properly by the game or wine/proton or something… I got the terrain to generate on the Alien Planet by opening the terrain heightmaps( the files named front.png back.png left.png right.png up.png down.png Located at ~/SpaceEngineers/Content/Data/PlanetDataFiles/Alien/) and without modifying the actual image saved them with new options. I used Gimp version 2.10.6 to overwrite the files with the following Options.
SettingsScreenshot

Strangely when using the spectator cam to go to the local moon(which I did not apply the fix to) the game just froze instead of generating the spiking terrain.
The Following are screenshots from the working game:
Spectator Base
Spectator High
Spectator mountains

My knowledge about this is very limited, so if someone could figure out what is going on here it would be much appreciated.

Note: My game constantly crashed while trying these fixes, but the times I was able to get into the game did not crash during the play session, with the exception of when I went to the moon and the game froze. After that I could not get the game to load the save game or start a new world without a lockup. Once I deleted and recreated the prefix the game started working again.

Jjarrard 2019-04-02 github

Very nice trouble shooting there. So we need proton/wine to look into why it can't read these PNG files correctly. Could be related to a nasty bug in wine itself not being able to read specific settings for those files!

I wish this could be bumped to a dev to be looked into, really would love this game to work better. The height-map issue is not the only problem sadly, we have sound stutter and frame stutter to deal with next, but that could be partially related.

SSpookySkeletons 2019-04-02 github

@Linux74656
How could the png stuff possibly interpret the png wrong?

That would explain the crazy high-low thing going on... Perhaps it's just being truncated from 16 to an 8 bit int...

What happens with 8bpc vs 16 bpc & compression off vs max compression?

Might be worth asking for a quick fix from the KSH devs as this doesn't seem to impact the base game any by making this tweak. However it will be worth fixing this in upstream wine now that we know the issue.

Most importantly for his fix what png lib does wine use?

LLinux74656 2019-04-03 github

I am not sure what png lib wine uses, but if you install MS Windows Imaging Component (windowscodecs) with winetricks into the games prefix; most of the games images(icons, thumbnails... etc) are pink and the terrain renders completely flat.

I tried the suggestion from @SpookySkeletons Attached are images from the compressed 8bpc GRAY and 16bpc Gray (Uncompressed as compressed made no difference in either case). It appears that the 16bpc is performing in a similar way to the original images provided with the game.
MaxCompression 8bpc gray

16bpcGray

Strangely when testing the 16bpc Gray(both compressed and not compressed) the game would not start the Alien Planet scenario, it kept freezing while loading. I got around this by starting and Empty World scenario in creative mode and spawning the planet.
After this I decided to compare the original file to the modified ones. I used a tool called tweakpng (windows only but runs in wine without issue) to look at the header data of both the png provided with the game and the one I modified with 8bpc.
The file that comes with space engineers does indeed use 16bcp grayscale.
Unmodified Space Engineers
While the modified one, as expected, uses 8bcp grayscale.
Modified

I think they(Keen Software House) are using 16bcp because it would allow for more gray scale color depth and perhaps provide smoother terrain, although without being able to test 16bcp terrain generation in the game i can not say for certain.

Jjarrard 2019-04-03 github

So does the game load up with just WINED3D (dxvk disabled) and does it read 16bcp terrain correctly then? If that can't be done then perhaps DXVK can be tested under windows10 to see if it's the culprit or if Wine itself is to blame.

Its important to know if DXVK or WINE team should get the bug report.

LLinux74656 2019-04-03 github

The game crashes when using DirectX(PROTON_USE_WINED3D=1) with an error message.
Screenshot from 2019-04-02 21-46-36

When i click on the empty box before clicking on the error message, i can hear the Space Engineers main menu music and the button sound.

If someone can get DXVK to run this game in Windows that would be great. In the mean time i will continue to try to get PROTON_USE_WINED3D=1 to return positive results.

Jjarrard 2019-04-03 github

Try spoofing to AMD custom settings flag which I think is possible with wines regedit or variables somewhere using vendor and product ids. There are a few tricks that can be done. (I can't remember them off hand atm)

SSpookySkeletons 2019-04-03 github

I think Keen chose 16 bit specifically to fit the height gradient as closely to the 2048x2048 image as possible, compared to the 256 gradations of 8 bit.

I'm not seeing any lack of precision in the height mapping though by using this workaround... Perhaps the engine itself expects a downsample from 16 to 8 in the first place or one is implicitly applied that causes this in the first place.
Keen seems to be applying precision in excess to a process which throws out the extra precision.

Either way if we could get in contact with keen and ask if it's a good idea to ship 8 bit heightmaps it might make for a nice band-aid for inching toward proton support. And very definitely upstream a real fix for Proton as this is an issue with wine itself...

LLinux74656 2019-04-03 github

@jarrard I tried setting the card to an AMD RX480 VideoPciDeviceID to 10de(hex) and the VideoPciVendorID to 1002(hex) and still got the same error. I was however able to start the game by running the SpaceEngineers.exe with wine 4.5 and d3d11_43 installed. The game got to the main menu but, it locks up when trying to load a scenario.

@SpookySkeletons I will send an Email to Keen support, with a link to this thread and see if i get a useful response. Maybe we will get lucky and they will look into it.

In the mean time i will keep trying to get Space Engineers to run with d3d11.

LLinux74656 2019-04-03 github

I got WINED3D to work but not through steam or proton. I deleted the old prefix and created a new one with steam. I then installed the entire dx11 redist from Microsoft, as well as the usual dotnet472 and xact. I also had to force Space Engineers to run in windowed mode as it was constantly freezing and crashing otherwise. I was able to get past the loading freeze by starting a new empty world instead of straight onto the Alien planet. I used the spawn menu to add the alien planet in for both worlds.(Results in pictures below)
Screenshot from 2019-04-03 01-45-00
Screenshot from 2019-04-03 01-53-58

The 16bpc did not work in WINED3D, and the 8bpc still did.

EDIT: I was looking at WineHQ for similar issues, when i stumbled across this bug report:
https://bugs.winehq.org/show_bug.cgi?id=46558
Comment 8 References this thread, and the temporary fix, so they are definitely aware of what is going on. Let's hope they can figure it out! :smile:

LLinux74656 2019-04-04 github

As for the stuttering issue I have been trying various things to see if i can narrow it down.
The stuttering issue exist in both WINED3D and in DXVK (I noticed DXVK uses fewer CPU resources compared to wines D3D implementation). And the issue seems to take place at the same intervals no matter what graphics settings I use.

I have tried various CPU settings with the following results.
I set my cpu(i7 4770k) to only start with one core(used bios to disable all but one core and no hyper-threading). The game took longer to load but once in the world, the stuttering seemed unaffected.

I then underclocked (4.2Ghz is what i usually run it at) my cpu to 2.5Ghz (with all cores and hyper-threading re-enabled). The stutter still happened at the same same interval, but the duration of the stutter was noticeably worse, rather than the stutter lasting a fraction of a second, it seemed to last a second or more.

So I then overclocked my cpu to 4.5Ghz and the stutter still took place at the same interval, but was marginally less noticeable than the 4.2Ghz speeds it normally runs at.

So could this be a game update thread issue? Is the game performing calculations at set intervals and overwhelming the cpu? If so what would cause this to be noticeable on Linux/wine/proton, compared to unnoticeable on windows?

I contacted Keen support and told them about the issues we are experiencing. I gave them the three main problems to getting this working on Linux (the terrain, the stutter, and the audio), and explained what the issue is with the terrain. I also linked them this thread. They responded with something along the lines of they are keeping an eye on Linux, but are not planning any changes at the moment.I think for the mean time we are on our own.

Jjarrard 2019-04-04 github

Maybe you can record a apitrace and post it over at the DXVK forum? might still be fixable at DXVK's end you think?

LLinux74656 2019-04-05 github

OK i opened an issue and referenced this thread.

UPDATE: It is not DXVK causing the issue. Which means our problem is most likely not related to the graphics.

LLinux74656 2019-04-05 github

Quick note for anyone wanting to get rid of the annoying black screen and, the need to click to get the game to start the main menu: you can rename(just add .old to the end of the file) the file here :~SpaceEngineers/Content/Videos/KSH.wmv and the game starts more normally. I even get some startup images when the game starts full screen.
20190405125148_1

LLinux74656 2019-04-05 github

Interesting development: Now that DXVK and graphics issues have been ruled out, i have turned my focus to the audio. And I think I may be onto something.

If you convert the main menu music (~/SpaceEngineers/Content/Audio/MUS/se_mainmenu1.xwm) to an mp3 format(but make sure the file name and extension are the same as the original, IE se_mainmenu1.xwm) then there is no lag in the main menu, although the music does not play. If you simply delete the file the lag in the menu still exist and the does not play. So if you give the game engine a sound file type it can not recognize it seems the menu lag issue is solved.

I tried to see if this fixed the stutter in game, but when I convert the other music the same way, the game enters an infinite loading loop when trying to start a game. I also tried disabling sound in wine and in the game, but that had no affect in either case.

If you open the original se_mainmenu1.xwm in VLC, the same kind of stutter happens as in the game.

Jjarrard 2019-04-05 github

isn't XWM files some crappy microsoft file format?

Yeah fallout4/skyrim, all the games that have had issues in the past with audio used this format of xaudio2.

LLinux74656 2019-04-05 github

I have had extensive issues with Fallout 4 especially with audio. But it has gotten better over time, and i don't see the same kind of stutter in Fallout 4 as I do in SpaceEngineers. Now the question is... Why is this seemingly causing an issue in Space Engineers while not having the same issue in Fallout 4?

Jjarrard 2019-04-05 github

Have you tried ditching FAudio and just installing MS xact or xaudio whatever it is via winetricks? that is what I use to do to get fallout4 audio working (it would eventually cut out)

Might be worth a try.

LLinux74656 2019-04-05 github

I am currently using xact for space engineers. I was never able to get space engineers to load just using Faudio(Winetricks or Kron4eks customs builds.)
I just checked, fallout 4 main menu music dose not have any stuttering in game, but if you extract the MUS_MainTheme.xwm from Fallout4-Sounds.ba2, and play it with vlc, the same audio stutter that is in space engineers is present.

LLinux74656 2019-04-08 github

I am no longer sure if the in game stutter is an audio issue. After getting to far too frustrated to deal with the audio, I instead tried to go back and see in what version of the game the issue started. The in game stutter exist all the back to version1.172(which is as far back as the steam beta tab goes). But the audio issue on the main menu does not exist in this version. In fact the main menu audio issue only started in version 1.188 of the game. But the in game stutter is present in all versions available in the betas tab.

Here is something pertaining to Space Engineers, hopefully it will entertain you. While we wait for a solution.
https://gist.github.com/Linux74656/6093bd3fe9457f29f2f544681a262572

Kkainz 2019-04-19 github

The voxel bug is a windowscodecs bug in wine. I've described the bug and attached a fixing patch at https://bugs.winehq.org/show_bug.cgi?id=46558. Tested working for me on steam under wine. I presume Proton would work the same as well with a updated windowscodecs wine-dll.

Jjarrard 2019-04-19 github

Yes but what about the stutters and sound distortion issues?

Kkainz 2019-04-19 github

@jarrard works for me using https://github.com/Kron4ek/FAudio-Builds -- I assume the bundled in wine and proton versions are too old.

Ffazo96 2019-04-19 github

@kainz do you have anything left malfunctioning in the game with the recent FAudio builds and your windowscodecs patch? Or is it working well?

Kkainz 2019-04-20 github

@fazo96 shadows dont work well, so I play with those disabled, and I get occasional dotnet crashes still.

Jjarrard 2019-04-20 github

So still a while to go.
I hope future wine versions can look at resolving these remaining issues.
Its good to have games like this that clearly point out problems in the wine compat layer, hard cases but fixable.

Rroothorick 2019-04-26 github

Here's a precompiled windowscodecs.dll.so with the patch from the linked bug. Drop this into your Proton 4.2/dist/wine/lib64 directory overwriting the existing file.

There is a side effect: scenario and savegame preview images don't load, they're just magenta fill. It's entirely possible this is due to an oversight on my part when building it. I haven't noticed any other ill effects.

windowscodecs.zip

Jjarrard 2019-04-26 github

Game doesn't start via steam for me. Do you still need .NET 472 to be installed with latest proton? also is faudio still outdated with proton?

Jjarrard 2019-04-26 github

Is that what prevents it from loading? why doesn't Faudio have WMV support
enabled by default? is there negative side effects?

Again is .net still needed?

On Fri, 26 Apr 2019 at 16:57, lucifertdark [email protected] wrote:

I build Faudio from source to add the wmv support, it's really easy &
quick.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-486956240,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEE7DLTBNX7CLOZAPUK3FYDPSKVFNANCNFSM4F6IMNRA
.

--


I've noticed that when I strive to achieve and succeed, I distance myself
from the moment.

Rroothorick 2019-04-26 github

You still need dotnet472 yes. I needed to specify -q when installing it via protontricks.

The latest FAudio build isn't working for me either, just crashes all the same. xact seems to fix it ish but no sound.

And I'm also seeing that periodic stutter.

MMagicRB 2019-04-26 github

This is only partially related, but is anyone experiencing crackling with
faudio? Restarting pulseaudio fixes it for me. This happens with Fallout4,
I want to know if something similar happens with SE. Also if I open and
close FO4 multiple times without restarting pulse it gets worse.

On Fri, Apr 26, 2019, 10:27 roothorick [email protected] wrote:

You still need dotnet472 yes. I needed to specify -q when installing it
via protontricks.

The latest FAudio build isn't working for me either, just crashes all the
same. xact seems to fix it ish but no sound.

And I'm also seeing that periodic stutter.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-486973608,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5COVZBOCGLBILENE4RB3DPSK4GRANCNFSM4F6IMNRA
.

Jjarrard 2019-04-26 github

periodic stutter, yeah until that is resolved I'm not touching this.

Llucifertdark 2019-04-26 github

Is that what prevents it from loading? why doesn't Faudio have WMV support enabled by default? is there negative side effects? Again is .net still needed?

On Fri, 26 Apr 2019 at 16:57, lucifertdark @.***> wrote: I build Faudio from source to add the wmv support, it's really easy & quick. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <[#1792 (comment)](https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-486956240)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AEE7DLTBNX7CLOZAPUK3FYDPSKVFNANCNFSM4F6IMNRA .
-- -- -- -- -- -- -- -- I've noticed that when I strive to achieve and succeed, I distance myself from the moment.

Ignore what I wrote (deleted now) I'm not sure what I was blathering on about.

Ffls2018 2019-05-06 github

I can't even get Faudio working with this, neither self compiled or the Kron4eks dll's as both crash with a "no associated application" error. Xaudio native works but the stutter is unbearable and seems to affect graphics performance also, upping pulseaudio latency does help a bit though.

Also tried the windowscodecs fix linked above for the ground, while it does fix the issue I get pink skyboxes.

Kkainz 2019-05-06 github

Sounds like you're missing dotnet472. That's still required.

On May 6, 2019 2:57:47 AM CDT, fls2018 [email protected] wrote:

I can't even get Faudio working with this, neither self compiled or the
Kron4eks dll's as both crash with a "no associated application" error.
Xaudio native works but the stutter is unbearable and seems to affect
graphics performance also, upping pulseaudio latency does help a bit
though.

Also tried the windowscodecs fix linked above for the ground, while it
does fix the issue I get pink skyboxes.

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-489537313

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Ffls2018 2019-05-06 github

Sounds like you're missing dotnet472. That's still required.

No I got dotnet472 installed correctly, the game wouldn't even run with xaudio set to native otherwise.

Issue is Faudio enabled the game crashes after the splash screen. Using standard xaudio it runs but with the stutter.

MMaltahl 2019-05-13 github

Running Space Engineer now works with minor audio glitches and small stutters but no more graphic errors and draw errors.

I had to change to Wine 4.8 with DXVK 1.2 after using the Lutris installer

Freezes do happen if you hit ground/ships/rocks with 30 m/s or faster
Log of crash including system info and driver info here:
https://pastebin.com/yTV7FcBa

Kkisak-valve maintainer 2019-05-14 github

Hello @Maltahl, this commit should help the GPU hangs on impact. Please retest with mesa 19.0.4 or mesa git master.

Ffls2018 2019-05-14 github

Proton 4.2-4 has a new terrain issue, the base in mission 3 of the first scenario is floating in the air.

Screenshot from 2019-05-14 22-12-19

Kkainz 2019-05-14 github

If you're able to test does it happen on wine 4.7 or wine 4.8?

On May 14, 2019 4:13:59 PM CDT, fls2018 [email protected] wrote:

Proton 4.2-4 has a new terrain issue, the base in mission 3 of the
first scenario is floating in the air.

Screenshot from 2019-05-14
22-12-19

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-492412089

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Ffls2018 2019-05-14 github

If you're able to test does it happen on wine 4.7 or wine 4.8?

On May 14, 2019 4:13:59 PM CDT, fls2018 @.***> wrote: Proton 4.2-4 has a new terrain issue, the base in mission 3 of the first scenario is floating in the air. Screenshot from 2019-05-14 22-12-19 -- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: [#1792 (comment)](https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-492412089)
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

Unsure, will have to compile a fresh TKG proton however I'm basing my report on Proton 4.2-4 released today which was meant to fix these terrain issues. So far it's only fixed the spiky ground on mission 2.

Also note I don't get this issue with the wincodecs fix posted above in this thread (only the pink sky/thumbnails).

EEvernow 2019-05-14 github

Unfortunately even after renaming the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file) I still crash after the Space Engineers logo.

Manjaro
Kernel: 5.0.9-2
Nvidia driver: 418.56

https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

Rrinaldus 2019-05-14 github

Unfortunately even after renaming the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file) I still crash after the Space Engineers logo.

Manjaro
Kernel: 5.0.9-2
Nvidia driver: 418.56

https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

I confirm it, the game crashes immediately after start.
OS: Archlinux
NVidia drivers: 418.74

Rroothorick 2019-05-15 github

It looks like 4.2-4 fixed the corrupt terrain issue. Shouldn't need my special DLL anymore. dotnet472 and xact still required.

The stutter is still there. I'm fairly certain it's not audio-related; it's too irregular for that. It seems to get worse as you approach voxels (planets/asteroids) and improve a bit if you sit still. My gut says locking/synchronization related to streaming. I wouldn't know where to begin chasing that down.

Ffls2018 2019-05-15 github

It looks like 4.2-4 fixed the corrupt terrain issue. Shouldn't need my special DLL anymore. dotnet472 and xact still required.

The stutter is still there. I'm fairly certain it's not audio-related; it's too irregular for that. It seems to get worse as you approach voxels (planets/asteroids) and improve a bit if you sit still. My gut says locking/synchronization related to streaming. I wouldn't know where to begin chasing that down.

Can you try Mission 3 "Ruined Camp" of scenario "The First Jump"? The first planet in mission 2 might not be spiky anymore but it hasn't completely fixed the issue here.

Ppipnina 2019-05-15 github

@FurretUber made a guide to getting the game to run a few months ago in this thread, but has that changed since? I.e. replace faudio with xact? Is protontricks required or can installing dotnet472 through normal winetricks work? (feeding it the right WINEPREFIX?)
I tried to follow those original instructions with 4.2-4 and was still left with the black splash screen crash.

Jjarrard 2019-05-16 github

dotnet472 and xact can be installed normally via winetricks, use the --unattended flag (or -q), I just use sppfx scripts.

PROTON_PATH="$HOME/.steam/steam/steamapps/common/Proton 4.2/" sppfx 275850 winetricks --unattended dotnet472 xact

Ppipnina 2019-05-16 github

I tried running WINEPREFIX="/home/[user]/.steam/steam/steamapps/compatdata/244850/pfx/" winetricks -q dotnet472 xact
But then the game still does not launch, in winxp mode (that winetricks sets it to) or win7. I have the most recent release of winetricks

Jjarrard 2019-05-16 github

your scrambling your prefix if you do it that way, which is why I use SPPFX

Rroothorick 2019-05-16 github

Use the latest protontricks. Using winetricks directly can cause issues because it may invoke the wrong version of Wine. Recent protontricks sets up the environment so winetricks will be using Proton bundled Wine.

protontricks 244850 -q dotnet472 xact

(This takes a very long time; be patient.)

Jjarrard 2019-05-16 github

Yeah basically what I was saying. SPPFX is a set of scripts that is like protontricks, but will work with any other commands also.

If you only ever intend to use tricks scripts then protontricks is fine but sometimes I want to manually install something or run winreg etc..

EEvernow 2019-05-16 github

protontricks 244850 -q dotnet472 xact

By running that, and after renaming the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file) I was actually able to not only get to the main menu, but load up a game! The frame rate is actually acceptable(hitting high 90s) but the annoying part is the stuttering, making the experience far from enjoyable.

But it actually does run! And it didn't crash either, only weird issue I experienced is similar to the one fls2018 reported with the terrain! Wonderful work Valve, CodeWeavers, doitsujin and really everyone involved! We're getting so close!

EEvernow 2019-05-16 github

Unfortunately even after renaming the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file) I still crash after the Space Engineers logo.
Manjaro
Kernel: 5.0.9-2
Nvidia driver: 418.56
https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

I confirm it, the game crashes immediately after start.
OS: Archlinux
NVidia drivers: 418.74

Try installing protontricks and running this:

protontricks 244850 -q dotnet472 xact

Then rename the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file)

I was able to get the game to work

Ppipnina 2019-05-16 github

I:

  1. Installed SE
  2. Ran it once to generate the prefix
  3. Ran protontricks 244850 -q dotnet472 xact
  4. Renamed the KSH.wmv file
  5. Tried to run SE with the play button under 4.2-4
    But the game just stays on "running" and never launches. No exe file even shows up in the task manager.

The log file is very short and has this key line in it:
313044.458:0027:0028:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"SpaceEngineers.exe" cannot be loaded 313044.458:0027:0028:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\james\\.local\\share\\Steam\\steamapps\\common\\SpaceEngineers\\Bin64\\SpaceEngineers.exe" failed, status c0000135
steam-244850.log

Mmadewokherd 2019-05-16 github

Sounds like .NET didn't install correctly.

Ppipnina 2019-05-16 github

What causes .NET to install incorrectly?

Kkainz 2019-05-16 github

Winetricks has a problem with the dotnet476 verb and he 'bug workaround'. Try flagging the verb to not workaround' on wine 4.0 or newer.

On May 16, 2019 2:23:41 PM CDT, pipnina [email protected] wrote:

What causes .NET to install incorrectly?

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-493199360

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Rrinaldus 2019-05-16 github

Unfortunately even after renaming the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file) I still crash after the Space Engineers logo.
Manjaro
Kernel: 5.0.9-2
Nvidia driver: 418.56
https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

I confirm it, the game crashes immediately after start.
OS: Archlinux
NVidia drivers: 418.74

Try installing protontricks and running this:

protontricks 244850 -q dotnet472 xact

Then rename the file here:~SpaceEngineers/Content/Videos/KSH.wmv (just add .old to the end of the file)

I was able to get the game to work

Yes, I succeeded to run the game. I couldn't install dotnet472 without -q parameter, it gave error. But the game is still unplayable for me. FPS is too low, stuttering audio and graphic artefacts (for example, black space colored pink). I set graphic quality to low, but with the same result. My videocard is NVidia GTX 770, drivers are 418.74.

IIzaic 2019-05-17 github

FPS is fine for me, however there's audio and graphical stuttering (every time the audio stutters the graphics do too).

(Arch linux and AMDGPU driver on Gigatebyte RX 560 4GB OC)

OOnyx47 2019-05-20 github

I have now played and tested the game for about 2 hours and found some additional bugs:

  • Particle effects don't work. This includes tool effects, smoke, etc.
  • Postprocessing also seems to not work
  • Engineer headlights do work, but just result in a solid cone of light, no fading on the edges etc. spotlights and interior lights seem to work fine.

This is in addition to the stuttering everyone else is experiencing. None of this is game breaking, but it's bugs none the less.

Jjarrard 2019-05-20 github

What graphics engine does SE use? unity?

Rroothorick 2019-05-20 github

Space Engineers uses an in-house-developed engine called VRAGE. The same engine is used in Medieval Engineers and Miner Wars 2081.

Jjarrard 2019-05-20 github

probably explains allot, lots of non conformant hacks most, probably.

FFrontrider 2019-06-08 github

I did not needed the rename to make it work. Only the stuttering is left as an actual problem.

The menu background won't display the videos. That could be looked into, might solve other things as well.

EEvernow 2019-06-20 github

Not sure but the game seems better now, still seems slow even though the fps is high but the big stuttering seems to be gone.

Although the fps drops a lot when saving it seems. Still needs improvements to make the experience fully playable, but it's getting there fast. Goodjob everyone!

FFrontrider 2019-06-20 github

What you did to get rid of the stuttering (which is a 100% audio related, as it's gone when I hit the mute button)? latest proton?

Kkellerkindt 2019-06-21 github

Hmm, all I get for a while now is this error message:

grafik

Any idea how to fix that?
I am using Proton 4.2-7 and have xact, dotnet472 installed

EEvernow 2019-06-21 github

What you did to get rid of the stuttering (which is a 100% audio related, as it's gone when I hit the mute button)? latest proton?

I don't think I did anything, I mean the stuttering is still there, it's just much less prevalent than before, at least for me. maybe the new nvidia driver(on430.14 right now) and Proton updates?

Kkisak-valve maintainer 2019-06-21 github

Hello @kellerkindt, DXVK needs a working Vulkan driver stack to translate DirectX 11 to Vulkan. Does any vulkan application like vulkaninfo work?

Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Kkellerkindt 2019-06-21 github

Hello @kellerkindt, DXVK needs a working Vulkan driver stack to translate DirectX 11 to Vulkan. Does any vulkan application like vulkaninfo work?

Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Here you go:

vulkaninfo
steam-info

Kkisak-valve maintainer 2019-06-21 github

At a glance, that looks like it's fine. Please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-244850.log into the comment box.

Kkellerkindt 2019-06-21 github

At a glance, that looks like it's fine. Please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-244850.log into the comment box.

Here it is

Kkisak-valve maintainer 2019-06-21 github

Looks like wine-mono is having trouble with a couple variants of Mono: DllImport error loading library 'd3d11': 'Datei nicht gefunden. throughout the log.

Mmadewokherd 2019-06-21 github
11121.045:0025:0026:trace:module:get_load_order looking for L"C:\\windows\\system32\\d3d11.dll"
11121.045:0025:0026:trace:module:get_load_order_value got environment  for L"d3d11"
11121.046:0025:0026:warn:module:load_dll Failed to load module L"d3d11.dll"; status=c0000135

This indicates that d3d11.dll has been disabled by the WINEDLLOVERRIDES environment variable.

Kkellerkindt 2019-06-21 github
11121.045:0025:0026:trace:module:get_load_order looking for L"C:\\windows\\system32\\d3d11.dll"
11121.045:0025:0026:trace:module:get_load_order_value got environment  for L"d3d11"
11121.046:0025:0026:warn:module:load_dll Failed to load module L"d3d11.dll"; status=c0000135

This indicates that d3d11.dll has been disabled by the WINEDLLOVERRIDES environment variable.

Well, its not set (by me):

$ echo ">> $WINEDLLOVERRIDES <<"
>>  <<
IIzaic 2019-06-21 github

Since the latest version of proton, I've been encountering this error message in other games. Sometimes they run still after clicking ok, such as war thunder in proton. This makes me wonder if it's a bug. I've tested proton on both arch linux, and openmandriva lx4 znver. I'm not sure if it would matter any, but I personally use a RX 560 with AMDGPU drivers... Not sure if the other commenter here uses AMD too.

LLordJABA 2019-06-23 github

I'm unable to install dotnet472.
My winetricks --version is 20190615-next.
when i try: protontricks 244850 -q dotnet472 xact It's failing on dotnet 40 with
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

Bbwyan86 2019-06-27 github

I'm unable to install dotnet472.
My winetricks --version is 20190615-next.
when i try: protontricks 244850 -q dotnet472 xact It's failing on dotnet 40 with
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

I am having the exact same issue. No idea how to solve it. I'm using Ubuntu 18.04 and protontricks 1.2.2 with an AMD R9 Fury GPU.

EEvernow 2019-06-27 github

I'm unable to install dotnet472.
My winetricks --version is 20190615-next.
when i try: protontricks 244850 -q dotnet472 xact It's failing on dotnet 40 with
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

I am having the exact same issue. No idea how to solve it. I'm using Ubuntu 18.04 and protontricks 1.2.2 with an AMD R9 Fury GPU.

I used Protontricks GUI with no issues, maybe try that?

Bbwyan86 2019-06-27 github

I'm unable to install dotnet472.
My winetricks --version is 20190615-next.
when i try: protontricks 244850 -q dotnet472 xact It's failing on dotnet 40 with
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

I am having the exact same issue. No idea how to solve it. I'm using Ubuntu 18.04 and protontricks 1.2.2 with an AMD R9 Fury GPU.

I used Protontricks GUI with no issues, maybe try that?

I just tried and still getting the following error:
dotnet40 install completed, but installed file /home/username/.steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

EEvernow 2019-06-27 github

I'm unable to install dotnet472.
My winetricks --version is 20190615-next.
when i try: protontricks 244850 -q dotnet472 xact It's failing on dotnet 40 with
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

I am having the exact same issue. No idea how to solve it. I'm using Ubuntu 18.04 and protontricks 1.2.2 with an AMD R9 Fury GPU.

I used Protontricks GUI with no issues, maybe try that?

I just tried and still getting the following error:
dotnet40 install completed, but installed file /home/username/.steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

What distro are you on? Maybe a package is out of date?

Bbwyan86 2019-06-28 github

What distro are you on? Maybe a package is out of date?

I'm on Ubutntu 18.04. I made sure to check for updates to protontricks before running the command. As I wrote, the latest version available for me seems to be 1.2.2.

EEvernow 2019-06-28 github

What distro are you on? Maybe a package is out of date?

I'm on Ubutntu 18.04. I made sure to check for updates to protontricks before running the command. As I wrote, the latest version available for me seems to be 1.2.2.

Go to Steam, Help, System information, select it all (CTRL + A) and then copy it all (CTRL + C) and paste it into pastebin.com if you can pls

Ffwillo 2019-06-28 github

Hi, I experience exactly the same error as @bwyan86 and @LordJABA . Here is my system information https://pastebin.com/7Ab8CY1Q

LLunaSquee 2019-06-29 github

protontricks 244850 -q dotnet472 xact required a PRECISE combination of winetricks 20190310 and protontricks 1.2.2, no more no less, as then it would fail on installing dotnet40.

Planet-based worlds crash on higher than low graphics settings. Speaking of planets, the terrain is completely broken (Proton 4.2-9):
Planet glitched

Ffwillo 2019-06-29 github

Thanks for the hint @LunaSquee . I had to run protontricks 244850 -q --force dotnet472 xact though. I cannot confirm the broken terrain on planets, though. Ingame I experience annoying short freezings/stuttering in 1-2 seconds intervalls. But this covers with the current experience of other users regarding the posts on protondb. Hopefully this will be dealt with! Looking forward to.

EEduardoGodoy 2019-07-01 github

What distro are you on? Maybe a package is out of date?

I'm on Ubutntu 18.04. I made sure to check for updates to protontricks before running the command. As I wrote, the latest version available for me seems to be 1.2.2.

i am having the exact same issue as you, i'm on ubuntu 16.04

Ffwillo 2019-07-01 github

@EduardoGodoy did you try @LunaSquee 's suggestions with protontricks 1.2.2 and winetricks 20190310?

SSpookySkeletons 2019-07-11 github

The terrain and shadows now working properly...

The could pass as a silver rating if we could just nail down the cause of the in-game stutter. It averages about 110-150ms on the DXVK frametime counter.
Is there some way to profile dotnet applications under wine to spot the hangup?

Jjarrard 2019-07-11 github

did someone say it was related to audio? perhaps remove all audio drivers and components/files and test again?

SSpookySkeletons 2019-07-11 github

The game crashes immediately when the audio folder is missing.
Turning all audio settings off doesn't seem to change anything.

LLordJABA 2019-07-11 github

@fwillo If you are determined and have a few hours of time my dirty workaround was to:

  • open /usr/bin/winetricks in text editor
  • look for load_dotnet472()
  • few lines below is a call to previous dotnet version like w_call dotnet462.
  • I followed the chain and removed the 4.0 from the last one
  • tried again
  • it failed on some later version
  • every time that happened found a download link and arguments for the installer in the winetricks script and installed it inside the wine prefix by hand. (4.0 seems to be integrated in wine?/not needed, the newer ones are needed )
  • after that remove/comment call to just installed dotnet version in winetricks script and try again

After 2 or 3 hours I got space engineers working smoothly... maybe except the starting part - you will have only a blank screen, you need to wait at least ~15s and click the mouse for the menu to appear.
After that the performance is the same as in windows for me, but if I install any mods it won't work in steam offline mode- not sure if that's the game or my setup

EDIT: to be clear im running not under proton but via

lutris wine steam runner
wine version: ge-protonified-nofshack-4.9
DXVK:1.2.3
SSpookySkeletons 2019-07-12 github

You can get proton GE for steam precompiled with 4.11 at the latest. Works with spengies.
So what you're saying is:
You used Proton's inbuilt mono for dotnet 4.0 and under but installed the Microsoft binaries for everything past that and it worked without stutter?

Could you ~zip and upload your wine bottle or~ be a little more concise on how you accomplished this?

Moderator note: Above line partially struck out because it would contain copyrighted libraries from the workaround.

Ffwillo 2019-07-12 github

@LordJABA I'm willing to try your instructions. Nevertheless, I have to agree on @SpookySkeletons notes: Your instruction are a bit foggy. Could you write a detailed list of steps in order to reproduce your workaround? Also from what I have read: shouldn't this approach work with steam and protontricks as well instead of Lutris + winetricks? The only thing you did was installing the dotnet472 without dotnet40, just to install that manually after winetricks? Looking forward to your answer.

LLordJABA 2019-07-12 github

@SpookySkeletons I'm sure I got mono turned off, despite that dotnet 4.0 installer claims that I already have never version installed and refuses to install.
@fwillo Sorry for unclear instructions- I was hesitant to even post them like that. I wandered here few days after I figured it out so no bash history or fresh memories.

will do my best to clean it up for you below assuming fresh system.

  • First Install wine make sure it also installed wine32:i386 - it did for me,
  • install Lutris https://lutris.net/downloads/
  • In lutris click the cog near "Runners" in the top left to get to runner manager,
  • Find "Wine" on the list click blue "Manage Versions" button and make sure you got ge-protonified-nofshack-4.9 on the list and enabled
  • Just below "Wine" on the list should be "Wine Steam" click "Runner Options" next to it and add %command% -no-cef-sandbox in "Arguments", set the correct wine version, and mark stop steam after game exits
  • Click Install Runner

It should install just fine. Now the tricky part.

Install winetricks via bash script as described here https://github.com/Winetricks/winetricks
this way you can always run update_winetricks to unf... restore your /usr/bin/winetricks

In console type
export WINEPREFIX="/home/<user>/.local/share/lutris/runners/winesteam/prefix64"
You can check it in lutris runner options
Now you are working inside the winesteam prefix

I Will use dotnet 40 as example on how to remove dependency in winetricks as we need to do that one for sure,
Make sure mono is off by typing winetricks remove_mono
Try typing winetricks dotnet472 - it will try but for me it fails at the beginning trying to install 40 claiming its already up to date - this prevents winetricks from installing never ones.
So open /usr/bin/winetricks in text aditor and find "load_dotnet472"

 load_dotnet472()
{
   w_package_warn_win64

   if w_workaround_wine_bug 42170 "Running un-official repacked .NET 4.7.2 setup until the official version is fixed.", 3.1; then
       # Un-official slim version. See https://repacks.net/forum/viewtopic.php?t=7
       file_package="dotNetFx472_Full_x86_x64_Slim.exe"
       w_download "https://drive.google.com/uc?export=download&id=1aLBCH0Yt2-6ROpWRBxZ01kqGMyhc_8hM&confirm" a36da041b8f46079f8e16647312d642953cde520f4a600ad5b3f4f90a23495a7 $file_package
       unattended_args="/ai /gm2"
   else
       # Official version. See https://www.microsoft.com/en-us/download/details.aspx?id=53344
       w_download https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe c908f0a5bea4be282e35acba307d0061b71b8b66ca9894943d3cbb53cad019bc
       file_package="NDP472-KB4054530-x86-x64-AllOS-ENU.exe"
       unattended_args="/sfxlang:1027 /q /norestart"
   fi

   w_call remove_mono

   w_call dotnet462
   w_set_winver win7

There is few things to note here:

  • you see w_call to dotnet462 so you need to goto load_dotnet462 and repeat that untill you get to the one that has call to the failing one - so in our example w_call dotnet40 is in the load_dotnet48 and needs to be removed to go forward.
    You will need to do this for every installer that wont install automagically via winetricks (you installed it by hand)or if it installs successfully but winetriks wont mark it as installed.
    Things you need if installer fails:
  • in w_set you have needed win version for installer
  • in w_download you got 2 urls(in this case) which you can paste to web browser to download installer
  • in unattended_args you have arguments to run the installer with

assuming you removed call to dotnet40 and saved the file you can try again.
It will fail few installers after that -

  • if installer claims that install was successful but winetricks complains about missing files at the end and wont install the next one remove the w_call to it - it probably installed fine but check failed.
  • if does not even start try if the url is working - if not search on microsft page or google for .exe name
  • if the url is ok download it,
    set win version according to winetricks part for that dotnet ex.winetricks win7
    try running it wine <installer>.exe <arguments from winetricks>
  • If it fails try without the arguments - you will have to click next ;)
  • If it fails and you got more than one url/installer try the other one
  • if it wont install anyway remove the w_call and hope this one is not needed -at least one of them failed no mater what I did but the game runs.

After you get dotnet472 finally installed you just need to add few things (i have them not sure they all needed)
winetricks xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9 d3dx10 corefonts - i got no issues here
xact-this on is needed for sure

Then in lutris click on Wine steam on the list of runners and + sign above the list to add the game.
Type in a name and under "Game options" tab the steamid 244850 for space eng
Icons and rest are optional,
Check runner options
Arguments: %command% -no-cef-sandbox
wine version: ge-protonified-nofshack-4.9
DXVK:1.2.3 and enabled
Start it from the app list and it should run steam and start the download

Hope it works!

Mention me if you need help ... or [email protected] - its public anyway

LLtSich 2019-07-18 github

I wasn't able to run the game with lutris (Steam say that I don't have network), but I have installed on Steam with protontricks 1.2.2 and winetricks 20190310. Proton 4.9.2.
I have install dotnet472 xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9 d3dx10 corefonts.
I have renamed the intro video and start the game with : PROTON_NO_ESYNC=1 %command%

And honestly the game run fine. I have around 100 fps on planet with high graphic settings. I was able to start a game with a lot of mods. I didn't play for hours atm, I have to take time to make more test.
Mining on rocks was ok, mining was fine on planet or asteroids. I started with the star system map.

I have a sound bug like everyone, but it's ok after few minutes. The bug continu less noticeable, but you can play. I have to make test if I join other game, without hosting myself the game.

It seem that the game is close to be playable without problem, except thtat sound bug.

Thx for all the tips on this page !

LLordJABA 2019-07-18 github

@LtStich Did dotnet472 installed fine without any problems for you?
If yes that's a great news, they finally fixed the script. I confirm a
little sound stutter just after start. I also noticed that shadows
sometimes strangely flicker but I don't know if it's the game's fault or
proton

czw., 18 lip 2019 o 11:26 LtSich [email protected] napisał(a):

I wasn't able to run the game with lutris (Steam say that I don't have
network), but I have installed on Steam with protontricks 1.2.2 and
winetricks 20190310. Proton 4.9.2.
I have install dotnet472 xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9
d3dx10 corefonts.
I have renamed the intro video and start the game with : PROTON_NO_ESYNC=1
%command%

And honestly the game run fine. I have around 100 fps on planet with high
graphic settings. I was able to start a game with a lot of mods. I didn't
play for hours atm, I have to take time to make more test.
Mining on rocks was ok, mining was fine on planet or asteroids. I started
with the star system map.

I have a sound sound like everyone, but it's ok after few minutes. The bug
continu less noticeable, but you can play. I have to make test if I join
other game, without hosting myself the game.

It seem that the game is close to be playable without problem, except
thtat sound bug.

Thx for all the tips on this page !


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792?email_source=notifications&email_token=ABSXEL3A4XGGNMQUHZ4NSITQAAZNVA5CNFSM4F6IMNRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2H4LLQ#issuecomment-512738734,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABSXEL6J4HFRILSQPK5FHVLQAAZNVANCNFSM4F6IMNRA
.

LLtSich 2019-07-18 github

@MagicRB It's was fine but with protontricks 1.2.2 and winetricks 20190310.
Newer version of winetricks seem to have issue, I should try again, but now that the game is working I don't want to break everything :)

I will play a little more and see if everything is fine.

Jjarrard 2019-07-19 github

Yeah I cant get game to work because protontricks (1.2.3-1) won't install dotnet because it thinks its already installed. This is with a fresh arch install also so there is a major malfunction in recent wine versions or something. Quite a pita, who knows if it will ever be fixed..

If only MONO emulated dotnet 472....

LLtSich 2019-07-19 github

Those issue should be documented and installed by Steam directly for the game...
It's annoying to need to play with prototricks and winetricks...

Wich version of winetricks do you use ? You know that you can make a manual install to use a specific version...

Jjarrard 2019-07-19 github

wget http://winetricks.org/winetricks -O /usr/bin/winetricks

So latest, whats the command to install the correct working version?

SSpookySkeletons 2019-07-19 github

Here's an interesting bit I've noticed.
The very same stutter that's normally present in game becomes super frequent if you pull out any hand tool.

DXVK render passes also seems to make a leap into the triple digits on stutter.

In other news, how soon will wine mono be ready to run dotnet 4.7.2 applications? Anyone know what it's implemented so far?

LLtSich 2019-07-21 github

wget http://winetricks.org/winetricks -O /usr/bin/winetricks

So latest, whats the command to install the correct working version?

Go here : https://github.com/Winetricks/winetricks/releases
Download : 20190310
Decompress, go to src to get wintetricks.

Uninstall the Winetrick that you have.
And place the winetricks you have downloaded in your path (/usr/local/bin for me on Debian).

After that try to reinstall from scratch SE and try to reinstall all what you need.
Don't forget to rename the intro video.

Jjarrard 2019-07-22 github

ok installing dotnet now appears to work. WHY would the winetricks maintainers cripple .net support? anyone know? seems nobody notices even tho its essential for so many things, that's like releasing a wine update that prevents .exe from running..... madness!

Anyway I left a issue on the github about it, who knows maybe someone will notice....

About the game, well it appears to load up now, the sound stutters a fair bit, I loaded a custom game on earth planet and it loaded up fine except lots of stutters and pauses, likely related to the sound engine having issues, it also warned about performance issues a few times but that seems to go away.
I would say the issues relate to the sound engine causing the stuttering problems etc...

LLtSich 2019-07-22 github

I'm not sure the problem is linked to ths sound engine, but more probably about performance affecting the audio. I had another game like this, the sound stuttered, but once I got a new CPU it run fine.

On my side I have play few hours now, the game run fine generally, but the sim speed don't go over 0.8.
I have disabled music, but that doesn't change the performance.

Few crash, but in general the game is playable if you accept some lags / stutter and crash.. I have around 100fps in medium graphic setting on Earth.
I will test my atmo miner today probably, will see if the game doesn't crash. Actually I have only a small rover...

I have installed dxvk 0.96 with protontricks, but that doesn't change anything.
My CPU is not really used, the load is small, but the game seem to not being able to use all the core or performance from the computer.

As I say before, for me the sound problem is the consequence of the global performance issue (probably CPU side) and not the reason the game stutter... Don't know what we can do about that...

Llucifertdark 2019-07-22 github

ok installing dotnet now appears to work. WHY would the winetricks maintainers cripple .net support? anyone know? seems nobody notices even tho its essential for so many things, that's like releasing a wine update that prevents .exe from running..... madness!

Anyway I left a issue on the github about it, who knows maybe someone will notice....

About the game, well it appears to load up now, the sound stutters a fair bit, I loaded a custom game on earth planet and it loaded up fine except lots of stutters and pauses, likely related to the sound engine having issues, it also warned about performance issues a few times but that seems to go away.
I would say the issues relate to the sound engine causing the stuttering problems etc...

I doubt they would do it intentionally, it's more likely Microsoft changing the .Net installer in some way so the version number is different to what Winetricks was looking for, they do love to tinker.

Jjarrard 2019-07-22 github

the dotnet installers have not changed

Llucifertdark 2019-07-22 github

the dotnet installers have not changed

Well with things like this all it takes is a single spelling mistake on a single line to cause all sorts of problems, I seriously doubt the maintainers of Winetricks would do something like this to screw with us, what would be the point?

FFurretUber 2019-07-22 github

It seems Wine 4.12.1 installs .Net in such way it works with Wine 4.12.1, while Wine 4.2 installs it such way it works with 4.2. Setting WINE and WINESERVER environment variables pointing to the Proton binaries made winetricks work reliably.

Regarding the game, I get serious stuttering because of sound: Simulation Speed is 1 but thanks to sound effects it reduces to 0,73 and return to 1 later. If I use the welder Simulation Speed drops to 0,53 until it recovers. The problem happens regardless if I remove FAudio libraries or if I use winetricks xact, even with sound disabled it happens, really noticeable with the welder.

It seems there is a graphical bug on helmet's corners and light sources, but this is minor.

System information

Kkellerkindt 2019-08-01 github

With Proton 4.11-1 it works out of the box if you have renamed the video file. But there is quite a stutter, for audio and visually. Installing dotnet472 and xact did not seem to solve that. Any tips?

Jjarrard 2019-08-01 github

I haven't figured out how to resolve the stutter either, if it wasn't for the stutter then it be just fine, even at 4k on my 1080TI it gave 50-60fps which is quite nice, except for the stutters...

LLtSich 2019-08-01 github

No performance change for me with 4.11.
I continu to think that the sound issue is a performance problem and not a sound issue (see the sim speed). The sound stutter because of the bad stability / performance.

Switching to kernel 5.2 give ma little boost performance. But the sound issue is always here.

Ffwillo 2019-08-01 github

I also cannot confirm a performance improvement for me with Proton 4.11. I also tried out the FSync function on Arch Linux with the provided linux-fsync kernel. Verified that the correct kernel is loaded and cannot confirm an improvement here as well, unfortunately. The stuttering is still there.

One minor question: The game was started with DXVK_HUD=full %command%. The frametimes graph shows red bars when the stuttering occurs. I assume this has no special meaning other than that no frames are rendered?

FFurretUber 2019-08-01 github

I did notice the "idle" simulation speed got a bit higher here, from 0,73 to 0,87 consistently. The performance problem that happens, apparently, when sounds are played is still present. It's strange that it keeps running at 0,87 simulation speed even when there are, supposedly, enough CPU spare cycles.

I noticed that often the game seem to recreate the sound streams. pavucontrol shows the game stream is the stream 2, but later it's stream 6 and later it's stream 10 when using pulseaudio.

Also, every time I close the game it opens the Wine Debugger and then open the window saying the game crashed.

I recorded a video showing a bit of the game status, including the sound problems: https://cdn.discordapp.com/attachments/457747189616214019/606572169886957577/se-sound000.webm

The winetricks command I used for the current prefix is winetricks -q xact dotnet472 vcrun2013 vcrun2015 vcrun2017 faudio sound=alsa. And the current system specifications.

LLtSich 2019-08-01 github

Interesting, I clearly have better performance and I don't have this issue when using tools (at least not that much). My sim speed is between 0.7 and 0.9.

When I play if I run htop I can clearly see that my CPU is not fully used, I have a lot of "spare ressource" available. They can probably do something about that... Like change the video for the start menu and don't use that wmv format... Maybe that all the things about the sound is the same problem... Very "windows like" files and tools...

[EDIT]
Quick test in space, no mods. Small sound issue, but really small.
Sim speed between 0.9 and 1. Don't go below 0.8 even when I use tools.
Around 100 fps with high graphic setting.

Performance will probably drop if drone spawn, I have big issue with that in my game with mods on earth. As game can't probably manage to use all the core or spread the load.
[/EDIT]

Jjarrard 2019-08-01 github

Have we confirmed that a apitrace for this game isn't going to help with this particular issue? sounds like it could be a wine related issue and not dxvk.

Kkainz 2019-08-02 github

Theres actually 3 or 4 rollup issues as i understand them:

  1. audio needs some rather bleeding edge FAudio stuff to work. This is not merged either as of Proton 4.11. Even with FAudio you will see a significant amount of audio stuttering which may lessen depending on your machine/cpu/framerate/etc.
  2. dotnet472 is required. I think Proton 4.11 fixes this?
  3. ingame video doesnt work. Probably a media framework problem like a bunch of other games have.
  4. Haven't been able to test yet with Proton 4.11, but on 4.2 at least, the 'windowscodecs' PNG parser (or code upstream from it) doesn't correctly handle the byte-order of 16-bit grayscale PNGs, which is what VRAGE (the space engineers engine) uses for its planetary heightmaps. This might be fixed, but I moved from a nvidia machine to a Vega so I'm getting hit myself with GPU hangs seen as in https://github.com/doitsujin/dxvk/issues/252 when I try to run SE on a planet. I can go back and check on the nvidia machine some time later, but if you're seeing 'spiky' planets, see https://source.winehq.org/git/wine.git/commit/0c0def962f2b86f44625f11d8d9d2013aaffa46a if you want to try backporting that fix.
SSpookySkeletons 2019-08-03 github

@kainz
Are the missing Faudio bits causing the stutter in-game?
Any open issue or patches to try them out that you're aware of?

I know for a fact it's been profiled before and the stutter was not a result of any DX calls.

LLtSich 2019-08-03 github

I'm not dev, but on my opinion the issue we have with SE is more linked to the multi thread and performance.
Probably what they are working on : https://lkml.org/lkml/2019/7/30/1399 and with the esync replacement : fsync : https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305

This need a very recent kernel, maybe someone on Arch can make some test... I will look as I use the Liquorix kernel on Debian...

For fsync instruction : https://steamcommunity.com/app/221410/discussions/0/3158631000006906163/

Ffls2018 2019-08-03 github

The game launches with just Mono, but I get this message (which clicking closes the game):

Screenshot from 2019-08-03 08-42-12

Surprisingly I had no menu music stutter when this popped up, maybe the stutter is due to dotnet itself on wine?

SSpookySkeletons 2019-08-03 github

Whoa! Neat! How'd you get it to launch with Mono?
@LtSich
Gentoo user here, fsync doesn't help. If it's mono like @fls2018 says above then this could be a nice fix.

Jjarrard 2019-08-03 github

depends if it stutters ingame.

Ffls2018 2019-08-03 github

Whoa! Neat! How'd you get it to launch with Mono?
@LtSich
Gentoo user here, fsync doesn't help. If it's mono like @fls2018 says above then this could be a nice fix.

Just a fresh prefix with the mono proton installs by default, I also had to change xaudio dlls to native as faudio makes it crash. I'm guessing the popup is because either mono needs wpf or maybe it's checking for .Net, finding mono instead and refusing to continue. In the logs I see it recognizes mono as the environment: Environment.Version: Mono 6.3.0 (tarball)

I also installed dotnet472 again it allowed me into the game but menu stutter returned, also using fsync kernel.

LLtSich 2019-08-03 github

Then you say that there is no stutter with mono, but the game refuse to continu without dotnet...
Is that something that KSH could directly change in their game to help us ?
Same as changing the video format to avoid renaming the intro video and to be able to see those video in the background in the menu...

SSpookySkeletons 2019-08-03 github

This may be something KSH could change. If they remove the dotnet check in the presence of wine it may assist but this is of course a: DO NOT from the advice of the wine developers.

We should open a bug report on WineHQ and get some assistance same as the terrain spike issue. Where can I find this bleeding egde mono binary?
Going to test a nightly build.

SSpookySkeletons 2019-08-03 github

Now that I've tested this out it may actually be worth asking the developers to ungate the useage of mono. They check the enviornment variable to see if you're running old buggy dotnet to tell you to update but it seems that it doesn't account for a null value and just drops the game altogether.

The log states: 2019-08-03 11:07:01.985 - Thread: 1 -> Error occured during enumerating environment information. Application is continuing. Exception: System.ArgumentNullException: Value cannot be null.

In this instance if we can ask up KSH to drop the check Proton may work with a Gold rating that quickly on protondb!
Where's a good place to get a hang of Keen?

Ffls2018 2019-08-03 github

Then you say that there is no stutter with mono, but the game refuse to continu without dotnet...

Just to be clear I'm talking about the menu music stuttering, which seems to be related to the ingame stutter. It may be it's not audio or graphics that's the problem but the fact this game relies more on .Net than some other titles and .Net via winetricks is flaky at best.

It may be it just needs mono not to be blocked by the check and all is well, however if the game uses other stuff from .Net like WPF then it might be the case it's giving the popup because it can't use it because it's not available in mono (yet).

@SpookySkeletons

Here probably: https://forum.keenswh.com/

LLtSich 2019-08-03 github

1 dev from KSH should really join us here and look into this...
This and the video format to use something else that would work on Linux to avoid the need to rename the intro video...

SSpookySkeletons 2019-08-03 github

I can't get a confirmation email for my old account it seems so someone else will have to make the thread. As @LtSich said point them to our git so we can get a dialog going here as well!

SSpookySkeletons 2019-08-03 github

I know KSH is also active on Discord if anyone has a link to their channel you could direct message them there.

Ffls2018 2019-08-03 github

Here's the official discord: https://discordapp.com/invite/KeenSWH

SSpookySkeletons 2019-08-03 github

We need to ask if the game requires WPF or other DotNet specific components.
Unblocking mono wont be worth much if they're using unimplemented features.

MMaltahl 2019-08-03 github

Proton 4.11-1 adds a regression that reintroduces buggy terrain generation

Proton 4.2-9 works fine but still have stuttering but that seems to be DotNet as SpookySkeletons and fls2018 mentioned

LLtSich 2019-08-03 github

It seem that the 4.11 version add a lot of problem.
Empyrion and Frostpunk doesn't start anymore but work fine with 4.2-9.

Apparently SE have some issue back with the terrain generation.
Didn't see that myself but I only played few minutes to test if the game start.

Rroadh0use 2019-08-04 github

tried running with 4.11-1 with d9vk enabled. gives an error that .net framwork is out of date and to use a windows hotfix and then crashes.

MMaltahl 2019-08-04 github

tried running with 4.11-1 with d9vk enabled. gives an error that .net framwork is out of date and to use a windows hotfix and then crashes.

The game is not supposed to run on DirectX 9 unless you rollback a few patches.

DXVK and Proton 4.2-9 with DotNet 472 is currently the only know way to run the game.
It will however stutter and that is currently not avoidable.

Jjarrard 2019-08-06 github

Its more of a performance glitch then anything, something is hitching, if that something was resolved the game would perform and run fine at good fps..

IInflexCZE 2019-08-09 github

Fist of all, GREAT JOB.
You've come a long way that only true engineers can follow. That's some real dedication right there. :+1:

Now back to the subject.
Regarding the performance issues number of you mentioned, I'd recommend you to switch to a "Modding build" which we distribute along with the vanilla build in Steam.
Besides bunch of goodies for modders, it comes with our internal profiler enabled so you'll be able to see exactly what's slowing down your game. It's always easier to fix it when you know what's the issue.

You'll find all you need here:
https://github.com/malware-dev/MDK-SE/wiki/Advanced-Profiling-The-Game

When it comes to the ".NET version check", the game does not enforce any specific version of the .NET as long as all components start and run properly.
After a quick look into the code, it looks like this message-box is triggered by failure in script compiler initialization. If that's the case, you should see following line in the game log:
"Error during ModAPI initialization: SOME MESSAGE HERE"

The compiler is not essential for the game as long as you don't require mods or in-game scripts, so you can knock it off for test. You know how to fiddle with MSIL binaries, right?
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/Sandbox.Game/MySandboxGame.cs#L1401

Ffls2018 2019-08-10 github

@InflexCZE
Thank you for the information.

I'm not that experienced at IL editing but managed to edit that value and get through to the menus with mono:

Screenshot from 2019-08-10 02-37-36

But on attempting to load a game it crashes with this error:

Screenshot from 2019-08-10 02-28-48

Here's the log:

SpaceEngineers.log

Chances are I might not of edited the dll correctly, it's showing errors about there being a duplicate of whitelist something or other.

IInflexCZE 2019-08-10 github

Based on the log, the marriage of Mono and our compiler is not particularly happy one :stuck_out_tongue:
That's fine, we don't need it.

Unfortunately there is no single point to disable the compiler (yet) so you gonna have to gut out 2 key places I've identified and hope for the best.

  1. Get rind of all stuff in this ctor.
    https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptWhitelist.cs#L47

  2. Make this method return null (prevent it from invoking the compiler core)
    https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L154

Nnsivov 2019-08-10 github

@InflexCZE is there an understanding what fails and why? Or a way to create a small test that fails in similar fashion.

IInflexCZE 2019-08-10 github

Every .NET runtime (.NET FW, Mono, .NET Core, Xamarin, ...) comes with base class library (BCL) of its own. While the implementation and functionality is very similar across the board and program compiled with one specific BCL in mind is usually fine when given different implementation at runtime, some differences are still there.

In this case it's distribution of certain BCL types among the BCL binaries that's throwing the compiler off. Few quick adjustments would probably resolve the issue and make the compiler fully functional on Mono BCL too, but that would be a bit harder then knocking the compiler off and testing if the game runs on Mono-Linux better or not. If so, then we can focus on polishing.

I hope that answers your question in an understandable matter :smile_cat:

OOnyx47 2019-08-10 github

Well, I tried going the other way and trying to get the profiler build working, but I had less luck with that. I installed the Mod SDK and tried to run the game by both installing dotnet472 and xact into its prefix and symlinking the Contents folder into its path (that's how I actually ran Mod SDK on my Windows install) and by copying the Bin64_Profiler folder into my regular install (where everything is already working and I can start the game). Neither approach really worked.

I set all the environment variables wine might need and used wine found in ~/.local/share/Steam/steamapps/common/Proton 4.11, tried running proton run from that directory, but every method yielded the same results:

  • I got a warning about running without the Steam runtime and instructing me to change the value of the MyFakes.ENABLE_RUN_WITHOUT_STEAM variable, which I cannot do without editing the assembly, as I understand it at least.
  • It then complained about running Windows and graphics card driver updates
  • After all that, all I get is a crash, with the following stack trace
Unhandled Exception: System.ArgumentException: Parameter is not valid.
   at System.Drawing.Image.get_Flags()
   at System.Windows.Forms.ControlPaint.IsImageTransparent(Image backgroundImage)
   at System.Windows.Forms.Control.set_BackgroundImageLayout(ImageLayout value)
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.InitializeComponent()
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm..ctor(MyCrashScreenTexts& texts)
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.ShowDialog(MyCrashScreenTexts& texts, String& message, String& email)
   at Sandbox.MyErrorReporter.ReportGeneral(String logName, String gameName, String id)
   at Sandbox.MyCommonProgramStartup.PerformReporting()
   at SpaceEngineers.MyProgram.Main(String[] args)

Which is not that useful anyway because that's the crash report message failing to load...

If anyone has an idea on what I'm doing wrong and can get the profiling build working proper instructions would be appreciated, more eyes on the problem the better :)

IInflexCZE 2019-08-10 github

Please provide game log. It should contain the original exception.

OOnyx47 2019-08-10 github

Log attached:

SpaceEngineers.log

Since it's mentioning DX9 in some of the namespaces I tried running it without DXVK thinking that might be tripping it up, but it does not seem to have helped.

IInflexCZE 2019-08-10 github

The issue is actually somewhere in internals of this method (Windows Forms) as it failed to load image of the game cursor.

https://github.com/mono/mono/blob/master/mcs/class/System.Drawing/System.Drawing/Image.cs#L154

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

Hopefully someone knows what's going on, cos this is where my field of expertise ends.

OOnyx47 2019-08-10 github

Well, I was doing something wrong as well when manually messing with the prefix, os I tried just dropping the Bin64_Profile folder into my regular install and renaming it to Bin64. This helped somewhat (got the splash screeen), but it's presumably failing due to additional bits included in the profiling build. First, it fails to get the OS name (using Mono, doesn't complain with actual MS dotnet installed) but seems to get past that (with seemingly correct OS name too, so, yeah...) but fails at trying to initialize the graphics (this happens with both DXVK active and when setting USE_WINED3D).So, it seems that the profiling build won't load for now.

SpaceEngineers-Mono.log

Mono log attached, the actual crash is the same with dotnet, this just demonstrates the flaw in Mono as well.

IInflexCZE 2019-08-10 github

Drop here render log too please

OOnyx47 2019-08-10 github

Ah, never noticed that gets written by it. Here it is:

VRageRender-DirectX11.log

Failing at shader compilation it seems. Is there a way to get precompiled versions of those somewhere?

IInflexCZE 2019-08-10 github

Interesting. Game already comes with precompiled shaders in %SE_install_dir%/Content/ShaderCache.
Check if they are in tact, not corrupted or anything.

Alternative cache dir for by-game-compiled shaders is %dir_where_you_found_the_logs%/ShareCache2.
You can try copying the cache here to see if game has better luck finding it here.

OOnyx47 2019-08-10 github

Tried verifying the files, tried copying it over to %appdata%/SpaceEngineers/ShaderCache2, even tried %SE_install_dir/TempContent/ShaderCache just in case the profile build tries that one as well, same result in all cases :(

IInflexCZE 2019-08-10 github

Hm, it is possible that profiling build adds some profiling code to shaders too which will render the provided cache unusable.

You've said that you have SE running on Win too, right?
Maybe you could try running profiling build on Win and then copy generated shader cache over to Linux?

Jjarrard 2019-08-11 github

are you guys trying to get this running without dotnet (with mono), or trying to resolve the stutters? (or both).

OOnyx47 2019-08-11 github

Well, on the profiling build side, I'm trying with dotnet since we know that loads completely and is playable, so hopefully we could pin down the stutters on that front. Given that the current problem with mono is that the compiler doesn't work, which means scripts and mods won't work even if we trick it into loading, I think that might be a better course of action for now, both on the front of getting the game fully functional and we may pin down a problem in Proton that, if fixed, might affect other games as well and make them work.

Sadly, I'm currently stuck on that front - I accessed my Windows partitions and tried copying over shaders from there (there was a lot more files present), but no luck, exact same crash. I planned on also completely clearing out everything in my Windows install and just starting the game in profiling mode from a blank slate to make sure that the shaders are compiled, but my Windows install is currently not booting due to me doing some partition and HDD shuffling recently and I have not managed to fix (or reinstall) it yet.

If anyone else has a working dual boot (or an extra PC with Windows installed) and can re-trace my steps to see if it runs with compiled shader files copied over that would be great. Meanwhile, I'll try to get my Windows install working again when I get some free time to do it.

MMagicRB 2019-08-11 github

I should have a working windows 10 install, havent used it in a while but it should work. When I get home I'll try to do that shader thing.

@InflexCZE thx for helping us Linux folk! Not to be rude or anything, but we've been asking for help for a long time now, what changed?

OOnyx47 2019-08-11 github

So, I managed to get fresh shaders off from a Windows install (it involved family share, a roommate and bribes, still less hassle than reinstalling Windows).

Well, no dice, it seems it's intent on recompiling those shaders no matter what. Tried installing Visual C runtimes as well (all of them from 2010 upwards, but 2015 failed to install and I didn't really bother with trying to get that one going as well) in hopes it's just missing some C++ runtimes, but no luck with that either.

So unless vcrun2015 in particular would help (which, given the errors, I doubt), I'm fresh out of ideas, this involves both shaders and VRage specific stuff that are way above my head. I case someone else can get it going, please do post your results.

MMagicRB 2019-08-11 github

@Onyx47 what do i need to do in order to get into the state you have at?

OOnyx47 2019-08-11 github

@MagicRB All I did was install it as we all did so far (including protontricks 244850 -q dotnet472 xact), installed Mod SDK version from the tools page, then copied over the Bin64_Profile directory to the regular SE install dir and renamed it to Bin64 after renaming the original one to Bin64_bak.

Launching the game from Steam will then attempt to run the profiling build. For reference and to spare you digging through directory structure (you should be just able to copy-paste the paths into your file manager / terminal):

  • SE install should be in ~/.steam/steam/steamapps/common/SpaceEngineers/
  • Mod SDK install where you should get the Bin64_Profile directory from should be in ~/.steam/steam/steamapps/common/SpaceEngineersModSDK/
  • SpaceEngineers.log and VRageRender-DirectX11.log should be in ~/.steam/steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers
OOnyx47 2019-08-13 github

Son of a Klang, it runs! All we needed was d3dcompiler_47 package from winetricks. And there I was installing XNA and VC runtimes to try and see if any of them contain the missing headers (float.h and xnamath.h) it was complaining about...

Well, it starts now but sadly crashes on creating or loading a world. I can confirm the profiler does work in the menu at least (and the stutter is present even there, so might be something we can work with regardless).

I'm attaching my latest logs from the moment it started up to trying to load a world (after which it crashes). I'm noticing that the last line in SpaceEngineers.log is

External debugger: listening...

Might be what's crashing it, might be not, but... I'm not familiar with remote debugging in .NET, is that just a socket like gdb provides, and is there a chance we could attach to it using MonoDevelop or something? Or is there at least a way to get some meaningful info from it even in the menu alone even without that? Like dumping some profiling logs in a file somewhere? I don't see anything about that in the linked Wiki.

cc: @InflexCZE

NOTE (mostly for Inflex): Don't mind the video errors, we're aware it doesn't load and don't really care anyway, the game runs after clicking through it.

SpaceEngineers.log

VRageRender-DirectX11.log

Edit: Some screenshots of the profiler in the menu at least, the main culprits seem to be MyAudio-Update (as was at least partially suspected) and GuiManager - Update Screens, which is not really what I expected.

https://imgur.com/a/S1O435i

IInflexCZE 2019-08-13 github

Great news :+1:

Unfortunately logs doesn't contain any useful information that would help me determined cause of the crash. Most likely problem in native code resulting in segmentation fault and OS shutting down the process immediately. Usual way to debug this is to instruct OS to take mini/full dump of the process before tearing it down. If you manage to capture one and resolve stack track from it, I'd prolly be able to tell you what's going on. Since the shutters are present in main menu too tho, I wouldn't bother with it now and proceed directly to profiling.

To do do that:

  1. Start the game into main menu
  2. Open up profiler with Alt+[NumPad Dot]
  3. Switch profiler to deep profiling mode Alt + E
  4. Collect one full profiling window of data (Wait 1024 frames)
  5. Save to slot #1 with LCtrl + Alt + 1
  6. Locate and share file in %appdata%/FullProfile1

All this info is in the manual I've posted before:
https://github.com/malware-dev/MDK-SE/wiki/Advanced-Profiling-The-Game

Edit:
"MyGuiSandbox::Update3" updates game input (Collects mouse, keyboard and joystick states from OS). We have number of profiling blocks there too, I wonder why they don't show up. Please enable the deep profiling if they show up in that mode.

OOnyx47 2019-08-13 github

@InflexCZE: Ok, so rewriting my whole post because you finally forced me to try and learn how to use the Wine debugger and actually found the crash cause immediately: missing VC runtime 2003, I assume that it's a requirement when installing ModSDK but due to the way Wine works it wasn't installed in the prefix (prefix being a full Windows install as far as the application within it is concerned) I was running the game in. After installing that the game actually runs in profiling build.

So, ignoring the menu for now, here is a profiler dump I took on an otherwise empty Solar System map.

FullProfiler-1.gz
(renamed due to GitHub being picky)

And here's the menu as well in case it's the same problem and menu dump might have less noise in the signal:

FullProfiler-2.gz

Hope I didn't forget something crucial here.

IInflexCZE 2019-08-15 github

From what I can see in the profiles, there is no single system being affected that would be slowing down entire game. All system and all threads are affected equally across the board. Unfortunately this means that there is no single system that we could optimize and/or fix to help you with the shutters. What it tells us on the other side is that the issue is on system side of things.

I recognize the pattern in the profiles very well. When I see it on Windows, 9 and half times out of 10 it's GC (.NET garbage collector). Either there is something affecting its normal functionality and causing it to stall the game for enormous amount of time during every work cycle or, since it's self tuning machine, it got terribly miss-configured due to invalid info being given to it by improperly ported OS function.

Alternatively, there could be some very basic OS function, something as common as malloc for example that all systems over entire game (or .NET Framework for that matter) use. Having one such function poorly performing upon a call, it could explain the findings too.

In any case the game won't be able to profile itself and find the issue. It will need to be profiled from outside and cause found by external tool that will be able to identify either the slow OS function or convict the GC of guilt. In such case knowing what in the GC is slow might tell us how to address it too. I'm not familiar with profiling on Linux so I won't be able to assist you there.

As for the second option the Mono seems to handle the game with more stability so alternatively we could proceed with Mono and see how well it will perform under some more workload. My last instruction regarding this matter showed how to gut out the in-game compiler so now you should be able to start a session. If you encounter any further issues there and if it's within my field of expertise, I'd be glad to assist you there.

Mmadewokherd 2019-08-15 github

It's quite likely that resource querying functions have been stubbed and are feeding .NET bad information, perhaps in WMI or an NtQuery* function in ntdll.

OOnyx47 2019-08-15 github

First of all, thank you very much Inflex for taking the time to look into this at what I'd assume is your off-work time.

Well, while not great news for a quick fix we hoped for, at least it puts us on the right track instead of chasing ghosts. I messed around myself a bit looking at the graphs and I did notice that the spikes happen all over the place, so even as an outsider to the codebase (and someone with very superficial .NET knowledge) I find the explanation of GC issues very compelling.

I'm going to look into whatever I can on both Mono and native .NET fronts over the next few days and try to provide as much info here or see if it would be worth opening a new issue. In the long run, it would probably be the best if we could fix it properly and get it patched upstream because if the GC is acting up that means there are potential performance gains to be had in a wide array of applications, not just games. But, baby steps :)

LLinux74656 2019-08-21 github

I hope this is at least somewhat helpful, i really have little experience with this kind of thing.
setrace.zip
This is a copy of a system trace gathered from perf. It should be openable from PerfView in windows. Or you could alternatively drop the fileperf.data.txt into SpeedScope
I tried looking at the traces in SpeedScope, but as I said I basically have no idea what i am looking at.
Hopefully someone else can make use of this. If more information or a different trace is needed I will do my best to provide what I can.

LLtSich 2019-08-26 github

Hi @kisak-valve just for information Space Engineers doesn't work with Proton 4.11-2 but work with Proton 4.2-9.
It was starting with 4.11 but with strange bugs, and with 4.11-2 he doesn't start at all.

And we continu to suffer from bad performance, with the help of @InflexCZE to find what is the problem but at this time we don't make any progress as it's very complex.

If you need any help to find what is causing the problem with 4.11-2 just post here we will try to help.
And if you can work with @InflexCZE to improve the game performance that will be amazing :)

Kkisak-valve maintainer 2019-08-26 github

Hello @LtSich, friendly reminder that I'm a moderator for Valve's issue trackers on Github and not a Proton dev myself.

Looking over the recent history, it looks like multiple devs have dropped in and are pondering the game, so there's not much I could contribute. This seems like the first clear mention of a Proton 4.11-1 -> 4.11-2 regression. Can you please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

LLtSich 2019-08-27 github

Sorry for my mistake @kisak-valve.

Here is my log for Proton 4.11-3 https://dl.cafe-philo.net/steam-244850.log.gz
The install for dotnet 472 failed.

LLunaSquee 2019-09-10 github

Any updates/progress?

Jjarrard 2019-09-10 github

No updates I think.

The install for dotnet 472 failed.

Make sure winetricks is updated, if not try downgrading a couple versions, this was a bug in their previous release which I was told might be fixed with latest build. (yet to try it myself)

Jjarrard 2019-09-16 github

Here is a apitrace of the game loading up into a new alien world under Win10 with wrapper injection method (d3d11, dxgi). No overlay is enabled. 1080TI used.

Win10-trace[1.6GB]: https://www.dropbox.com/s/2yxl18f7a2l126o/SpaceEngineers.7z?dl=0
Linux-trace[]: would this help?

Maybe this will help further investigations into the performance issues.

LLinux74656 2019-09-16 github

I have looked into the performance recordings some more. I still have little idea what is going on, but I noticed that Inode mismatch seems to occur frequently and is the item that is taking up the most CPU performance during a lag spike.(See attached image)

Screenshot_20190916_073836

I also noticed that during the lag, a single core spikes to 100%, and the other cores decrease in usage. I am not sure what to make of it. Perhaps the rest of the game is waiting on something that is single threaded.

Here is an image with more of the spike selected.(There are a lot more items below the screen, but I did not want to post a dozen screen shots.)

Screenshot_20190916_074053

Below is a slightly narrower selection of a different spike shows similar issues.

Screenshot_20190916_074206

I have no technical knowledge of this, but I hope it is of some help though.

Kkleest 2019-09-16 github

AFAIK inode mismatch is a warning of sysprof that the file has changed on disk. In your trace this might mean, that the Proton and steam binaries have changed on disk since you recorded the trace. So, no actual symbol of the executables which caused the spikes can be displayed.

LLinux74656 2019-09-25 github

Alright… something in MS Dotnet is causing the lag issue. I got SE working with wine-mono 4.9.3, after I took @InflexCZE advice and disabled the DotNet Version error dialog. The main menu had no lag after I disabled the check. The game kept crashing on world load, with script compiler errors. After I gutted the script compiler, the game world failed to load a few more times, but eventually let me into the Crashed Red Ship world.

The game ran flawlessly… no stutter at all. There was only a faint occasional audio fade out (probably some issues with faudio as the same audio fade is in Fallout 4), but no lag or stutter to accompany it. I can confirm that the stutter does exist with MS DotNet, even with the gutted script compiler. So I am not exactly sure what is wrong with the script compiler, which means no mods… but this does mean that mono will be able to run the vanilla game very well if the script compiler is disabled.

If anyone needs logs or other information I will do my best to help.

LLinux74656 2019-09-25 github

Alright I created a video showing both the DotNet and Wine-Mono versions of the game. The mono version runs so much better!

Here is a link to the Video:
https://youtu.be/LwqRLCQR6aM

Now all we need to do is figure out how to get the script compiler to cooperate with Mono, and the game will be, close to if not just as, playable as on windows!

LLtSich 2019-09-25 github

That's a big difference !
Thx for your test !

With mono it's without mods and without scripts ?
Or just vanilla game without mods ?

How do you make to run the game that way ?
Any docs anywhere ? (I'm' really not good at such things).

LLinux74656 2019-09-25 github

@LtSich Both the dotnet and the mono versions are plain vanilla without scripts or mods.

In order to get the game to run I had used the advice of @InflexCZE and cut out the script compiler.
From Aug 10th post from @InflexCZE :

Based on the log, the marriage of Mono and our compiler is not particularly happy one stuck_out_tongue
That's fine, we don't need it.

Unfortunately there is no single point to disable the compiler (yet) so you gonna have to gut out 2 key places I've identified and hope for the best.

1. Get rind of all stuff in this ctor.
   https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptWhitelist.cs#L47

2. Make this method return `null` (prevent it from invoking the compiler core)
   https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L154
IInflexCZE 2019-09-25 github

Looks butter smooth @Linux74656 . Your hard work paid off after all, CG 👍
I may be able to take a look on the compiler in the evening, maybe we'll be able to make it work too so you can enjoy mods too.

Btw, I did take a look on the trace @Linux74656 provided, but it was either my incompetent usage of the PerfView or it was missing symbols or something, but in either case I wasn't able to open the trace and see any useful info there. Since mono seems pretty stable tho, I think we can continue with it and leave .NET FW debugging to someone else :)

LLinux74656 2019-09-25 github

I could not get any useful data from performance tracing either,,, that is why i gave up on dotnet and started working on getting mono to work. I am pretty sure the traces are incomplete, because i can't figure out how to resolve missing symbols.

LLtSich 2019-09-25 github

Damn if the game can run with mods and scripts that could really be awesome...
Thx a lot for your work guys !

LLinux74656 2019-09-25 github

Here are the logs and the minidump file from the game as it tries to load a saved world.
This is using wine-mono, and the only code modified is to disable the dotnet popup, so the script compiler code is untouched.
SpaceEngineers.zip

IInflexCZE 2019-09-25 github

After a brief look at the compiler it looks like we could get around the issue pretty quick, at least this one. We'll see what/if some other will jump on us afterwards.

In the VRage.Scripting.MyScriptWhitelist there are 6 guards that ensure whitelist compatibility with provided BCL (More on that here: https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-520141233).
Those need to go.

Replace following IL.thows with IL.pop followed by immediate IL.ret.

MyScriptWhitelist#RegisterMember(MyWhitelistTarget, ISymbol, MemberInfo):
	(2x) throw new MyWhitelistException("The member " + member + " is covered by the " + namespaceKey + " rule");
	(1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + member);

MyScriptWhitelist#Register(MyWhitelistTarget, INamespaceSymbol, Type):
	(1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + type);

MyScriptWhitelist#Register(MyWhitelistTarget, ITypeSymbol, Type):
	(1x) throw new MyWhitelistException("The type " + type + " is covered by the " + namespaceKey + " rule");
	(1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + type);

After this change we risk that whitelist checker will miss-function a bit, either allowing scripts to do more than they should or prohibiting something that should be allowed. We can deal with that when we get there. For now I'd be good to make it start :)

Let me know where this gets you, if you get to the game or some other issue stops you.

LLinux74656 2019-09-25 github

That go me into the game with Experimental mode enabled. Before i would get an error message.

Unfortunately I do not think the scripts are working. I was able to get a few basic mods (DX11 Door pack DX11 Shutters... etc) working, but things like Easy Inventory do not function.
I found somthing very intereesting, the games campaign missions do not seem to work either... i assume they rely on scripting. You can see the error in the video below.
Video Link: https://youtu.be/aP7FdE4L6-M

Here are the log files from this event:
SpaceEngineers.zip

IInflexCZE 2019-09-25 github

Yes, campaign runs on scripts too.

There is a special screen for mod-loading-errors. (Ctrl?) + F11 after you load into a game. If something went wrong during the load, it should be there.

For a quick compiler test, try pasting programmable block + battery in empty world and load in following script. It should either print the message in block detailed info or throw some compilation errors at you if it fails. This should tell us if the compiler works and just needs some tweaking or if it's totally broken.

void Main() 
{
    Echo("Yay works");
}
LLinux74656 2019-09-25 github

I created an empty world and placed a battery and programmable block with the code above. This was the result after i hit check code:
Screenshot_20190925_185615
Nothing else popped up.
When i closed it an went back to the Control Panel i hit run, it says assembly not found...(Results below)
Screenshot_20190925_190813
Clicking recompile does nothing.

IInflexCZE 2019-09-26 github

I guess this falls into the "totally broken" category :)
Anything in log?

LLinux74656 2019-09-26 github

Here are the logs: SpaceEngineers.zip I included the Proton generated log as well.

Alt + F11 gets me to this screen:
Screenshot_20190926_073809
and clicking open in new window shows this:
Screenshot_20190925_191201
I have 4 mods loaded in this test: Easy Inventory(Failed), Text HUD API(Failed), DX11 DoorPack(Some Texture issues but functional), and DX11 Shutters(Fully functional no issue.)
So it seems mods without built in scripts will function.

IInflexCZE 2019-09-26 github

No error message, nothing in log, I not sure how this happens but looks like you've found hole in our compiler error reporting.

I think I'm gonna have to debug this on my own. Could you write down steps to make SE work on mono for me. What Linux to use, what packages to download, ... I'll setup VM and try to narrow down what's going on.

LLinux74656 2019-09-26 github

Alright @InflexCZE I made a quick guide from start to finish. I don't think i forgot anything crucial and i made the guide geared toward everyone. It is incomplete however the parts that are missing don't really apply to you as it involves modifying the code.

NOTE: I would avoid a VM, i could never get the game started using one. A VM might work for limited code debugging... but it would probably be much easier in the long run to install Ubuntu onto a blank and separate (to minimize risk of data loss) SSD. An HDD would probably work, but I have noticed more stutter in the game while it is installed on an HDD.
Good luck! I hope this helps.

Guide.docx

OOnyx47 2019-09-26 github

Well, seems like stuff is happening in my absence, I kinda never managed to continue debugging using .NET but if Mono works that's even better!

I assume this is the regular build, wouldn't running the ModSDK version make more sense here? That should log exceptions from mods to the log file, IIRC?

I'll try that later and post logs if anything comes up.

LLtSich 2019-09-26 github

Guide.docx

Thx for your doc... But damn, you just stop at the most important part :(
This is probably something that KSH have to do directly in the game.
Bypass the dotnet check if there is any way to detect that the game run on Linux...

SSpookySkeletons 2019-09-26 github

The dotnet check should stay for windows users but should also check for mono support in the same statement

Nnsivov 2019-09-26 github

If you're talking about game modification to add proton/wine specific checks, please don't do that.

OOnyx47 2019-09-26 github

@Linux74656 while I understand your apprehension about writing a guide on how to modify the code, could you at least tell me which tool you used? MonoDevelop's Assembly Browser doesn't seem to allow any modifications to be made (or I'm just failing at using it properly), and I can't seem to find any other readily available Linux tools kicking about. I do have a licenced copy of Rider on my work machine which might help, but I'd try to avoid messing with this at work.

IInflexCZE 2019-09-26 github

Read again, the tool is in the guide :)

@Linux74656 Btw please add step of "Enabling SteamPlay for all other titles". Took me an hour to figure out why basically all games in my library offer direct download, just SE offers only streaming from other machine (I know, I'm dumb)

OOnyx47 2019-09-26 github

@InflexCZE I have indeed seen that but I hoped for something that runs properly on Linux, since my Windows install is currently hosed and I didn't have the time nor the inclination to fix it yet... I'll get a VM running I guess and keep going tomorrow if needed, but with you now on the case it might be superfluous. Still, will try to lend a hand where and if possible :)

IInflexCZE 2019-09-26 github

@Onyx47 Ah, sorry I didn't realize. I'm not used to working with .NET on Linux so I don't know the tooling there :(

I bring some good news tho. I managed to make the compiler run, compile dynamic assembly and execute it too. So far tested only on .NET FW tho. It's almost 1am so I can't be bothered trying to switch to Mono now :stuck_out_tongue:
In any case, here goes the fix. Try it, if you encounter any issues on Mono I'll continue debugging it tomorrow.

Our engine calls Roslyn here:
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L204

The code in link is a bit outdated, in reality there is one more argument (pdbStream) in current version on the game. Gut out this argument (pass null instead) and compiler should comply. (So basically revert it to this old version of the line that is in the link.)

Ofc apply this change on top yesterdays' changes. If whitelist checker complains (as I've said the BCL is not fully compatible so it may be miss-configured a bit now) you can shut it down very simply by putting immediate return at the beginning of this method:
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/Analyzers/WhitelistDiagnosticAnalyzer.cs#L43

LLinux74656 2019-09-26 github

Sorry @InflexCZE I missed that entirely! Thank you for pointing it out! I have updated the guide link with a revised version!

@Onyx47 Unfortunately I tried looking for tools that ran natively in Linux. I failed to find any that worked. So I used the tool mentioned and ran it in a wine prefix with vcrun2015 vcrun2017 and dotnet472 installed. it seems to work fairly well.

Jjarrard 2019-09-26 github

Seems like a fair bit of work still for common steam users to get this game working. I do hope that some of these solutions can make it in a update for SE sometime so people can just press play and be done with it. I can tell you now not many will be bothering with compiling their own scripts :)

LLinux74656 2019-09-26 github

@InflexCZE That got it!!!!
The in-game script you gave me from before compiles!

void Main() 
{
    Echo("Yay works");
}

Screenshot_20190926_193213

Easy Inventory works as well!
Screenshot_20190926_193524

SSpookySkeletons 2019-09-27 github

@InflexCZE
Oh WOW!

Are we going to see these changes upstreamed to the game, albeit in a slightly less hacky form, any time soon? I'd love to start playing again, it's been too long.

Let us know what the Linux player count bump looks like on your end once this hits reddit!

OOnyx47 2019-09-27 github

As a temporary workaround, would creating a patch file / patcher script that makes the relevant changes automatically be frowned upon from the legal standpoint? I'm not a lawyer, but it seems to me that various widescreen patches and similar for some games never bothered anyone and this seems like the same kind of modification to me...

To be clear, I'm not suggesting distributing a modified executable, just a simple binary diff that would patch the existing game that would still have to be downloaded from Steam.

Maybe @InflexCZE could check this for us with Keen legal/leadership for us? Of course, I'd hope that there's a good change we can just get these changes into the game itself and make all of this moot, but as an alternative (in case this might cause problems upstream) it might be viable (and could be made into a Lutris script for less tech savvy players).

Another option is, of course, updates to Wine/Proton that would make the game work properly with MS .NET, but since it seems it's a GC issue, that might be a long way away since it's undoubtedly a tricky problem.

SStripedMonkey 2019-09-28 github

It's good to see that there's at least some love for the game on linux, I would love to be able to play it, even through proton.

@Onyx47 If it's possible to create a diff containing only the required changes it wouldn't really have any legal problems, considering you're not redistributing any part of KSH IP. In essence it would be no different from a regular mod

LLinux74656 2019-09-28 github

I have contacted Keen about the legality of redistributing a patch like this, and the person they forward the email to said that they would bring it up to the CEO at their meeting on Monday.

That being said... I have created a Diff patch and applied it to the game on my sisters computer. It seems to have no issue and worked fine. We are even able to play a Direct Connect lan game. without any issue.
I do have a concern with multiplayer though, and maybe @InflexCZE can enlighten me. Since I have modified a couple of the games DLL files to get this to work. What are the chances that the game/steam will be able to detect that and think that it is a form of cheating if the game connects to an official/public server? And also what would be the potential other ramifications of having client side players run modified game code that lets some scripts through the whitelist filter?

If this is something that can happen, and I get permission from my Keen contact to distribute such a patch, I would need to make sure people understand not to connect to multiplayer games over the internet, and rather only play local LAN games while this is patched.

LLtSich 2019-09-28 github

You have done a very good work !
Big big thx you for that !

I hope that you can distribute the patch.

As I only play single player I have no problem with the multi player aspect of the game.

IInflexCZE 2019-09-28 github

I'll leave legal part on ppl responsible for this and focus only on technical aspect of the deal in my response.

As you've had a chance to see on your own, fiddling with the game to make it do something it was never intended to is very easy and for this reason clients can't be trusted. That's philosophy we very strictly follow and entire game is coded as such. Result of that is that servers do all the simulation while client is just an graphical interface that connects human player and server. Clients never compute anything "for server" and never tell it what to do either, they merely relay requests from human. Server will verify each request, perform it and send you back result (or kick you on spot if you do something you are not allowed to).

This applies to requests originated from client-side modes as well. For programmable block scripts the situation is even simpler, they run only on server.

To sum it up, as long as the animal the server observes on the other side of the connection follows protocol and makes valid queries it will be accepted and treated as legitimate client no matter what it actually is.

One thing I'd like to point out tho, there is fixed table of MP queries that both client and server build upon startup. If you modify your game too heavily, you might throw this table off on your side and server will refuse to let you connect. In that case you'll be told that you're using different version of the game than server is running. If you encounter it, you know what's going on.

OOnyx47 2019-09-28 github

Well, I'll wait for the potential diff it seems, I'm either doing something wrong with my IL editing or there is another subtle thing happening somewhere, having a confirmed working modified game would probably be a better idea than chasing ghosts. I'm just getting stuck in a loading loop when creating a world. That being said, attaching logs just in case:

SpaceEngineers.txt

Note that it stops at MyDefinitionManager.LoadData() - START, the last line is after I closed the game forcefully. Given that it's mentioning scripts there (though I didn't even enable experimental mode, I wanted to test it without that first) I'm having high hopes that it's just me making mistakes when doing the edits, rather than it being sensitive to Mono versions or whatever.

EDIT: might not be the game, found out yesterday that my HDD is giving up the ghost, so yeah... who knows...

IInflexCZE 2019-09-30 github

@Linux74656 I have a question. In this video (https://youtu.be/LwqRLCQR6aM) you show the game running pretty smooth on Mono, tho there are some spikes in the frame time graph.

Just out of professional curiosity, could you switch to Modding build (build with profiler) and measure for me what is causing the spikes on render thread and how large the spikes are.

SSpookySkeletons 2019-09-30 github

@InflexCZE
It could be due to unoptimized LLVM shader code output. RADV, the free and vulkan driver, uses LLVM by default to compile shaders in game and it's rather prone to stutter.
It may be worth doing a repeat with valve's new ACO branch and seeing if the stutter is still present. Had a similar microstutter in killing floor 2 that ACO fixed.

Space Engineer render captures have been mulled over on the dxvk hit issue tracker before without apparent issue in the API calls.

I would need to get a hold of the diff to test, myself. Waiting on the legal yes/no I guess.

LLinux74656 2019-09-30 github

@InflexCZE I have tried the profiler(With the code modifications) in wine-mono without success. It crashes with no error message once I load a world. I have tried it(With the code modifications) with dotnet and I get the same result. I tried both a pre-saved world with experementail mode, and a brand new Crashed Red Ship World without experimental mode.
Logs are attached for the pre-saved world for both mono and dotnet:
LogDOTNETProfiler.zip
LogsMonoProfiler.zip

I also received a response from my Keen contact, and he says since these modifications are being made as a community driven activity, keen has no issue with it. He did emphasize that they have no official support for Linux at this time.
So I would like to take the time to thank @InflexCZE for helping us, in his free time, to get this far. It would have ever been possible without his help!

I am in the process of build a guide to explain how to install these patches. I will post an update when it is done!

LLinux74656 2019-09-30 github

Alright I made a simple repository that contains a readme explaining how to install the patches, and the actual patch-files zipped into and archive.
You can find it here:
https://github.com/Linux74656/SpaceEngineersLinuxPatches

IInflexCZE 2019-09-30 github

@SpookySkeletons If it's something on GPU (poor shaders) or DX API (Proton wrapper) we'd see spikes in "Present" stage (swap-chain) or some specific API call. My guess tho is Mono GC as it's not that well optimized as .NET GC (we did measurements quite recently) and the game is quite heavy on managed object count at this point.

If that's the case, you can expect quite nice improvements in future releases because of optimizations we've made for XBox.

@Linux74656 Quite unfortunate that it's hard crash without any stack-trace. I guess I'll let it go, you'll see if it improves in next releases.

One thing you could try tho is setting environment variable "MONO_GC_PARAMS" for the game process to nursery-size=32m or minor=simple-par or nursery-size=32m,minor=simple-par and observe if that makes any difference in frequency and/or size of the spikes respectively.

In any case it was pleasure to work with all of you and I hope you'll have some quality time with SE 👍
If you need any help in future don't hesitate to ping me.

LLtSich 2019-09-30 github

Thx a lot @Linux74656
But for me atm the game start fine, and when I try to start a map the game crash.
And after that game crash everytime I try to start it...

I have to delete the %appdata% folder to restart...

I will make more test to find what is the problem...
Maybe graphic configuration or something like this.

At least I have no sound issue or bugs on the main menu.
Enabling vsync seem to slow down performances.

That's a big step forward to us to be able to play on our game :)

LLinux74656 2019-09-30 github

@InflexCZE I tried your suggestion. It definitely made a difference!
This is nursery-size=32m
nursery-size=32m

This is minor=simple-par
minor=simple-par

and this is nursery-size=32m,minor=simple-par
(Taken from in game because the menu did not have any spikes. NOTE this spike does NOT have stutter associated with it.)
nursery-size=32m,minor=simple-par

So it appears nursery-size=32m,minor=simple-par will reduce the spikes quite effectively. I am not quite sure what this means. But I assume it is good.

OOnyx47 2019-09-30 github

@LtSich I had a similar experience, only I always got stuck in an infinite loading loop instead of a crash, couldn't load a single map.

I'll give this another try as soon as possible, need to fix my PC tonight though, failing hard drives suck :(

LLinux74656 2019-09-30 github

@LtSich Are you running the modSDK build(profiler)? If so use the normal game. I have only seen crashes on load when the bin64 is using the modSDK build

LLtSich 2019-09-30 github

@LtSich Are you running the modSDK build(profiler)? If so use the normal game. I have only seen crashes on load when the bin64 is using the modSDK build

Hum, I remember that I have made some test with that.
I will make a full clean install and try again.

BTW how do you change the MONO_GC_PARAMS variable ?

[EDIT]
And other question, should we continu to use the PROTON_NO_ESYNC=1 %command% to start the game ?
[/EDIT]

LLinux74656 2019-09-30 github

You place MONO_GC_PARAMS=nursery-size=32m,minor=simple-par %command% into your steam launch options for the game. Right click Space Engineers, click properties, click SET LAUNCH OPTIONS... then paste it in the box.
I do not have PROTON_NO_ESYNC=1 in my command line, and it seems to work fine.

LLtSich 2019-09-30 github

Thx :)
I'm currently downloading the game after removing everything.
I will be able to tell if this make any difference.

[EDIT]
For me the game is very unstable... Even after removing / installing the game.
Most of the time I can't start the game without removing SpaceEngineers.cfg
And even if I can start the game, I'm unable to start any map / game without crashing...
I will make more test later... To try to find some configuration who don't crash...
[/EDIT]

IInflexCZE 2019-09-30 github

@Linux74656 Here is a very high level documentation for that magic I suggested before :stuck_out_tongue: You might find it useful, although don't expect wonders
https://www.mono-project.com/docs/advanced/garbage-collector/sgen/working-with-sgen

IInflexCZE 2019-09-30 github

@LtSich Please provide us with game log so we know what's going on

LLinux74656 2019-09-30 github

@InflexCZE I'll take a look at it thanks!

LLtSich 2019-09-30 github

@InflexCZE : I have found the problem to start the game.
I have to disable the anonymous tracking.
If I enable it I can't restart the game.
As long as I say no (I have to say no each time I start the game) I can start the game.

Now I have to try to start a game, or try to join a custom server :)

Do you want some logs when I crash with the anonymous tracking activated ?

OOnyx47 2019-09-30 github

I do remember seeing in the logs that it complains about not being able to get the GDPR consent and just timing out on that when I was picking no (that should be visible in the log I posted above). Possibly some web APIs in Mono not being up to snuff / not 100% compatible?

SStripedMonkey 2019-09-30 github

So trying out Linux74656's patch it seems to work, with a few notable exceptions.

  1. The intro movie doesn't play (? I guess, donnow) and as a result I spent the first 10mins staring at a blank screen because I thought it was hanging. I clicked and it "skipped" the intro and to the GDPR message (hit no)
  2. It will work fine for a while, then suddenly (need to test it more) the game crashes to the desktop, but runs fine Otherwise.
  3. A good number of "low sim speed" warnings
    Running Arch Linux with a RTX 2070 and a 8750H (Should be plenty eh?)
    Should be noted that it makes the Laptop sound like a Jet Engine, though that's never shocking :P
LLinux74656 2019-09-30 github

@StripedMonkey If you remove or rename the video located at SpaceEngineers/Content/Videos/ksh.wmv then it will skip the intro video and take you to the main menu.
I have had an occasional crash, but I have had it running for several sessions lasting more than 4 hours without issue(Once it starts). The next time it crashes if you could drop the logs here we may be able to figure out what is happening.
Some performance loss is expected when running the game through Proton and DXVK... I have seen some performance issues on a gtx960 and a 4770K, though the slow downs are less noticeable on an rx580 and a R5 2500x. A RTX2070 should have no issues with graphics on medium to high settings, and a 8750H should be able to do gameplay with some basic mods.
When you press Shift + F1 what in particular is it complaining about?

SStripedMonkey 2019-09-30 github

Specifically it says "Reduced Quality of deformations and Voxel changes because of adaptive simulation quality". IIRC the SE logs just have a frequent GC message, but doesn't seem to be related to the instant of a crash. Next crash I generate I'll post the log of.

Personally I think it has something to do with the Sim as the first crash I've really associated anything with was me trying to do a 180 at max speed in the tutorial world. almost as soon as I turned it died. Need to do more proper testing to figure that out though.

LLinux74656 2019-09-30 github

I get that message a lot as well. Less so on the RX+R5 computer but still rather frequently. Since you are running a mobile processor... I do not think there is too much you can do to improve performance other than ensuring it is well cooled and properly turboing up to its 4.10Ghz speed. You can also try unchecking some of the in-game settings like air-tightness, and see if that has an impact.

SStripedMonkey 2019-09-30 github

SpaceEngineers.log <- Crashed
Overall the preformance seems fine, ignoring the crashes. So I'm not too concerned about improving that in the short-term. This crash was specifically generated after I went kamakazi on a NPC enemy ship. I crashed almost immediately after I died, (though note I don't always crash on death) I'm not sure what exactly causes it.

LLinux74656 2019-10-01 github

The log ends when you died. It seems it did not record the crash.
I quickly tried loading into a world and seeing if I could get it to crash. I slammed three ships into the ground and killed my self four other times with no issue. I have noticed my sister has more issues on her RX+R5 system. If I can figure out why hers crashes more often than mine does... I'll see what I can find out.

LLinux74656 2019-10-01 github

I think i got it. Try installing vcrun2005 with winetricks and see if that solves the crashing issues. Also ensure you set your prefix windows version back to windows 7.

AAerol 2019-10-01 github

I was really hoping to give this a try, but it seems I get a segfault while trying to load up a new world
https://pastebin.com/E7Ha8aCK - steam-244850.log

EDIT//
Pretty dumb, should probably give some kind of details.
Log is cut to just the seemingly interesting bits, most of the log after is just symbol not found messages a billion times over.
System is Slackware64-current, Proton 4.11-6, ran through the posted guide (thanks Linux74656!), including vcrun2005 and setting windows version to Windows 7, though it would crash before that as well.

Jjarrard 2019-10-01 github

So with this fix can it be confirmed if mods and multiplayer gaming with windows users works?

LLinux74656 2019-10-01 github

@Aerol Try verifying the integrity of your game files then reapplying the patches.

@jarrard Mods will work. Multiplayer with other Linux users will work. I have not tried playing a game with a windows user... but it should work.

SStripedMonkey 2019-10-01 github

@Linux74656 Installing vcrun2005 and Windows 7 resulted in some really bad stuttering, switiching back to winXP seemed to fix it? At any rate I managed to play a good bit longer than I have in the past, although in the end I still managed to crash. Maybe it has something to do with traveling? I really don't know. I was salvaging a station and had a few instances where the sim speed dipped below norm, but then went back. As soon as I left the station and was about to board an abandoned ship I crashed again. This was probably my longest run without a crash, but then again I wasn't moving around a ton, just grinding stuff down and trying to rebuild the ship.

Jjarrard 2019-10-01 github

I tried following the steps in your guide and game loads (menu has a small sound spike now and again), however starting a new Earth based world causes the game to fail to start the world and a hang to happen for the process.

Shrug. I followed to the T, https://github.com/Linux74656/SpaceEngineersLinuxPatches

There was a error while loading the world, check log file.

LLinux74656 2019-10-01 github

@StripedMonkey I have win7 on both and I only noticed stutter on my computer. I set it to winxp and the slight stutter vanished. For uniformity i changed the guide to set to WinXP.
Let's try a blanket fix and get everything installed in your prefix that is installed on mine, : I think this is everything I installed in the prefix over time: vcrun2003 vcrun2005 vcrun2015 vcrun2017 xact d3dcompiler_43 d3dcompiler_47 see if installing all of these help.

@jarrard That error message should have been disabled by the patch files... try verifying the integrity of your game files and reapplying the patches.

Jjarrard 2019-10-01 github

I did verify before apply patches, guess I'll do it yet again (yes the files were modified by date)

Jjarrard 2019-10-01 github

I figured it out, your instructions have a small case insensitive issue.

bspatch VRage.Scripting.dll Vrage.Scripting.dll $HOME/Documents/SpaceEngineers/VRage.Scripting.dll.patch

See the issue :)

LLinux74656 2019-10-01 github

@jarrard Thank you! I got, and it has been corrected in the guide!

@Aerol See if this is related to your issue. Reapply the VRage.Scripting.dll.patch using the corrected command bspatch VRage.Scripting.dll VRage.Scripting.dll

Jjarrard 2019-10-01 github

Well it seems to progress but sits at 4-5GB memory usage and %50 cpu usage forever, am I to wait half a hour for it to load or something? or just keep trying? certainly the game has stability issues.

LLinux74656 2019-10-01 github

Yes this is a known issue. Do not bother waiting for it, it'll never load. Just force close it and try reloading. It will work about 50% of the time. I am working on figuring out what is causing this.

Jjarrard 2019-10-01 github

Ok I managed to load into a already saved world from when I was messing around a while back. That seemed to work, maybe just some hangups on creating a new world is the problem, perhaps if I kept trying it would work.

None the less, very playable framerate now, only issue is the crashing/stalling on creating worlds and in my case there is a small audio crackling still, might be some work arounds with pulseaudio I can try there.

Game runs quite well at 4k even with 10k tree's set, just turn off fxaa (use reshade smaa if needed), set shader/shadows to medium, all good. Might even be smoother then windows because under windows I have a weird fps chop even tho its at 80fps or so. (could be fast sync or something doing that).

Also if anyone figures out howto resolve the small audio crackle that happens let me know, I've tried a few pulseaudio settings so far without much luck.

UPDATE: PULSE_LATENCY_MSEC=90 in the command line helped allot for my USB OMNI sound card, now there really isn't any crackling except for the very faint occasional sound hickup which is not annoying. YAY

AAerol 2019-10-01 github

Unfortunately verifying game data didn't fix anything other than downloading videos again, and I had already ran the proper bspatch commands. :/

SStripedMonkey 2019-10-01 github

If you've verified the game data you will need to reapply the patches if you have not already.

SSpookySkeletons 2019-10-01 github

I'm getting the same load screen stall other people are getting and beyond that, too, the very same stall seems to pop up in-game moments after loading an offline world. It runs the CPU at about 40%.
The rendering does not stop and particles still move but the physics engine stops dead, reports low simulation quality, and stalls frame wise for brief periods while it sits and does nothing physically.

No input for menus is accepted at all, I cannot move the character but everything else still renders.

Jjarrard 2019-10-01 github

I'm getting the same load screen stall other people

Yes this seems to happen often on generating a new world, if you keep trying it seems to progress differently each attempt. What I found to work %100 is loading up a EXISTING world you made previous, I think you can even download them. But yeah, the hang seems to be largely related to generating a new world atm.

EEduardoGodoy 2019-10-01 github

applied the patches on a proton prefix on steamplay,
managed to get to the menu but the game crashes once i try to start any game, i'm also having no sound and unable to alt-tab the game.

where are the .log files located?

Arch lin4.19.69-1-lts
GTX-1070
intel I5-7600K

SSpookySkeletons 2019-10-01 github

More than that, loading existing worlds freezes at the screen very very often.

If I do manage to get in game, the entire physics engine just halts and I can't try any of the menus but the frames keep coming and effects keep moving.

Jjarrard 2019-10-01 github

Here is a world you can use, goes into your save folder location (not sure if the number is unique to me, but the folders inside can go into any existing one you have). This has worked 100% of the 4 or 5 times I've tried to load it. The file is actually a 7zip file fyi.

spaceengineerssavedworld.zip

AAerol 2019-10-01 github

@StripedMonkey Done, of course, sadly still segfaults.

@EduardoGodoy Can you add PROTON_LOG=1 to your launch options, run game and check ~/steam-244850.log? Game log is at ~/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.log

SSpookySkeletons 2019-10-01 github

Managed to get into your save same as mine but same in-game freeze of the physics engine before the suit GUI could load. Is the compiler breaking?

Curious what would stall it out like this...

Jjarrard 2019-10-01 github

Hmm, well you can try my compiled files but I don't see how it could go wrong or be any different.
compiledfilesfortesting.zip

If that doesn't work then something else is crashing it for you. Perhaps video drivers? I'm using just the nvidia ones on pop_os plasma5 atm for my 1080TI. (if your using AMD, try forcing proton vendor to NVIDIA)

SStripedMonkey 2019-10-01 github

"The Compiler" should have nothing to do with this.

@EduardoGodoy They're located in the Steam prefix. ~/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.log
In order to get this thing installed and running I:

  1. Installed winetricks, wine-mono, and bsdiff (Literally never installed Wine before this)
  2. Before even running the game for the first time ran WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact
    and
    WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi"
  3. Verify the gamefiles and run
bspatch Sandbox.Game.dll Sandbox.Game.dll $HOME/Downloads/Patches/Sandbox.Game.dll.patch

and

bspatch VRage.Scripting.dll Vrage.Scripting.dll $HOME/Downloads/Patches/VRage.Scripting.dll.patch
  1. (Optional) Delete SpaceEngineers/Content/Videos/ksh.wmv to prevent a black screen on loading.

As far as I know this is everything I've done to get it running on arch.
Proton Version 4.11
Wine Version 4.16
wine-mono 4.9.2
winetricks 20190912-1
nvidia driver 435.21

EEduardoGodoy 2019-10-01 github

here is the log:
https://pastebin.com/zZ7MzreW

"The Compiler" should have nothing to do with this.

@EduardoGodoy They're located in the Steam prefix. ~/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.log
In order to get this thing installed and running I:

1. Installed winetricks, wine-mono, and bsdiff (Literally never installed Wine before this)

2. Before even running the game for the first time ran `WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact`
   and
   `WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi"`

3. Verify the gamefiles and run
bspatch Sandbox.Game.dll Sandbox.Game.dll $HOME/Downloads/Patches/Sandbox.Game.dll.patch

and

bspatch VRage.Scripting.dll Vrage.Scripting.dll $HOME/Downloads/Patches/VRage.Scripting.dll.patch
1. (Optional) Delete `SpaceEngineers/Content/Videos/ksh.wmv` to prevent a black screen on loading.

As far as I know this is everything I've done to get it running on arch.
Proton Version 4.11
Wine Version 4.16
wine-mono 4.9.2
winetricks 20190912-1
nvidia driver 435.21

here is what i ran to install the patch:
patch

Proton version 4.11-6
NVIDIA-SMI 435.21
wine-4.15 (Staging) (i didn't use wine though)
winetricks 20190615 (i didn't use winetricks too)

from what i see the only difference from my system to yours is that i didn't run "vcrun2015 xact", i'll do it and see if i get this error.

LOG:
https://pastebin.com/zZ7MzreW

SSpookySkeletons 2019-10-01 github

Tried cleaning the prefix several times and my md5 matches the patched files.

I load in game and then the same freeze in the load screen takes hold but in-game. Sometimes the first person GUI has a chance to load in and other times not. Can't make any keypresses, look around, physics stops if I am drifting in place it stops dead, no menus, and application eats CPU.

Gentoo with AMDGPU.

Jjarrard 2019-10-01 github

Hmmm, you don't happen to have a Zen2 CPU by any chance? Ryzen 3xxx

SSpookySkeletons 2019-10-01 github

It's a 4th gen Intel, soon to be a 3rd gen again as I pull out my coreboot laptop. It doesn't have any of the new CPU instruction issues.

Some other (software) component of my system must be messing with this.

SStripedMonkey 2019-10-01 github

from what i see the only difference from my system to yours is that i didn't run "vcrun2015 xact", i'll do it and see if i get this error.

You 110% need to have vcrun2015 et al. Installed.

NVIDIA-SMI 435.21
wine-4.15 (Staging) (i didn't use wine though)
winetricks 20190615 (i didn't use winetricks too)

Your Winetricks version is 3 months old, while it might not have anything to do with the issues we're having It's probably best to have them as identical as possible eh? You also didn't mention a mono version, I assume you installed that too?

EEduardoGodoy 2019-10-01 github

@StripedMonkey i ran WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact
and then:
WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi

this time when i started a game it didn't crash immediately, however i got stuck into the loading screen for 15 minutes (started generating the world at 01:30 local time), no crashes but i conjecture that the game was going to be stuck in the loading screen forever
still had no sound and still wasn't able to alt-tab, had to leave XFCE and kill the process in the terminal.

i didn't mention mono because it's supposed to be installed by default isn't it? also i don't have protontricks to check the mono version on the steam prefix (winetricks shows the version for wine i supose?)

i'll update winetricks to the latest version and check the mono version.

here is the new log:
https://pastebin.com/YNLAK9We
update:
mono version is "mono-6.0.0.319-1"

LLinux74656 2019-10-01 github

Try these patches:
NEWPatches.tar.gz
You will need to put the original DLL's into the SE directory before you apply these patches. IE verify integrity of game files if you did not make backups.

If this works I will update the repository with these patches in the morning.

SStripedMonkey 2019-10-01 github

i didn't mention mono because it's supposed to be installed by default isn't it? also i don't have protontricks to check the mono version on the steam prefix (winetricks shows the version for wine i supose?)

Mono != wine-mono. You don't need protontricks installed in order to check it, and (Linux74656's guide specifically mentioned it) it asked for 4.9.3

I can tell you for certain that that mono isn't correct simply because the versioning doesn't match the current release of wine-mono, which released 4.9.3 a week ago

EEduardoGodoy 2019-10-01 github

i didn't mention mono because it's supposed to be installed by default isn't it? also i don't have protontricks to check the mono version on the steam prefix (winetricks shows the version for wine i supose?)

Mono != wine-mono. You don't need protontricks installed in order to check it, and (Linux74656's guide specifically mentioned it) it asked for 4.9.3

I can tell you for certain that that mono isn't correct simply because the versioning doesn't match the current release of wine-mono, which released 4.9.3 a week ago

how do i check wine-mono? from searching on google i only see questions related to "mono not found" errors.

SSpookySkeletons 2019-10-01 github

Try these patches:

If this works I will update the repository with these patches in the morning.

What changed?

SStripedMonkey 2019-10-01 github

@Linux74656 With this new patch I'm getting a "Please update your .net runtime with this hotfix:\nhttps://support.microsoft.com/kb/3120241\n\nThe game will not run correctly otherwise

LLtSich 2019-10-01 github

ok, I have try a lot of things, but I can't go in any game :(
Can't create a new game, can't join a game on a windows computer, can't try to load a saved game (downloaded here).

Here are some logs when I try to create a new game : https://dl.cafe-philo.net/logsse.tar.gz
I didn't find anything usefull in thoses logs, but maybe that I don't look at the right place.

The prefix is configured as the doc say, have try winxp or win7.
Try to add other component (crun2003 vcrun2005 vcrun2015 vcrun2017 xact d3dcompiler_43 d3dcompiler_47)

I have notice the small error on VRage and Vrage and reapply the patch.

I have try to start a game with a lot of different options (experimental, sound, scripts, etc).

I have installed mono-devel, but this doesn't change anything.

I will come back later, maybe I have miss something...

SStripedMonkey 2019-10-01 github

I have installed mono-devel, but this doesn't change anything.

as mentioned previously wine-mono != mono-devel. did you install it from https://github.com/madewokherd/wine-mono/releases ?

LLtSich 2019-10-01 github

I have installed mono-devel, but this doesn't change anything.

as mentioned previously wine-mono != mono-devel. did you install it from https://github.com/madewokherd/wine-mono/releases ?

Yes yes, I have install that with wintetricks as mentionned in the documentation.
But to be sure I have install mono-devel as my game continu to crash when I try to start something.

Jjarrard 2019-10-01 github

I was able to start a new alien world this time around, all fine. So I decided to try and join a MP server (local no mods) and it appeared to be loading but ended up crashing after 20seconds :(

SpaceEngineers.log

IInflexCZE 2019-10-01 github

@jarrard Have you've tried loading into a windows server? The log says clearly, the MP table is off (the issue I mentioned before)

Regarding the game freezes, if you manage to take a dump of the game while it's in this state (or anything else you usually do on Linux to inspect internal state of a process) it might tell us what's going on.

Jjarrard 2019-10-01 github

the MP table is off (the issue I mentioned before)

Sorry no idea what your talking about, it was the Australia server 2 which worked under windows.

IInflexCZE 2019-10-01 github

[...] there is fixed table of MP queries that both client and server build upon startup. If you modify your game too heavily, you might throw this table off on your side and server will refuse to let you connect
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-536186685

Or it's just another problem with different BCL that comes from Mono. In either case it looks like it's not gonna be so trivial to make cross-play work.

LLinux74656 2019-10-01 github

Alright. @SpookySkeletons

What changed?

The new patches are from the correctly modified binaries. Let's just say I was TheBigDumbtm and took a short cut when modifying the decompiled code, by actually modifying the C# code methods and recompiling it(Without the full source... I know right!). This time I just used the Intermediate Language editor to modify the binaries. It seems to have fixed many of the startup hanging that has occurred. I learned my lesson. No more shortcuts if I do not know exactly what I am doing!

@StripedMonkey

@Linux74656 With this new patch I'm getting a "Please update your .net runtime with this hotfix:\nhttps://support.microsoft.com/kb/3120241\n\nThe game will not run correctly otherwise
You can try just reapplying the patch to Sandbox.Game.dll. Though I would just reapply both patches to new original copies of the dll files.

@LtSich The new patches will probably fix your issues with world loading. Also I do not think the mono version will make a difference(so long as it is newer). I just included it in the guide for uniformity, to ensure everyone would be running the same version if errors occurred.

@jarrard Unfortunately it looks like multiplayer with windows computers will be unavailable at the moment. But i can confirm that if you play with other Linux computers that have this patch the game runs pretty well.

I have updated the guide repository here: https://github.com/Linux74656/SpaceEngineersLinuxPatches to include the new patches. Everyone should re-follow the guide and apply the new patches. Make sure you apply the patches to the original DLL's(IE verify game integrity, or copy the backups you made back into the Bin64 directory)

LLinux74656 2019-10-01 github

I nearly flipped my desk until I realized space engineers just had an update :smile: If your game updates to the newest version the patches will not work. I will compile so new one PROPERLY! and put them on the repo.
@InflexCZE is there a way to tell which version of the game is on the computer without running the the game? This will be helpful to ensure people are apply the correct patches.

SStripedMonkey 2019-10-01 github

Unfortunately it updated behind my back :sweat_smile: Guess I gotta wait for those new patches.

IInflexCZE 2019-10-01 github

I'm afraid that game version is baked into the binary and there is no extra "Version.txt" or anything like that.

OOnyx47 2019-10-01 github

@Linux74656

cat $HOME/.local/share/Steam/steamapps/appmanifest_244850.acf | grep buildid | cut -f 4 | sed -e 's/"//g'

A bit clumsy, probably a nicer way to do it using awk (I should really lean awk!), but it works to get the current installed build number. The newest build number can be retrieved using steamcmd if your plan is to write a launch script to check on each run or something, see: https://steamcommunity.com/app/346110/discussions/0/530646715636738547/

I'd recommend requiring some sort of JSON parser if you're going that route though, grepping through that is far too fiddly, for my taste at least. Come to think of it, Python should work nicely for this, it's installed on pretty much every distro anyway.

LLinux74656 2019-10-01 github

Alright i uploaded the new 1.192.103 patches. If your game has updated you need to apply these patches instead of the others.
@Onyx47 do you think a simple checksum verification on the dll's would be effective enough? I could try writing a script to compare the users DLL's to a list of pre-generated checksum, that should in theory correspond to the version of game installed. Perhaps it then could automatically run bspatch and install the correct version for the user.

OOnyx47 2019-10-01 github

@Linux74656 would work I guess, but I was honestly thinking something simpler might work:

  1. A script for generating patches that:
  • Takes the original DLL, modified DLL, creates a patch and puts it in an archive named something like SE_Linux_$buildnumber.tar.gz
  • Uploads the file somewhere, whether it be GitHub or some other server
  1. A script for the user that:
  • Reads the current installed version and checks if a file called SE_Linux_$buildnumber.tar.gz exists on a server / GitHub.
  • If it 404s the patch doesn't exist yet
  • If it exists, download it, apply it, write a file somewhere (SE data dir would probably be safest) that contains the latest patch number that was downloaded. This can be used in the future to check if anything needs to be downloaded on the next run.
  • If everything is fine (or no patching is required), run the game through Steam

Some verification of the files is still an option somewhere in the whole process, of course, but this seems like the smallest amount of work required on both sides of the equation once the scripts are written. The only downside of this is that it wouldn't handle updates, so maybe the launching part is something that's better to keep in Steam, so it updates in there and the user can just run the patcher if an update lands.

I have a server with enough free space and unlimited bandwidth I can provide for the cause if we decide not to use GH for them, just need to set up an FTP account for the upload part and it should be fine.

I can probably bang out something usable tonight, as soon as I get my machine back in running order.

LLtSich 2019-10-01 github

well, new patch or not my game continu to crash...
Using Debian testing... Well... That sad for me....

LLinux74656 2019-10-01 github

@LtSich I have a hunch on the crashing issues. Try deleting you wine prefix. Reinstall the mono version listed in the guide. Then only install vcrun2017 and xact.
I checked the space engineers steamdb page and vcrun2017 is the only listed vcruntime. I have it(and many others) installed on my system and have very rare crashes.

DdiKsens 2019-10-01 github

is there already a solution for scripts? i can not connect to any server where scripts are running.
the update works very well. thx

LLtSich 2019-10-01 github

@LtSich I have a hunch on the crashing issues. Try deleting you wine prefix. Reinstall the mono version listed in the guide. Then only install vcrun2017 and xact.
I checked the space engineers steamdb page and vcrun2017 is the only listed vcruntime. I have it(and many others) installed on my system and have very rare crashes.

Thx for the tips, but that doesn't change anything... Well, I will just sit in the back and wait for God blessing, maybe this will work :)

Jjarrard 2019-10-01 github

I hope multiplayer with windows machines can happen at some point. Seems bit of a shame really.

Ddsge 2019-10-01 github

I've bought and installed Space Engineers to see if it would finally work. I followed the instructions to patch the game.

I was able to get to the main menu as expected, but I was unable to actually start a Scenario or a Custom Game. The game got to the loading screen, did some loading for maybe about 5 to 10 seconds and then the process stopped running. I'm not sure where to look for the issue. Here are some log files but I can't really seem to learn anything from them:

SpaceEngineers.log
steam-244850.log

LLinux74656 2019-10-01 github

@dsge do me a favor. Verify the integrity of your game files.
Save a copy of this file : https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/autopatcher.py to your desktop or downloads folder. Then open the terminal/Konsole in the same directory and run:
python3 autopatcher.py

It is not complete but it should at least be able to patch your game for now.
Let me know of the results.

SStripedMonkey 2019-10-01 github

I'll be contributing to the autopatcher in a bit if you don't mind @Linux74656. At least python I know I can help with :P

OOnyx47 2019-10-01 github

Well, turns out a big chunk of what got corrupted on the old HDD was Steam stuff so I'm redownloading the game just in case. Started some work on basic stuff in the patcher while I'm waiting, we'll figure out pull requests and merges as we go since I see @StripedMonkey is helping as well.

@StripedMonkey, check my fork if you don't mind, see that we don't duplicate the work if not needed ;) (Note: I don't really do Python ever other than fixups like this so some of my stuff might not be best practices). We should probably start tracking that stuff in that project too so we don't pollute this issue thread any more.

SStripedMonkey 2019-10-01 github

Well, you certianly had some of the same issues with it :P although you went about it a different way. I'll actually create an issue on the Patches page so we can leave here for dealing with SE troubleshooting itself.

LLinux74656 2019-10-01 github

I welcome the help from anyone when it comes to this! I have very little experience in python.

Ddsge 2019-10-01 github

@Linux74656 I've verified the game files and ran the py file (version 7f742ac1):

$ python3 autopatcher.py
Please insert your install location for Space Engineers. Should look somthing like this /home/USER/.local/share/Steam/steamapps/common/SpaceEngineers/ 
/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/
b6d168be7e38640817f8d7f1de523346
cf4b860b7917fa53d8c95e0c6a377451
VERSION FOUND: 1.192.103
https://raw.github.com/Linux74656/SpaceEngineersLinuxPatches/master/V1.192.103Patches.tar.gz
Program End!

I did not touch my wineprefix, it's still in the same state as it was after the original instructions.

This time the game is really unstable. Previously (when I installed the hacks manually) I could get to the main menu and the loading screen on every try and it only crashed after that. This time I had multiple places where the game crashed (aka the game window and the process just disappears) on subsequent runs:

  • after the splash screen
  • after pressing "No" on the data collection dialog
  • and after the loading screen.

I did about 15 tries and I was unable to actually go past the loading screen. I have not managed to get ingame at all, not once.

These logs were made when I managed to get to the loading screen before the game crashed:
SpaceEngineers.log
steam-244850.log
( Should I even post these? I have no idea what to post that would help )

IInflexCZE 2019-10-01 github

This is actually known issue, when you say "No" to data collection the game starts crashing (Linux only).
Delete game appdata (to reset the decision, backup any worlds or BPs if you have), agree next time game asks and you should be good to go.

SStripedMonkey 2019-10-01 github

It was my understanding it's actually the opposite. Hitting "yes" makes it crash. :thinking: (as someone who always has hit "no")

Ddsge 2019-10-01 github

@InflexCZE If I say "yes" then I get the same result after that (process disappears after loading screen), however on the next run the game crashes on the splash screen with the actual crash reporter:

image

See the end of this message for details on invoking \njust-in-time (JIT) debugging instead of this dialog box.\n\n************** Exception Text **************\nSystem.ComponentModel.Win32Exception (0x80004005): Sikeres.

  at System.Diagnostics.Process.StartWithShellExecuteEx (System.Diagnostics.ProcessStartInfo startInfo) [0x00102] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at System.Diagnostics.Process.Start () [0x00032] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x0001b] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at System.Diagnostics.Process.Start (System.String fileName) [0x00006] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.linklblLog_LinkClicked (System.Object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) [0x00010] in <6669c852ae2c4f45a64d6d2ce7411724>:0 
  at System.Windows.Forms.LinkLabel.OnLinkClicked (System.Windows.Forms.LinkLabelLinkClickedEventArgs e) [0x00020] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.LinkLabel.OnMouseUp (System.Windows.Forms.MouseEventArgs e) [0x000fb] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message& m, System.Windows.Forms.MouseButtons button, System.Int32 clicks) [0x001c3] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x005a0] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Label.WndProc (System.Windows.Forms.Message& m) [0x0005d] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.LinkLabel.WndProc (System.Windows.Forms.Message& msg) [0x0001b] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.OnMessage (System.Windows.Forms.Message& m) [0x00001] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x000b3] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.NativeWindow.Callback (System.IntPtr hWnd, System.Int32 msg, System.IntPtr wparam, System.IntPtr lparam) [0x00030] in <2880ee803a384afc84fc95657b396772>:0 

\n************** Loaded Assemblies **************\nmscorlib\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/mscorlib.dll\n----------------------------------------\nSpaceEngineers\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe\n----------------------------------------\nSandbox.Game\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Game.dll\n----------------------------------------\nnetstandard\n    Assembly Version: 2.0.0.0\n    Win32 Version: 4.6.26011.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/netstandard.dll\n----------------------------------------\nVRage.Render\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Render.dll\n----------------------------------------\nVRage.Steam\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Steam.dll\n----------------------------------------\nVRage\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.dll\n----------------------------------------\nSpaceEngineers.Game\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.Game.dll\n----------------------------------------\nSystem\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll\n----------------------------------------\nVRage.Library\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Library.dll\n----------------------------------------\nSystem.Xml\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll\n----------------------------------------\nVRage.Math\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Math.dll\n----------------------------------------\nVRage.Game\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Game.dll\n----------------------------------------\nVRage.NativeWrapper\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.NativeWrapper.dll\n----------------------------------------\nSandbox.Graphics\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Graphics.dll\n----------------------------------------\nSandbox.Common\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Common.dll\n----------------------------------------\nSystem.Core\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll\n----------------------------------------\nVRage.Platform.Windows\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Platform.Windows.dll\n----------------------------------------\nSystem.Windows.Forms\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll\n----------------------------------------\nSteamworks.NET\n    Assembly Version: 13.0.0.0\n    Win32 Version: 13.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Steamworks.NET.dll\n----------------------------------------\nSharpDX\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.dll\n----------------------------------------\nSharpDX.DXGI\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.DXGI.dll\n----------------------------------------\nSystem.Runtime\n    Assembly Version: 4.1.2.0\n    Win32 Version: 4.6.25714.01\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/System.Runtime.dll\n----------------------------------------\nSharpDX.Direct3D11\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.Direct3D11.dll\n----------------------------------------\nVRage.Ansel\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Ansel.dll\n----------------------------------------\nProtoBuf.Net\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/ProtoBuf.Net.dll\n----------------------------------------\nProtoBuf.Net.Core\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/ProtoBuf.Net.Core.dll\n----------------------------------------\nSystem.Reflection.Emit.Lightweight\n    Assembly Version: 4.0.1.0\n    Win32 Version: 4.0.0.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll\n----------------------------------------\nSystem.Reflection.Emit.ILGeneration\n    Assembly Version: 4.0.1.0\n    Win32 Version: 4.0.0.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll\n----------------------------------------\nAnonymously Hosted DynamicMethods Assembly\n    Assembly Version: 0.0.0.0\n    Win32 Version: n/a\n    CodeBase: \n----------------------------------------\nSystem.Drawing\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll\n----------------------------------------\nAccessibility\n    Assembly Version: 4.0.0.0\n    Win32 Version: \n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll\n----------------------------------------\nSystem.Configuration\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll\n----------------------------------------\n\n************** JIT Debugging **************\n

I had to edit my SpaceEngineers.cfg's GDPRConsent field back from True to False to move past this.

IInflexCZE 2019-10-01 github

Or my memory is failing me. Ignore me, I should go sleep :upside_down_face:

EDIT:
In any case it would be good to track "known issues" somewhere along with "known solutions".

LLinux74656 2019-10-02 github

Update for those who can get into the game. install vcrun2003 ontop of your working prefix. This may resolve crashing while you are in the game. The best way to test this is to create a creative version of world Alien planet world, get into the deterrent fighter, and start shooting the nearby smaller ships with missiles. This has seemed to reliably cause crashing on my sisters computer until I installed vcrun2003. Put the game under as much stress as possible and if it does not crash, load into another world and try again. If it still does not crash i think this is the issue.

As for the people who still can not get into a game world due to crashing and freezing. Let us try a blanket install of everything in my winetricks history, that would be on-top of the mono version in the guide.
winetricks --force -q vcrun2003 vcrun2005 vcrun2015 vcrun2017 msxml6 xact d3dcompiler_47 corefonts dxvk winxp

Let me know if anything changes!

Ddsge 2019-10-02 github

@Linux74656
I validated my files again. Then I did:

$ rm -rf /media/egyteras/SteamLibrary/steamapps/compatdata/244850/pfx

$ WINEPREFIX="/media/egyteras/SteamLibrary/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2003 vcrun2005 vcrun2015 vcrun2017 msxml6 xact d3dcompiler_47 corefonts dxvk winxp

$ WINEPREFIX="/media/egyteras/SteamLibrary/steamapps/compatdata/244850/pfx" msiexec -i "./wine-mono-4.9.3.msi"

$ python3 autopatcher.py
bsdiff is installed!
Cannot locate install directory. Please input the steamapps folder location where Space Engineers is installed.
/media/egyteras/SteamLibrary/steamapps/
BuildID: 4246126
checksum.json Retrieved
Patches Retrieved
Program Complete!

( autopatcher.py version is the one from Linux74656/SpaceEngineersLinuxPatches#5 )

Unfortunately the behaviour after this is still the same as my previous comments: the game crashes left and right and I am unable to get through the loading screen.
Log files show no change as far as I can tell:
SpaceEngineers.log
steam-244850.log

Jjarrard 2019-10-02 github

I did a quick test then and my game crashed on loading, I did apply the new patches for v103 but perhaps I will verify again and re-attempt it.

LLinux74656 2019-10-02 github

@dsge Thanks for the fix to the autopatcher! Could you tell me your OS version, kernel version.

Ddsge 2019-10-02 github
Jjarrard 2019-10-02 github

Moved my game to the NVMe, redid the patch. Seems to work good second attempt anyway.
I really hope the developer of Space Engineers can make these patches work with windows multiplayer servers, I feel that's pretty important issue to overcome.

LLinux74656 2019-10-02 github

@dsge Try running the game with this config file:
Don't change any settings until after you try loading an empty world.

EDIT: Use this one instead, the other one was in french(I don't actually speak french but i was seeing if the game acted differently with other localization... it does not seem like it does).
SpaceEngineers.cfg.zip

Ddsge 2019-10-02 github

Yea I was wondering why the french locale would be better suited to run the game :D

So the custom game called "Empty World" does load up:

image

(I was not aware that there was literally a custom game by that name, as I said I just bought the game yesterday.)

Other custom games do not seem to work, however I only had 1 crash out of the 8 tries I did on other custom games. The other 7 times I got stuck on the loading screen. By "stuck" I mean that I could see in Gnome System Monitor that the game does not actually reads or writes anything from my drive and uses 50% cpu (aka fully uses 2 of my 4 cores).

Jjarrard 2019-10-02 github

System Monitor that the game does not actually reads or writes anything from my drive and uses 50% cpu (aka fully uses 2 of my 4 cores).

Yeah that's typical of what you experience when it decides it isn't going to load. I've had it plenty of times but I can normally get in on the second try. Not sure why its always failing for you. It relies on mono to do the world compile job so perhaps mono is breaking on your system for larger workloads.

You can set different parameters for mono on loadup, atm I use MONO_GC_PARAMS=nursery-size=32m,minor=simple-par %command%

LLinux74656 2019-10-02 github

OK we are making progress.
I have noticed that my sister's computer has the same loading issue from time to time. But my computer does not. I did not think much of it as it was only a minor inconvenience, but it may be related so I'll see if i can fix it on hers.

OOnyx47 2019-10-02 github

I'm having issues loading anything still. Didn't manage to launch a world a single time, regardless of multiple attempts and doing various things.

I was tailing the SE logs as I was trying, and it seems like it's connected to loading definitions most of the time, not particular ones from what I see, just definitions in general - sometimes it loads voxel definitions fine, sometimes it loads nothing, and then it just hangs. I had one run where it actually loaded everything and tried to start a session, but then it crashed.

I'm kinda stumped at the moment, no idea if trying to attach any kind of mono debugger would give us anything useful, since this build doesn't have debugging symbols, but at the moment it seems to be wildly inconsistent, both between loads on a single system and between systems themselves.

While I'm happy this all gave us at least some insight, and I do hope we figure out if Mono is at least a temporary viable solution, I'm half tempted to just try and go back to dotnet and see if following Wine logs can reveal what exactly is tripping the GC up and see if we can fix that in Wine instead...

Ddsge 2019-10-02 github

You can set different parameters for mono on loadup, atm I use MONO_GC_PARAMS=nursery-size=32m,minor=simple-par %command%

@jarrard I tried that just now. Unfortunately the only difference I noticed is that now the game is back to 100% crashing after the loading screen (meaning that it does not get stuck there). "Empty World" still loads up just fine, no change there.

OK we are making progress.
I have noticed that my sister's computer has the same loading issue from time to time. But my computer does not. I did not think much of it as it was only a minor inconvenience, but it may be related so I'll see if i can fix it on hers.

@Linux74656 Thank you and everyone who is spending time on this. Quite a few of my friends play this game and I would really like to try it out to see if it's good. At least in single player for now.

LLinux74656 2019-10-02 github

@InflexCZE Do you think people could try installing these patches into their windows versions of the game? That would allow some people to play with windows users, the one that create their own custom games.

EDIT: Also is there some way to temporarily disable garbage collecting while running dotnet? If disabling it removes the stutter then we will know what the issue is.

LLinux74656 2019-10-02 github

@dsge Verify your game files. Do not apply the patch and instead create a new prefix to run the game with the following command:
winetricks --force -q vcrun2015 xact dotnet472

If you can launch the game into a world with this then your problem is most likely related to wine-mono and the patches.

IInflexCZE 2019-10-02 github

@Linux74656 You can try, but I doubt that the changes you've made would cause such a huge difference to the MP table as I've seen in the logs. There is ton of plugins and community projects for SE that perform thousands of small patches or straight up replace entire methods and systems and it works fine with vanilla clients.

Imho this is another issue coming from differences in Mono BCL. Unfortunately fixing this one, as opposed the the script compiler, would be much more tricky, mainly because of serialization.

Regarding the GC, it's very essential system that tracks and reclaims memory that is no longer used by the game so it can be recycled and used again (Yes, very green-thinking system, mother nature is proud :stuck_out_tongue: ) I'm sure there is a way to instruct .NET FW GC to allocate new memory from OS instead of trying to identify and reclaim bits that are no longer used (aka instead of doing the all performance intensive stuff) but be advised, you're looking at RAM consumption somewhere in a neighborhood of +500GB just to get into empty scene. So unless you have a really future proof PC or Linux knows some pretty damn good magic regarding swapping, I don't think it's a good idea to go this way. In any case, trying to manually configure it with proper parameters, same as we did with Mono GC before might fix it.

Alternatively you could try .NET Core. Last I've heard it runs very well on Linux and it should be very compatible with .NET FW, even in BCL. Last we've tried it was able to run SE dedicated server almost out of the box so who knows, maybe it might work even better than Mono.

LLinux74656 2019-10-02 github

@InflexCZE I'll give dotnetcore a try and see if it cooperates.
I'm looked into the documentation of how the dotnet GC works. The image shown in this section talking about threading: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals#what-happens-during-a-garbage-collection acts similar to the profiling shots i tried to get. A single core jumps to 100% usage while the rest seem to significantly decrease in usage or stop. Could this be a coincidence?

OOnyx47 2019-10-02 github

@InflexCZE I was more thinking of checking the logs to see which calls to native Windows libraries are not completely implemented in Wine and just see if those can be filled in properly and whether that would help. A lot of stuff in Wine's implementation of Windows API is just stubbed and implemented just enough to get things working initially, and is getting slowly filled in with time.

As for .NET Core, we'd still need to run it under Wine (at least VRage parts). I mean, VRage itself relies on WINAPI, right? And I'm also suspicious about ABI being compatible since it's a Windows application after all. Also, we still need to translate those DirectX calls to either OpenGL or, prefferably, Vulkan. That's maybe something that can be done independently of Wine, I didn't read up on it.

Arguably, whatever Wine bugs plague .NET 4.7 would also affect Core, since we'd have to run the Windows version of it anyway. And do note, current use of Mono for SE is not us running native Linux Mono and just feeding the SE executable to it, it's actually a build made specifically for Wine, and is actually a Windows application.

Also, since I do use .NET Core for Linux development (but I don't deal with low level stuff in .NET enough to be knowledgable about that part of it), I can tell you that yes, the code will mostly run fine, but there are many things that don't work cross-platform: there's no Windows Forms of course, some things like System.Drawing now exist as a nuget package but are not 100% compatible... Basically, something like a service you'd run on a server? Should work. Anything graphical? Not really.

SStripedMonkey 2019-10-02 github

I'm sure there is a way to instruct .NET FW GC to allocate new memory from OS instead of trying to identify and reclaim bits that are no longer used (aka instead of doing the all performance intensive stuff) but be advised, you're looking at RAM consumption somewhere in a neighborhood of +500GB just to get into empty scene.

Based on my (admittedly limited) experience I'd actually think that zram might actually be able to handle compressing the empty scene while leaving GC still off. If it's similar data (and I'd assume for an empty scene it would be) then it should be fairly easily compressible. Obviously not a great solution, and may affect pref. But I think it would actually be an interesting thing to try.

IInflexCZE 2019-10-02 github

Let me clarify. Game does not prealocate that much mem just for case it's needed. It would be that much of random bits of memory used during the loading of empty scene, but not needed any more. GC is able to find these bits and recycle through the lifetime of the process (~every few frames). Without it, they will lay there and eat up space forever.

IInflexCZE 2019-10-02 github

@Onyx47 You're right, I didn't realize at the moment that Core will actually not shield us from need of Win APIs and running Win build on top of Proton would prolly suffer from the same issues as .NET FW.

@Linux74656 It could mean anything. Could be GC or could be render going full balls while simulation is stuck or something.

I did a quick search online, unfortunately it looks like that .NET FW GC doesn't offer any configuration options (at least not any that would be worth it, fixed heap size, Gen 0 size, thread allocation for collection works, ...) so unless you have some more tricks up your sleeve on how to profile/identify the peaks I guess we're out of luck here :(

LLinux74656 2019-10-02 github

@InflexCZE If I set the fixed heap size, and or Gen 0 to something ridiculous like 25gb (one of my systems has 32gb of ram) would that prevent the garbage collector from running for at least a few seconds?
If so how would I set it to do that?

IInflexCZE 2019-10-02 github

Yes, fixed heaps of some insane size should reduce GC frequency greatly (in exchange for slight increase of collection time when it actually happens and ridiculous memory consumption ofc), but as I've said it doesn't seem that .NET GC supports any kind of such (manual) configuration, unfortunately.

LLinux74656 2019-10-02 github

I understand now. Sorry for all of the confusion.

Ddsge 2019-10-02 github

@dsge Verify your game files. Do not apply the patch and instead create a new prefix to run the game with the following command:
winetricks --force -q vcrun2015 xact dotnet472

If you can launch the game into a world with this then your problem is most likely related to wine-mono and the patches.

@Linux74656 I did just that, here are the results.

I am getting this twice before the splash screen and once if I exit the game through the menu (pressing "yes" takes me here - thanks Microsoft I guess):

image

Other than that, the game starts. I was able to start any Custom Game that I've tried.

image

image

The game stutters at very regular intervals (not quite visible on my screenshots because taking a screenshot momentarily messes with the frame timings and the fps reported by dxvk hud) which also causes stutter in any sound that's currently playing. On an empty world it was less frequent (about once per second) and on a more built up world it was at least 2-3 times per second. Other than the stuttering I seem to have 120fps (every graphics option is set to the lowest possible value) without much of a problem on my system (specs).

My overall impression is that technically the game works but that stutter makes it very annoying to play.

LLinux74656 2019-10-02 github

@dsge Yeah... the stutter is why we started using wine-mono.
At least we know that the issues with launching into the world are related to wine-mono and the patches.

Ddsge 2019-10-02 github

Yepp I know, it's also why garbage collection is being discussed. I just wanted to document that at least with dotnet472 I am getting pretty much the same result as everyone else does. Unlike with wine-mono+patches which for whatever reason seem to work much better for you than it does for me.

Ssolenum 2019-10-03 github

There's a lot going on in this thread, what's the right way to run this at the moment? I installed xact dotnet472 to get it running but it stutters pretty hard on my rig, I see mentions of a patch?

SStripedMonkey 2019-10-03 github

The current process is mentioned here (not super clean rn though, I'll work on the readme in a bit if Linux doesn't). Basically install vcrun2005, xact, wine-mono, and either use the patch tool to apply Linux's patches or do it manually with bspatch. Currently cannot do Linux-windows multiplayer but linux-linux seems to work.

LLinux74656 2019-10-03 github

@InflexCZE What does <gcServer enabled="true"> do exactly? Would it break the game in anyway that I might not understand? I added it to some files and it seems to have solved the dotnet stutter issue. It can't be this easy... nonetheless since this has something to do with garbage collection, as long as what I changed did not break other cpu intensive parts of the game, I assume the stutter in dotnet has been GC related all along. Unless there is something else I am missing(considering how late it is this is very possible :smile:),

Jjarrard 2019-10-03 github

where is the gcServer enabled="true" setting? that in a config somewhere?

Did you test it against windows mp servers to see if you can join them (best test on server with no mods to start with).

IInflexCZE 2019-10-03 github

MS is pretty vague about what the server GC preset actually does, but from what I can tell it tries to leverage more cores (that are usually present on server machines) and allocates bigger memory segments which would result in less frequent triggers of GC traded for increased overall mem consumption of the process.
https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals#workstation-and-server-garbage-collection

Feel free to experiment with it, it's high improbable that you would break anything in game with GC settings, at worst it could start crashing.

OOnyx47 2019-10-03 github

This is actually an interesting find. Reading a bit myself (pasted from the docs):


For single-processor computers, the default workstation garbage collection
should be the fastest option. Either workstation or server can be used for
two-processor computers. Server garbage collection should be the fastest
option for more than two processors.

This makes me think that, while GC might be impacted running under Wine, is it possible that the part of the problem is also related to the scheduler? IIRC, many people have reported that the game only uses 50% of the CPU even though it's struggling (and I think that also happened to me), while I'm sure I saw it hit at least 80% on Windows on my rig. Maybe it's just the problem of GC running on the same core as the rest of the game while it doesn't happen natively because Windows scheduler handles stuff differently and/or Linux scheduler doesn't know it's thread safe (possibly because multiple things that are separate on a real Windows system all might be running under wineserver process on Linux) so it refuses to move it to a different core?

I'll test this tonight on my end and report the results. If it works that would be great news! Especially since I don't see a reason for this not to be turned on in the game itself, given its requirements I think we can pretty much count on everyone playing having a multicore system, or at the very least a hyperthreaded one which should still improve performance. Yes, I know the docs mention multiple processors, but with modern CPUs that line is blurry anyway, is it not?

DdiKsens 2019-10-03 github

Hello I have:

<Runtime>
  <gcServer enabled = "true" />
</Runtime>

inserted at the end of my SpaceEngineers.exe.config and the game is now running with .net already 4 hours without stuttering.
Also in multiplayer on a windows server.

Can someone else try that?

IInflexCZE 2019-10-03 github

@Onyx47 SE is able to effectively leverage only ~2.5 up to 4 threads, depending on scene complexity. It's well known issue coming from old architecture of used engine. If you don't see it scaling well with number of provided codes, it doesn't necessarily mean it's fault of anything in your Linux setup. More likely our technical debt.

My guess from the beginning is that the sefl-tuning mechanism of the GC is failing because of some incorrect data feeded to it from Proton side and it is very possible that this issue doesn't manifest in server mode. Whatever the actual culprit actually is doesn't really matter tho, as long as it runs well :smile:

I'm very glad that even crossplay with Windows works fine. Scripts and mods work too, right?

DdiKsens 2019-10-03 github

I have just tested scripts.
works in multiplayer and singleplayer.
Even with mods no problems

my gpu load is a bit higher than in windows

I see a spike every 10-20 seconds in my dxvk hud, even a slight fps drop, 5-10 fps but the average is between 50-60 with vsync and high settings (GPU RX580 8GB)

LLtSich 2019-10-03 github

Then you just installed dotnet472, xact and make the change in the config ?
That's all ? You can use the last proton version ?

DdiKsens 2019-10-03 github

installed packages: protontricks 244850 -q --force vcrun2005 vcrun2015 dotnet472 xact
steam launch settings: DXVK_HUD=full PROTON_NO_ESYNC=1 %COMMAND% -skipintro

Proton: 4.11-6
Kernel: 5.0.0-30-generic Ubuntu 19.04

Update: sry i forgot dotnet472

LLtSich 2019-10-03 github

ok, on my side apparently I can't install vcrun2015, I've got this error :
Note: command /home/sich/.steam/steam/steamapps/common/Proton 4.11/dist/bin/wine vc_redist.x86.exe /q returned status 102. Aborting.

but, I have installed dotnet472 and added the <gcServer enabled = "true" /> inside the Runtime and now it's work very well :)

I tested 2/3 mods and apparently it's ok for that.

But adding this at the end of the .config file doesn't work. :

<Runtime>
  <gcServer enabled = "true" />
</Runtime>

I have change the config file like this at the end :

    </assemblyBinding>
  <gcServer enabled = "true" />
  </runtime>

Thx for the tips.
If you know how to increase the memory usage (I have 32gb) just tell me, it will probably help.

DdiKsens 2019-10-03 github

the end of my config looks like this:

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <runtime>  
    <gcServer enabled="true"/>
  </runtime>
</configuration>
LLtSich 2019-10-03 github

ok, it's inside the configuration then.
It's probably the same, as long as we stay inside the configuration.

But I wasn't able to do anything without dotnet472.

LLinux74656 2019-10-03 github

@diKsens So it appears I do not need to add it to all of the config files (Sandbox.Game.dll.config and VRage.Game.dll.Config). Only SpaceEngineers.exe.config. That is good to know.

I can confirm that scripts do in-fact work, and that connecting to windows servers(keen na) works without issue.

IInflexCZE 2019-10-03 github

Can I please ask for one SE log from .NET FW? Just regular log after game successfully starts.

LLinux74656 2019-10-03 github

@InflexCZE Here you go!
SpaceEngineers.log

I am still convinced something is going on behind the scenes. I used the speed enhancement mod and took the crashes red ship and slammed it into another asteroid at 300m/s and the game had practically no issue with it. I will keep testing.

IInflexCZE 2019-10-03 github

Game had no performance issues when I did something it was designed for.
Is that a bad thing or what? 😛

LLinux74656 2019-10-03 github

Oh... I thought the game limited ship speed to 100m/s because of performance issues?

IInflexCZE 2019-10-03 github

It depends. Throw this against a planet and expect impact sometime tomorrow this time. It will tank sim speed really hard even on decent rigs.
https://steamcommunity.com/sharedfiles/filedetails/?id=501767620

OOnyx47 2019-10-03 github

I notice one thing here that I also saw under Mono (but thought it might just be a Mono thing):

2019-10-03 09:27:06.247 - Thread:   1 ->  GC Memory: 1,857,883,240 B
2019-10-03 09:27:06.251 - Thread:   1 ->  Process Memory:  B

Maybe worth investigating on the Wine front, GC might be using a similar call into WINAPI and getting no data?

IInflexCZE 2019-10-03 github

This call queries NtQuerySystemInformation (SystemProcessInformation):
https://docs.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntquerysysteminformation

If you know where, can you check if it's correctly implemented or just stubbed?

Jjarrard 2019-10-03 github

Well with that little config file fix it works now, pretty damn good in fact. Even joined a MP server, no problems.

vcrun2015 didn't install for me either but perhaps its already installed by steam? either way this is awesome. From trash rating on protondb to gold basically :)

OOnyx47 2019-10-03 github

https://source.winehq.org/git/wine.git/blob/a8745d1211033dd38682e2f4e8bc322d47a15e0f:/dlls/ntdll/nt.c#l2373

Seems to be implemented but it does include a fixme as well, don't have enough time to look deeply into what might be wrong with it (if anything is, other than how it gets memory usage in the first place smelling badly) right now.

LLinux74656 2019-10-03 github

@InflexCZE For the lolz I did this:

It depends. Throw this against a planet and expect impact sometime tomorrow this time. It will tank sim speed really hard even on decent rigs.

And I see your point :smile:

I am still astonished at how much the game has improved since I last played it properly in windows(roughly a year and a half now.) You and the other space engineers developers have taken this game further than I ever thought possible. Thanks for all the hard work you all put into this game.

Jjarrard 2019-10-03 github

There are some new space engineers type games coming out that seem to fix the physic limitation problems that SE has, such as speed limits and collisions causing all hell to break loose. It be nice if something was done for the VRage engine but I suspect its just not possible.

OOnyx47 2019-10-03 github

@InflexCZE I was silly and was looking at the wrong part of code, I assume this is the actual relevant part:

https://source.winehq.org/git/wine.git/blob/a8745d1211033dd38682e2f4e8bc322d47a15e0f:/dlls/ntdll/nt.c#l2460

Looking at docs a bit, I'm assuming PrivatePageCount is the relevant property? Which doesn't seem to be set anywhere.

IInflexCZE 2019-10-03 github

@jarrard Anything is possible given enough time and resources. Unfortunately our team is small so we have to make a choice. Either we deliver new content and gameplay, or we do a deep changes to the engine and implement new state of the art technologies that emerged in last years.

We believe that our players will currently appreciate more if we focus on the first one and once the time comes to significantly improve technology it'll prolly come hand in hand with announcement of new game so we don't have to maintain backwards compatibility for every little thing we change (which usually consumes most of time).

(No, we are not abandoning SE now, we're still working on it 😄 )

IInflexCZE 2019-10-03 github

@Onyx47 I see. That could explain some things

LLtSich 2019-10-03 github

@InflexCZE : that's a good way to go.

Just if you can think to our little linux community when you work on your new game that can be a very good thing :)
Just that we can play with Proton without too much trouble, like it seem we can probably do with Space Engineers soon :)

Because with Medieval Engineers we can't even start the game...
I hope that this will not be the case with your next game !

Now that Space Engineers is playable on Linux I will be able to completly remove Windows, just before the end of life for Win7, just perfect :D

And BTW, thx to every people working so hard to find solution for Space Engineers !
Thx to you @InflexCZE to join us here and for all the help you have provide !

LLinux74656 2019-10-03 github

Since this seems to be a far more stable solution to getting Space Engineers to run I redid the repo and readme all of the mono stuff we worked on is is a sub-directory in this repository, should we ever need to come back to it.

Thanks again to everyone for helping figure this out. It has been an interesting journey :smile:

IInflexCZE 2019-10-03 github

@LtSich The decision to not pay any special attention to Linux is very simple, money. This applies to all studios universally. Either an engine game uses supports Linux out of the box, in that case the game "supports Linux" or the engine doesn't support it, in that case nobody really cares and focuses only on major platforms. Developers are expensive and <1% market share speaks clearly.

As for the case of VRage, we're now supporting also XBox so we had to restructure engine quite a bit to make it platform agnostic. This means that by implementing limited interface, the game will be able to run on any platform that can run .NET, thus, if you encounter any issues with our future games you can just re-implement this interface with proper Linux calls and have a good time with a new game.

SStripedMonkey 2019-10-03 github

We may be <1% but I think we're pretty loud for being such a small group :P

LLinux74656 2019-10-03 github

We may be <1% but I think we're pretty loud for being such a small group :P

And determined!

IInflexCZE 2019-10-03 github

Yeah, well that won't pay my dinner, is it? 😛

LLtSich 2019-10-03 github

Yeah, well that won't pay my dinner, is it? stuck_out_tongue

I'm ok with a crowfunding to collect money to make some change on the game to run better on Linux... I'm sure a lot of people will be ok to give some money to have the game run smoother on Linux...

And the problem is that you make a game for Windows, and after that you try to make it run on Linux...
To make a game that run multiple plateform you have to think about that from the start.. And don't use Windows only tools.

And don't forget that Google Stadia is soon here, and it's on Linux servers...
Being able to run the game on Proton / Linux give the ability to sell the game on Google Stadia...

And about Windows... Win10 is a plague... A lot of people would like to go on Linux to avoid that...
I work with Linux servers for more that 10 years now, but I only use it on my computer for 1 year now... Because I don't want to use Win10...

But don't worry, I fully understand why KSH don't support Linux.
And I'm very grateful for the help you give :)

Oh and here is a good post from a linux dev, it's interesting to read :)
https://beardedgiant.games/benefits-of-supporting-linux-if-you-are-a-small-indie-developer/

Mmozo78 2019-10-03 · hidden on GitHub github

We are more than 1%. Steam survey is borked. I'm completely Windows free for 10 years and I got the survey just once. One more thing - don't count on statistics from Net Marketshare etc. Many Linux users still have to use Windows user agent for various reasons.

Kkisak-valve maintainer 2019-10-03 github

Hi folks, while it's nice to see a servicable workaround has been figured out, let's try to keep this compatibility report focused on the game. Feel free to discuss the general state of gaming on linux on the forums.

Ppipnina 2019-10-03 github

If you are still open to conversation regarding even potential considerations for Linux support for future Keen releases, would it be possible to have a channel of some sort on the Keen discord (I remember that existing a while back) to handle this type of topic so we do not derail this Proton issues thread too much from the intended purpose, as kisak has said we are? I think there could be interesting discussions to be made in that regard especially since the landscape of graphics programming (vulkan) and dotnet is changing.

Ddsge 2019-10-03 github

After following the instructions the game seems to work for me as expected and the vast majority of the annoying stuttering is gone. There are still some leftover issues with the audio at least, but it's nothing I cannot live with.

Check it out: https://youtu.be/RBqQAkYWBGA?t=60 :tada: :tada: :tada:

Thanks again to everyone who helped find those workarounds!

OOnyx47 2019-10-03 github

I confirm success as well! Some graphics crashes currently, but not sure if it's the game or running it in Proton, since those happen sometimes even on Windows, sadly...

Ssolenum 2019-10-03 github

Can confirm that the above fix works on my end, adding just the following to my SpaceEngineers.exe.config file resolves the frequent performance drops and the game runs at a solid 120fps for me at high settings on my i7-7700k/GTX 1070. Multiplayer works fine as well.

Also need to install dotnet472 and xact via winetricks or protontricks.

  <runtime>  
    <gcServer enabled="true"/>
  </runtime>

<runtime> already exists for me so I just had to put the <gcServer.. part at the end before the closing statement </runetime>

IInflexCZE 2019-10-03 github

After switch back to .NET FW with server GC, do you experience any startup issues like on Mono, hangs in loading screen, crashes or anything?

Ddsge 2019-10-03 github

After switch back to .NET FW with server GC, do you experience any startup issues like no Mono, hangs in loading screen or anything?

dotnet472 does not have that issue for me. Everything works as expected so far in that regard. I can reliably start the game and start any Custom Game that I've tried.

OOnyx47 2019-10-03 github

Personally, I had a crash when starting a new world once and two crashes that threw out a graphics driver crash dialog (the driver didn't actually crash on the system, might've just been DXVK giving up), but past that it was a pretty smooth experience.

Spent a few hours playing a MP game in a modded world with 5-6 other people about, messed with scripting while there, and this was all hosted on a Windows machine (just a local world on a friend's machine, not DS).

There were spikes here and there that still might be related to GC, but it was running at pretty stable 120 FPS on my 3GB 1060 and Core i5 4460, all while running in a window with compositing turned on in my desktop environment. Went lower later as we started building a lot, not surprising, not sure how much of a performance loss was due to which factor at that point.

CDsvdlb

Overall, I'd call it completely playable :+1:

Jjarrard 2019-10-04 github

Yeah I think this qualifies it for a Gold rating on ProtonDB, which is works pretty well with minor tweaks.

AAerol 2019-10-04 github

Wow, this has really blown up (my email). Congratulations on finding a fix/work around, I was able to launch and play with dotnet472 and xact, set gc config option, and ended up needing PROTON_NO_ESYNC to prevent crash while loading.
I've submitted a report to ProtonDB with a gold rating. Thanks for your perseverance Linux74656, and for the insight InflexCZE!

SStripedMonkey 2019-10-04 github

So is vcrun unnecessary or do some people still need it?

Jjarrard 2019-10-04 github

i didn't install vcrun2015, but steamplay may have installed it already, didn't check.

LLtSich 2019-10-04 github

The game run fine for me.
I can create a game with mods, scripts are ok.

I wasn't able to install vcrun2015, but with dotnet472 and the config change it was fine.

OOnyx47 2019-10-04 github

I think vcrun2015 is installed by Steam as a prerequisite when first launching. It probably also tries to install dotnet, but that requires some hackery in 64bit prefixes that's handled by winetricks so that's why we still need to run that separately. As for xact I think that might be preinstalled or comes as a part of DirectX or something on Windows. With time, we might be able to skip that as well, but FAudio doesn't support the file format used by SE yet, so we're stuck with native Windows libraries for now.

Jjarrard 2019-10-04 github

FAudio is meant to replace Xact but it seems it doesn't work in this case.

OOnyx47 2019-10-04 github

@jarrard from what I read on their features page, it's probably the XWM file format, the regular version that gets installed by Steam doesn't support it.

Interestingly enough, since I happen to know Skyrim uses the same file format, I went looking and found this:

https://github.com/Kron4ek/FAudio-Builds

Seems like someone built it with WMA support and it reportedly works in Skyrim. Might be worth trying that for SE as well, that means we'd get rid of one more native requirement.

Jjarrard 2019-10-04 github

worth a try, I'll give it a shot sometime, dunno when, chances are 10 of you guys will beat me to it, if so let us know how it goes. (Faudio with WMA).

As a shortcut I heard proton-GE has faudio with wma already in it, but could be wrong.

LLinux74656 2019-10-04 github

@Onyx47 try installing d3dcompiler_47 into your prefix. I had an occasional graphics crash as well, but after installing that it seems to have gone away(of course it was so infrequent to begin with it still could happen).
Also I just created a new prefix using winetricks to install faudio instead of xact, It seems to have solved the popping audio. I'll modify the guide to include both of these if it seems to fix peoples issues.

Jjarrard 2019-10-04 github

what is required to allow the movie files to play that the game uses?

LLinux74656 2019-10-04 github

It seems that actual playback of .wmv files is not likely for now. you can check the issue #1464 for more information.
I have tried installing media foundation and using/overriding various dll's from a windows 7 laptop. It did not have any impact on the play back.
I don't know what kinds of video formats the game can load, but I have tried converting the intro into a few dozen different types, back when I thought the stutter might be related to the audio and the background videos on the main menu, nothing really came of it. I am sure someone will figure out in time... but for now just disabling the intro video is the best option.

Jjarrard 2019-10-04 github

Tried Proton-GE and it just ctd on loading a world so that doesn't seem to work if anyone was wondering. Guess I'll need to compile my own faudio, also its worth noting the game sound itself works fine without faudio wma support, the wma support is what the MUSIC uses.

https://github.com/Kron4ek/FAudio-Builds

I overlooked that there are compiled releases.. oops, yeah compiling it yourself is a headache, gotta set a half dozen dependency paths which I don't fully understand. (I can compile the basic faudio but wma support requires 5 extra path configurations)

LLinux74656 2019-10-05 github

@jarrard I installed faudio through winetricks (in a fresh prefix without xact) and it seemed to work fine.

Jjarrard 2019-10-05 github

ok maybe winetricks/protontricks uses the wma supporting version which is good since without ffmpeg support it kinda makes faudio very limited.

OOnyx47 2019-10-05 github

Confirming that faudio from winetricks works for me as well :+1:

Tthorsten-passfeld 2019-10-05 github

Okay, so faudio clearly works better, but there is one thing left that is really bugging me.
Whenever a ship arrives at your location for example, its engine sounds will persist and loop over and over until you either load another area or quit.
Haven't played survival yet, but this at least occured in the campaign. Precisely, I remember it happening in this exact moment: https://youtu.be/6MihPOJUrQ4?t=2623
Of course, the persistent engine sounds occured whenever there was an engine going off, if I remember correctly, but this scene should make it possible to replicate the issue.

Rroothorick 2019-10-05 github

I've had issues with "stuck" sounds on Windows, though not as often as you make it sound. Which means, two things:

  1. Before beginning to troubleshoot it as a Proton issue, we need to establish a scenario that reliably produces a stuck sound in Proton but not Windows
  2. It may ultimately not be strictly a shortcoming in Proton, but slight differences in timing causing a race condition to be hit more often. If so, it will be pretty much impossible to troubleshoot and will disappear overnight if Keen manages to fix the original bug.
Jjarrard 2019-10-06 github

Whenever a ship arrives at your location for example, its engine sounds will persist and loop over and over until you either load another area or quit.

Perhaps redo your prefix with XACT and test that scenario again a few times and see if it occurs there. If it only happens with faudio then it could be a bug report needed in that section for it?

OOnyx47 2019-10-06 github

I've had similar issues with sound blocks, sound not ending but rather just echoing the start of the sample. For example, a sound that should play for 2 seconds would play for 1.5 seconds, and then the first 0.5 seconds would play again, instead of the final 0.5 seconds (numbers for illustrative purposes only of couse, didn't time it). And this was with xact, didn't get to test it with faudio yet. Can anyone confirm?

If this happens with xact as well, might just be a Wine bug, or possibly PulseAudio bug. If anyone still runs pure ALSA on a system, could they try to repro this?

Aarctii 2019-10-06 github

image
I get this error message when I attempt to launch the game or when I run the WINEPREFIX command.
Is it possibly cause I have --force run the command several times in the same prefix with both xact and FAudio.
I recently switched to Linux and I am not familiar with Wine or any related programs like Proton or Winetricks. I've got a Linux buddy ( who got me to switch finally) who has helped me out so far.

Edit: I got the game to work (for a second time, first time I had it working too but with very obvious and obnoxious sound bugs. The audio would be delayed, as if the sound file had to fully finish playing before playing the next one in a queue style. So when you built a lot fast it would queue the sounds and play them one at a time meaning that when you stopped placing/welding, the sounds of construction would continue until all sounds had played). I don't know what I did to get the game to work this time in particular but the game runs relatively smoothly with one problem. The audio is clearly bugged still but not quite in the same way as before. The sound is muffled at some parts and sound file is cut off at beginning/end sometimes and some sounds wont play at all at random.
I still get the error message when I launch the game.

When I add "PROTON_NO_ESYNC %command%" to the launch parameters it does not launch at all. Just says "Running" then "Syncing" and back to nothing.

CCrafterSvK 2019-10-06 github

I tried to install xact and dotnet472 using winetricks or protontricks. dotNET install is corrupted and game needs dx11. (ArchLinux fella)

Jjarrard 2019-10-07 github

probably outdated winetricks

LLinux74656 2019-10-07 github

@CrafterSvK You can try to create a prefix using dotnet48 (This will require the latest winetricks version, winetricks --self-update) I have used it instead of dotnet472 and it seems to work the same. Although I still do get the rundll32 popups on start, just hit no when ever it pops up and the game should start fine.

Jjarrard 2019-10-07 github

can you tell wine to disable rundll32?

LLinux74656 2019-10-07 github

I tried disabling it and it seemed to work. The error no longer appears, and the game seems to run alright with limited testing.

Jjarrard 2019-10-07 github

yeah I think I got that error a few times also, not sure why it happens.

CCrafterSvK 2019-10-07 github

I tried winetricks --self-update nothing changed and installed dotnet48, os version is now windows xp which is weird primusrun %command% instantly crashes, ENABLE_PRIMUS_LAYER=1 optirun %command% seems to generate window for 1 second and intel graphics does nothing. :/ (I have 64-bit prefix, is it an issue?) This seems to be issue that I can't really get to work Vulkan on my Laptop. I have managed to run it on integrated graphics but only menu. After I load game, it crashes.

IInflexCZE 2019-10-07 github

Finally back on PC. @thorsten-passfeld when you reproduce the infinitely looping sounds again, can you please check this screen (Ctrl+F11) to see if you find the sound that's bugging you there. The game logs here all sounds the are currently playing, at least from its PoV.
image

If the sound is there, it means bug in the game. If not, most likely it's somewhere in XAudio re-implementation and we should track it there.

Ofc the simpler the scene, the better for debugging.

LLinux74656 2019-10-07 github

@CrafterSvK Can you please zip up and upload the logs for the crash, both SpaceEngineers.log and VRageRender-DirectX11.log.? They should be located at "INSERT/DIRECTORY/TO/SPACEENGINEERS/pfx/" + "/drive_c/users/steamuser/Application Data/SpaceEngineers/"

Also if you could post your system specs from steam "Help>System Information", into a txt file and upload it , that may be helpful.

CCrafterSvK 2019-10-07 github

info.zip
Here you go. Thank you very much. (I am currently doing stuff to school but later today I am going to try nvidia-xrun opposed to bumblebeed with primus_vk)

IInflexCZE 2019-10-07 github

Looks like issue with video player. Try deleting (or renaming) all videos in "SE_INSTALL_PATH/Content/Videos/*" and see if gets you any further.

LLinux74656 2019-10-07 github

@CrafterSvK Which nvidia graphics card does your laptop use? And do you have the proprietary Nvidia drivers installed?
Neither of these are listed in the steam info.
Also the game runs 64bit so a 64 bit prefix is required so it is fine that your prefix is 64bit. It also seems that most users have more stability when the prefix windows version is set to winxp, so this is normal as well.

CCrafterSvK 2019-10-07 github

Well, steam shouldn't run on nvidia graphics when bumblebee is used. I installed nvidia-xrun everything works fine and stable. 70 fps at lowest settings with 950M

LLinux74656 2019-10-07 github

@CrafterSvK Good to hear! Glad it works well!

Ccpw 2019-10-09 github

Everything runs nice and smooth, visually, however there is a very perceptible audio crackle, and it's quite distracting - both the music and the ingame sfx have the problem..

Jjarrard 2019-10-09 github

The audio problems have been discussed extensively in this discussion and there are solutions to reduce the problem. Just need to read above your post! for the most part using faudio for many works, sometimes you need to fiddle with pulse audio sync timings also.

IInflexCZE 2019-10-09 github

@Linux74656 Prolly should be added to the guide too

LLinux74656 2019-10-09 github

Got it! The issues section of the guide has been updated!

Ccpw 2019-10-09 github

Update: The PULSE MSEC thing didn't work for me. It looks like I have an older sound card that doesn't properly support the glitchless pulse playback (TIL!). I found alternative instructions here: https://www.reddit.com/r/wine_gaming/comments/83j0mh/wine_and_pulse_audio_latency/dvk60mp/

Basically, change the pulseaudio config to load with tsched=0 and smaller (apparent) fragments makes the audio sound perfect. This now gets a gold rating on proton. Brilliant stuffs. 6 months ago I tried and it couldn't even start. :+1:

Rroothorick 2019-10-10 github

There are issues with keyboard focus when in fullscreen (even in "windowed fullscreen"). If I try to switch to another window/app, the game immediately reclaims keyboard focus. This is a bit of an issue when copy/pasting ingame scripts from an outside editor. The workaround I found is to temporarily switch to a window when I need to get out of the game.

However, the clipboard DOES work, and it does look like ingame scripts are 100%.

IInflexCZE 2019-10-10 github

As requested earlier, we now have special channel dedicated to SE on Linux on our official KSH Discord. Feel free to join us there:
https://discord.gg/keenswh

LLtSich 2019-10-10 github

Just for information, I have far better result with xact against faudio.
On the last test I have installed xact and xact_64.
And I have made the change mentionned here : https://www.reddit.com/r/wine_gaming/comments/83j0mh/wine_and_pulse_audio_latency/dvk60mp/

And honestly the game run very very well.
Few audio bug when I start the game, and after few minutes all is running fine.

With faudio I have some strang audio lag, it's very annoying.
And it seem to impact performance.

Maybe this depend on the hardware or the system, I don't know...
But people who have trouble with faudio should try with xact.

GGwindalmir 2019-10-10 github

There are issues with keyboard focus when in fullscreen (even in "windowed fullscreen"). If I try to switch to another window/app, the game immediately reclaims keyboard focus. This is a bit of an issue when copy/pasting ingame scripts from an outside editor. The workaround I found is to temporarily switch to a window when I need to get out of the game.

However, the clipboard DOES work, and it does look like ingame scripts are 100%.

That's actually a problem on Windows too, so nothing Wine/Proton/Linux specific.
There's a few bug reports floating around somewhere on that problem.
It's very nice when I switch to notepad or discord to type something, and the game starts triggering a bunch of actions too. /s

IInflexCZE 2019-10-10 github

We've found the issue on Windows and it'll ship with next patch of the game.
Hopefully it'll fix the issue on Linux as well.

LLinux74656 2019-10-10 github

I modified the guide and wrote a new(heavily modified the old one) autopatcher to fulfill a different purpose, it will now patch the config file for you, then (try to) create the prefix. It should be at least mostly functional. Hopefully this will help reduce confusion on prefix creation for some of the newer or inexperienced users.

Mmatty-r 2019-10-11 github

After using the autopatcher i'm able to launch and play - however it hitches every 2 seconds or so. Using the full DXVK hud it shows a red line in the graph every time it hitches. Other than that, I get around 70-90 fps on Earth.

i7 6700k, 1080ti, 32gb DDR4 3200mhz

SStripedMonkey 2019-10-11 github

Did it look like This?

Mmatty-r 2019-10-11 github

Did it look like This?

Yea it does, where do you set that?

Jjarrard 2019-10-11 github

its mentioned how, just read down a few posts. you use the steam launch command thing.

Mmatty-r 2019-10-11 github

its mentioned how, just read down a few posts. you use the steam launch command thing.

Yea sorry, it was hidden (https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-536643269)

Mmatty-r 2019-10-11 github

Set my launch options to: MONO_GC_PARAMS=nursery-size=32m,minor=simple-par DXVK_HUD=full PULSE_LATENCY_MSEC=60 %command%

Still getting it, here is what the graph looks like:

image

LLtSich 2019-10-11 github

I think this is only usefull with mono : MONO_GC_PARAMS=nursery-size=32m,minor=simple-par
Did you try to build your prefix with xact instead of faudio ?
I have far better performance with xact... Faudio I have the exact same issue that you...

IInflexCZE 2019-10-11 github

Yes, it's only for mono.

@matty-r please check if autopatcher executed steps 3&4 correctly (e.g. the GC server is present in your config) https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/README.md#step-3

Mmatty-r 2019-10-12 github

Yes, it's only for mono.

@matty-r please check if autopatcher executed steps 3&4 correctly (e.g. the GC server is present in your config) https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/README.md#step-3

That's what did it. Just needed to add gcServer enabled="true" to the .config file. Works perfectly now. Amazing.

Thanks.

IInflexCZE 2019-10-12 github

@matty-r If autopatcher failed for some reason it would be good to know why so it can be fixed for others. Any error messages when you applied it? Also, can you tell us full path to the config file on your system? Apparently the path differs on some systems.

Mmatty-r 2019-10-13 github

@matty-r If autopatcher failed for some reason it would be good to know why so it can be fixed for others. Any error messages when you applied it? Also, can you tell us full path to the config file on your system? Apparently the path differs on some systems.

I tried re-running it, but it looks like it applies the gcServer setting now - bit odd. It did however stop working completely after I re-ran it and would just show the crash report dialog after the splash screen. I had to manually re-add gcServer, and deleted KSH.wmv .

So not really sure why it broke the first time around - the path matches the concatenated string in the Python script file.

Dduckinator 2019-10-13 github

I just successfully got Space Engineers working pretty easily on Linux, using a little bash script based on @Linux74656's Python script.

I'm running Fedora 30 on a system with an AMD RX 580 GPU.

Of note is that I actually couldn't get it to work unless I didn't install vcrun2015.

Here's what you do:

  1. In your Steam library, right click Space Engineers -> properties -> check "Force the use of a specific Steam Play compatibility tool" and choose "Proton 4.11-7", then click close.
  2. Install SE.
  3. Start SE, wait for the error about an outdated library, click OK. SE should create a wine prefix when it does this.
  4. Go to a Bash shell, and run the command below.
  5. If everything in step 3 succeeds, start SE. It should work now.

Bash command for step 3:

export WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx && winetricks --force -q d3dcompiler_47 && winetricks --force -q faudio && winetricks --force -q dotnet48 && winetricks --force -q winxp && sed -i 's/<runtime>\r\?$/<runtime> <gcServer enabled = "true"\/>/' ~/.local/share/Steam/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe.config && mv ~/.local/share/Steam/steamapps/common/SpaceEngineers/Content/Videos/KSH.wmv{,.bak}
Rroothorick 2019-10-13 github

That seems overkill. All I really had to do is launch game and let it error (to generate the initial prefix), protontricks 244850 -q dotnet472 xact, manually edit SpaceEngineers.exe.config, and it Just Works(TM).

Of note this didn't seem to work with Proton 4.2, but I wanted to use 4.11 by default anyway.

Hold on, you're specifically trying to use FAudio, aren't you? I missed that. d3dcompiler_47 or winxp shouldn't be necessary, though. (I'm surprised winxp doesn't break the game, to be honest.)

SStripedMonkey 2019-10-13 github

Windows XP is required to get the game to run. I've been unable to get it to work on Windows 7 or above.

IInflexCZE 2019-10-13 github

Hello @duckinator, I'm glad that the game runs well for you.

Currently we have another user over on our Discord that's having problems with winetricks on Fedora (Line 443):
https://pastebin.com/5Y1s7xjG

Can you share with us what version of winetricks you use?

Dduckinator 2019-10-13 github

@roothorick based on your comment, I deleted the wine prefix so I could try again.

Turns out, this is enough to make it work for me:

WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx winetricks -q dotnet48 xact && sed -i 's/<runtime>\r\?$/<runtime> <gcServer enabled = "true"\/>/' ~/.local/share/Steam/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe.config

Adding the -skipintro launch option to Space Engineers isn't required, but makes it so it skips the startup video which doesn't play. If you don't set that option, it plops you at a black screen and you need to click or press a key to continue.


@InflexCZE here's wine + winetricks version info:

~$ wine --version
wine-4.17 (Staging)
~$ winetricks --version
20190912 - sha256sum: 31d37bf18f1503ec46cedf8889e447901e746454e9c3de465f9cc57193e0c90b
~$

My simplified one above may work better, just due to doing fewer things. Also, they'll probably want to run rm -rf ~/.steam/steam/steamapps/compatdata/244850/ and then re-run the game once (to get it to regenerate the wine prefix) before trying again.

LLunaSquee 2019-11-02 github

~Using your workarounds, the game will only work for about one second after loading a world, where it would then freeze but the audio keeps on playing.~

EDIT: it works fine after re-launching.

Dduckinator 2019-11-02 github

Here's some info about my system in case it's relevant:

  • Ryzen 7 2700
  • AMD Radeon RX 580
  • 16GB RAM
  • Running Fedora 30
  • Steam is installed from the RPM Fusion repos

Someone I know with similar hardware (Ryzen 7 1700, Radeon RX 580) successfully got it working on ArchLinux using my last comment but I'm not sure if they needed to do anything extra beyond that.

Wwleona3 2019-11-14 github

@duckinator Your one liner above totally worked for me on F30. Game runs nearly flawlessly. I'm on a 2700X with an RTX 2070

Mmatty-r 2019-12-14 github

Having issues with copying GPS coords to clipboard. I can do it once, but any time after that when I click the copy to clipboard button it locks up for a couple seconds and does not copy the coords to the clipboard.

SStripedMonkey 2019-12-15 github

Is this on Wayland Matty?

Mmatty-r 2019-12-15 github

Is this on Wayland Matty?

Nah, x11.

Mmatty-r 2019-12-17 github

I've been getting two other issues:

  1. After exiting the game from the main menu, it hangs in the background and doesn't actually close. Steam continues to report Space Engineers is running.

  2. After about 30 mins of play, any mouse movement becomes jittery. I can move the character around fine with using the keys and experience no problems, but as soon as I look around with the mouse it's jittery again. Exiting the game and relaunching fixes the issue temporarily.

Kkisak-valve maintainer 2019-12-17 github

Hello @matty-r, the second part reads like #3316, see https://github.com/ValveSoftware/Proton/issues/3316#issuecomment-565734041 for a workaround.

Mmatty-r 2019-12-17 github

Hello @matty-r, the second part reads like #3316, see [#3316 (comment)](https://github.com/ValveSoftware/Proton/issues/3316#issuecomment-565734041) for a workaround.

Thanks mate, I'll give that a crack tomorrow and see how it goes.

Mmatty-r 2019-12-18 github

Hello @matty-r, the second part reads like #3316, see [#3316 (comment)](https://github.com/ValveSoftware/Proton/issues/3316#issuecomment-565734041) for a workaround.

G'day @kisak-valve , that appears to have resolved both the hanging on exit and mouse movement issues on one machine (Yet to try the other, but i'm confident it will work there also), thank you for that.

The only issue I have seen now is https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-565758685 - Unable to copy gps co-ords to clipboard after the first attempt.

DdiKsens 2019-12-27 github

After exiting Space Engineers, a process remains open in the background and steam reports that the game is still running.
Proton 4.11-11

LLtSich 2019-12-27 github

After exiting Space Engineers, a process remains open in the background and steam reports that the game is still running.
Proton 4.11-11

Same here, the game run fine, but I need to manually kill a lot of process after playing (wine, spaceengineers, ..).

LLunaSquee 2020-01-01 github

Same here, and killing the processes is not enough to make steam say that I'm not playing it anymore, have to kill steam as well. So weird.

OOnyx47 2020-01-01 github

For everyone with still playing problem - find and kill the SteamChildMonit process, that doesn't close properly either and that will make Steam stop showing you're playing the game.

DdiKsens 2020-01-02 github

Killing the processes is not the problem.
but it came with the 4.11-10 update and is still there.

SStripedMonkey 2020-01-02 github

Killing a process will solve the problem. Something, whether it be SE
itself or one of the various dummy processes, is hanging.

Mind you, that doesn't solve the root cause but it works

On Thu, Jan 2, 2020, 10:32 AM diKsens [email protected] wrote:

Killing the processes is not the problem.
but it came with the 4.11-10 update and is still there.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/1792?email_source=notifications&email_token=AB5DMRGXZSSVUSETAH4RG6LQ3YCHTA5CNFSM4F6IMNRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH6TJ6A#issuecomment-570242296,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5DMRAEVHS5P3XPDP2QZN3Q3YCHTANCNFSM4F6IMNRA
.

Aandyholst 2020-01-06 github

I could not start the game initially, to get it working with Proton version 4.11-11 I had to install latest version of winetricks with the command wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks && chmod +x winetricks && sudo mv -v winetricks /usr/local/bin then execute the script wget https://raw.githubusercontent.com/Linux74656/SpaceEngineersLinuxPatches/master/autoprefix-patcher.py && python3 autoprefix-patcher.py

System information:

System:    Host: asimov-MacBookPro Kernel: 5.4.6-050406-generic x86_64 bits: 64 compiler: gcc 
           v: 9.2.1 Desktop: Cinnamon 4.4.6 wm: muffin dm: LightDM Distro: Linux Mint 19.3 Tricia 
           base: Ubuntu 18.04 bionic 
Machine:   Type: Laptop System: Apple product: MacBookPro13,3 v: 1.0 serial: <filter> Chassis: 
           type: 9 v: Mac-A5C67F76ED83108C serial: <filter> 
           Mobo: Apple model: Mac-A5C67F76ED83108C v: MacBookPro13,3 serial: <filter> UEFI: Apple 
           v: 263.0.0.0.0 date: 10/30/2019 
Battery:   ID-1: BAT0 charge: 52.4 Wh condition: 53.3/76.7 Wh (70%) volts: 12.7/11.5 
           model: SMP bq20z451 serial: N/A status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard serial: <filter> 
           charge: 55% status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i7-6920HQ bits: 64 type: MT MCP arch: Skylake-S 
           rev: 3 L2 cache: 8192 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 46398 
           Speed: 3363 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 4: 900 
           5: 900 6: 900 7: 900 8: 900 
Graphics:  Device-1: AMD Baffin [Radeon RX 460/560D / Pro 450/455/460/555/560] vendor: Apple 
           driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:67ef 
           Display: x11 server: X.Org 1.20.4 driver: amdgpu,ati unloaded: fbdev,modesetting,vesa 
           resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: 
           renderer: AMD Radeon RX Graphics (POLARIS11 DRM 3.35.0 5.4.6-050406-generic LLVM 7.1.0) 
           v: 4.5 Mesa 18.3.0-rc4 direct render: Yes 
Audio:     Device-1: Intel 100 Series/C230 Series Family HD Audio driver: snd_hda_intel v: kernel 
           bus ID: 00:1f.3 chip ID: 8086:a170 
           Device-2: AMD driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 1002:aae0 
           Sound Server: ALSA v: k5.4.6-050406-generic 
Network:   Device-1: Broadcom and subsidiaries BCM43602 802.11ac Wireless LAN SoC vendor: Apple 
           driver: brcmfmac v: kernel port: 3000 bus ID: 03:00.0 chip ID: 14e4:43ba 
           IF: wlp3s0 state: up mac: <filter> 
           IF-ID-1: docker0 state: down mac: <filter> 
Drives:    Local Storage: total: 465.92 GiB used: 104.53 GiB (22.4%) 
           ID-1: /dev/nvme0n1 vendor: Apple model: SSD SM0512L size: 465.92 GiB speed: 31.6 Gb/s 
           lanes: 4 serial: <filter> 
Partition: ID-1: / size: 455.46 GiB used: 52.10 GiB (11.4%) fs: ext4 dev: /dev/dm-1 
           ID-2: /boot size: 704.5 MiB used: 319.2 MiB (45.3%) fs: ext4 dev: /dev/nvme0n1p2 
           ID-3: swap-1 size: 979.5 MiB used: 25.0 MiB (2.6%) fs: swap dev: /dev/dm-3 
Sensors:   System Temperatures: cpu: 76.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Repos:     No active apt repos in: /etc/apt/sources.list 
           Active apt repos in: /etc/apt/sources.list.d/additional-repositories.list 
           1: deb [arch=amd64] https: //download.docker.com/linux/ubuntu bionic stable
           Active apt repos in: /etc/apt/sources.list.d/amdgpu-pro-local.list 
           1: deb [ trusted=yes ] file: /var/opt/amdgpu-pro-local/ ./
           Active apt repos in: /etc/apt/sources.list.d/graphics-drivers-ppa-bionic.list 
           1: deb http: //ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic main
           Active apt repos in: /etc/apt/sources.list.d/kubernetes.list 
           1: deb https: //apt.kubernetes.io/ kubernetes-xenial main
           Active apt repos in: /etc/apt/sources.list.d/lutris-team-lutris-bionic.list 
           1: deb http: //ppa.launchpad.net/lutris-team/lutris/ubuntu bionic main
           Active apt repos in: /etc/apt/sources.list.d/nodesource.list 
           1: deb https: //deb.nodesource.com/node_10.x bionic main
           2: deb-src https: //deb.nodesource.com/node_10.x bionic main
           Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
           1: deb http: //ftp.acc.umu.se/mirror/linuxmint.com/packages tricia main upstream import backport
           2: deb http: //archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
           3: deb http: //archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
           4: deb http: //archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
           5: deb http: //security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
           6: deb http: //archive.canonical.com/ubuntu/ bionic partner
           Active apt repos in: /etc/apt/sources.list.d/skype-stable.list 
           1: deb [arch=amd64] https: //repo.skype.com/deb stable main
Info:      Processes: 307 Uptime: 2h 31m Memory: 15.54 GiB used: 2.85 GiB (18.4%) Init: systemd 
           v: 237 runlevel: 5 Compilers: gcc: 7.4.0 alt: 7 Client: Unknown python3.6 client 
           inxi: 3.0.32 

Jjorgegomzar 2020-01-12 github

Game won't start with NVIDIA GPU using proprietary drivers (tested on 435 and 440), but it does using integrated AMD GPU (poorly).
I keep getting the "Update windows or your gpu drivers" dialog.

  • wine version 5.0-rc3 (tried with 4.0.3 as well)
  • winetricks version 20191224-next
  • proton version 4.11.11

Logs:
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

Jjarrard 2020-01-12 github

Try a proton-tkg release and see what happens. I think NVIDIA cards are typically spoofed as AMD cards but maybe that is no longer happening, you can manually spoof your GPU to AMD.

I'm not sure if this method still works for proton but these are for AMD (just search the values).

dxvk.conf in game directory:
dxgi.customDeviceId = E366
dxgi.customVendorId = 1002

Jjorgegomzar 2020-01-12 github

I just tried using proton_tkg_5.0rc5.r0, but it doesn't work even with the dxvk.conf file.

Jjarrard 2020-01-13 github

I'll give it a test drive soon on tkg.

Jjorgegomzar 2020-01-18 github

Using Proton GloriousEggrolls 4.15-ge-1, seems to make the game recognize my actual GPU, but VRageRender keeps failing:
VRageRender-DirectX11.log
SpaceEngineers.log

UPDATE: My problem was fixed thanks to @Linux74656 :

  • Wineprefix contains faudio vcrun2015 dotnet48 and d3dcompiler_47.
  • Proton 4.11.12
  • Steam game parameters: DXVK_FILTER_DEVICE_NAME="GeForce"
MMajorLunaC 2020-01-18 github

I can't seem to start it with all the patches and recommendations, and I can't tell why even with the log information:
steam-244850.log

Can anyone help me out?
System Information

Kkisak-valve maintainer 2020-01-18 github

Hello @MajorLunaC, err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"SpaceEngineers.exe" cannot be loaded looks like the line of interest from your log. It looks like .NET support broke somewhere in your tinkering.

Pplasticbomb1986 2020-01-23 github

System:
AMD 2700X watercooled
32GB DDR4 3200MHz CL18 RAM
RX VEGA64 watercooled
Game on SSD

OS Manjaro kernel 5.5 Mesa 20 git (with RADV_PERTEST=aco in game launch), Wine 5 RC4
compared to Win10 1909

Games is running, but randomly crashes, proton log generates 50-150+MB each run, game render feels stuttery till its not running at 120 FPS. and on same settings, the game considerably running slower (70+ FPS stabel on Win, 28 on Linux. 4k High settings preset. On same location in the same world save.)(After loading it up again, it gave me in fps counter 60 fps, yet the game felt stuttery, just like before. If like the render would run fine, but the game engine is in a shitty performance state.)
Windows-VRageRender-DirectX11.log
Windows-SpaceEngineers.log
LINUX-VRageRender-DirectX11.log
Linux-SpaceEngineers.log

proton log (50MB)
Google Drive

Jjarrard 2020-01-23 github

Yes I remember the stuttery feeling even tho FPS was high. I can't remember for sure if I fixed it or not but you might want to try enabling vsync.

MMajorLunaC 2020-01-23 github

Hi @kisak-valve , I actually haven't tweaked anything beyond SpaceEngineersLinuxPatches. I've tried Steam's default fixes which fail the exact same way, then the commands listed in this issues conversation, as well as SpaceEngineersLinuxPatches. From what I've gathered, it seems likely that .NET is not installing properly - See How to install .NET 4.5 on 64-bit prefixes, and I'm not even clear on when WinXP mode or Win7 mode should be enabled during installation and run (apparently it makes a difference). I think the issue might be from different versions of Winetricks which gets installers from different sources.
I have Winetricks 20191224-next, and I cleared /HOME/.cache/winetricks/ so new versions would download. Supposedly .NET is supposed to provide a new version of mscoree.dll that's over 100 kb if it installed correctly, but it never seems to change. One semi-workaround is that I download the newest version of mscoree.dll (version 10 something) from <Link removed by moderator> and put it directly inside SpaceEngineers/Bin64/ (as well as ucrtbase_clr0400.dll and vcruntime140_clr0400.dll which it asks for after), and the game starts and I can navigate the game menus. It crashes the game sometime while loading a new game with the following in the SpaceEngineer.log :
2020-01-23 15:28:50.210 - Thread: 1 -> ERROR Entity init!: System.IO.IOException: Too many open files.

Can I get someone to tell me their winetricks version that works? Or eventually even their whole pfx directory that works?

While I'm at it, @plasticbomb1986 , for possible performance boosts, you can try tweaking the registry (backup the pfx directory before you do), particularly changing the VideoMemorySize key to your actual one, GLSL key, and DirectDrawRenderer key, also anything in Direct3D and having to do with textures or shaders. Try one at a time, reverting any changes before trying a new one, then you can try combining.

Kkisak-valve maintainer 2020-01-23 github

@MajorLunaC, while I'm not going to comment on the workarounds you are trying, it may be worthwhile to double check that ulimit -Hn outputs a high value and not 4096.

Also, one of the links in your comment is legally problematic and has been removed.

MMajorLunaC 2020-01-24 github

@kisak-valve Whoops, sorry about the link, I didn't realize it. I'm too used to trying to figure out what's wrong and required by any means necessary.

The output of ulimit -Hn is 4096. Is there anything I can do about that? Can I safely increase it and to how much?

Kkisak-valve maintainer 2020-01-24 github

Proton uses esync (or fsync with capable kernels) by default, so it's likely that's contributed to what you encountered. The first section of https://github.com/zfigura/wine/blob/esync/README.esync should be helpful.

MMajorLunaC 2020-01-24 github

@kisak-valve Wow, it worked, I can play perfectly! Thank you for all your help!
I would still like to figure out how to make sure everything installs properly with the installers provided through winetricks to get some consistency, since the installers don't seem to really check if they did the job right. I think the .NET Framework Repair Tool might run through wine. It's not practical for everyone to copy dlls from a windows version they own or the "legally problematic" way of finding dlls online.

Jjarrard 2020-01-24 github

just use protontricks for ease of installing dotnet.

Dotnet can be installed all the way up to 472 I think (or is it 492 now?), but many of its functions may not work correctly. Windows Mono is a alternative but again many functions may not match up well.

Pplasticbomb1986 2020-01-24 github

Jarrad

Yes I remember the stuttery feeling even tho FPS was high. I can't remember for sure if I fixed it or not but you might want to try enabling vsync.

Check. Its feels a littlebit better, less stuttery, but the fps is still not close where it should be. PLus sometimes its still crashing.

MajorLunaC

While I'm at it, @plasticbomb1986 , for possible performance boosts, you can try tweaking the registry (backup the pfx directory before you do), particularly changing the VideoMemorySize key to your actual one, GLSL key, and DirectDrawRenderer key, also anything in Direct3D and having to do with textures or shaders. Try one at a time, reverting any changes before trying a new one, then you can try combining.

Gonna check it out! Thanks for the tip!

Ohh, and one more thing. Does any of you able to use Alt+F10?

BBeauBouchard 2020-01-26 github

Any one get a file not found Error on startup?

Screenshot from 2020-01-26 15-28-13

LLinux74656 2020-01-27 github

@BeauBouchard Are you using a custom version of proton... I get this message when using the latest version of Glorious Eggrolls custom proton.
If so try it with the latest official proton version. Note: you may have to delete and recreate your prefix, as GE destroyed my Space Engineers prefix, even after switching to 4.11-12.

Pplasticbomb1986 2020-02-15 github

Today proton got an update on my pc (from proton 5 to 5.0.2?), and since after that the game closing with out of memory error even when its just sitting in the main menu.
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

Theres a shitton of things goin on, with an avarage 2-3 hour game session the proton log make a 400-500 MB log, easily.

Pplasticbomb1986 2020-02-15 github

Today proton got an update on my pc (from proton 5 to 5.0.2?), and since after that the game closing with out of memory error even when its just sitting in the main menu.
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

Theres a shitton of things goin on, with an avarage 2-3 hour game session the proton log make a 400-500 MB log, easily.

After recreating the prefix, its still doin the same.

SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log
Screenshot from 2020-02-15 15-14-39cut

Forgot system spec: Ryzen 2700X 32GB DDR4 VEGA64 and multiple ssds (swap on nvme ssd).

kernel 5.5 mesa 20git Manjaro Gnome DE

DdiKsens 2020-02-15 github

same here.
SpaceEngineers.log

Llucifertdark 2020-02-15 github

steam-244850.log
Here's my latest log in case it helps, I haven't gone past the splash screen.

Mm4tm4t 2020-02-15 github

Same error but I'm not running Proton ( lutris-5.0 ) and my game crashed today suddenly after playing a month without issue.
I reinstalled the wine prefix/game, disabled steam cloud, no effect.
I booted into windows 10 and I see a notification for the first time : Default Radeon WattMan settings restored due to unexpected system failure.

Can play under windows, but after reboot/cold boot, same error under Linux.

Config: Ryzen 5 2600, AMD RX470, 16Gb RAM, SSD / Lutris-5.0 / ArchLinux

IInflexCZE 2020-02-15 github

This is really strange error. It's completely outside of SE somewhere deep in .NET library.
From the stack trace it looks like network communication, maybe analytics or something.

Can you try disconnecting your internet for a sec and running SE without any connection so we can rule out possibility of an insane response from remote server.

Pplasticbomb1986 2020-02-15 github

This is really strange error. It's completely outside of SE somewhere deep in .NET library.
From the stack trace it looks like network communication, maybe analytics or something.

Can you try disconnecting your internet for a sec and running SE without any connection so we can rule out possibility of an insane response from remote server.

Tryin the reinstallin process now. Linux74656 script stall here: 01a0:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be

DdiKsens 2020-02-15 github

Without an internet connection, SE can be started as before.
As soon as the Internet connection is established and the servers are queried, it crashes immediately.
SpaceEngineers.log

I have it with Proton 5.0-2 and dontnet472 as well as dotnet48.
also tried with Proton 4.11-12 and dotnet472.

IInflexCZE 2020-02-15 github

@plasticbomb1986 For installation you still need internet connection so that installers can be downloaded.

Pplasticbomb1986 2020-02-15 github

@plasticbomb1986 For installation you still need internet connection so that installers can be downloaded.

That would have been a facepalm moment, but no, net was on at the time.

I just came home from the cinema, in the last 4 hour it seems like it finished at the end, but i gonna rerun it, just to check it.

Wwleona3 2020-02-15 github

I can also confirm disabling the internet connection prevents the error.

Pplasticbomb1986 2020-02-15 github

I can also confirm disabling the internet connection prevents the error.

Yep, if after Se starts up and pop up the first loading "screen" i turn off the net, its loading up, and running okay, if i do not turn the net off, its loading up, but the audio cracks, and after a few sec its giving the out of memory error.

IInflexCZE 2020-02-15 github

Guys on Keen SWH Discord (https://discord.gg/keenswh) found solution in a meantime.
Game sends analytics to 81.0.234.196 and 88.146.207.227 (Keen SWH analytics servers) which apparently sends back some garbage that causes the issue (unintentionally).

Solution is to block this service via:
sudo iptables -A INPUT -s 88.146.207.227 -j DROP

All credit goes to Rölli :+1:

LLtSich 2020-02-16 github

Solution is to block this service via:
sudo iptables -A INPUT -s 88.146.207.227 -j DROP

Nice, thx ! This work fine !

Ccaptaincrutches 2020-04-06 github

Seems there's a few different people getting a few different errors here, and none of them seem to match mine. I also get the splash screen for a short time and then a crash, but my log looks different from the most recent ones uploaded by others. The most interesting line to me is
[000000000000003C:] EXCEPTION handling: System.TypeInitializationException: The type initializer for 'GameAnalyticsSDK.Net.Logging.GALogger' threw an exception.

This is on a clean prefix (removed steamapps/compatdata/244850), tested with and without the file changes from here.

The above iptables command does not help for me.

steam-244850.log

LLinux74656 2020-04-07 github

@captaincrutches By chance did you accept the GDPR agreement info dialogue when the game starts up? It may be active and be the source of the issue.
You can check here: .../244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.cfg

and change:

<item>
        <Key>GDPRConsent</Key>
        <Value>
          <Value xsi:type="xsd:string">True</Value>
        </Value>
</item>

TO:

<item>
        <Key>GDPRConsent</Key>
        <Value>
          <Value xsi:type="xsd:string">False</Value>
        </Value>
</item>
Ccaptaincrutches 2020-04-07 github

@Linux74656 I never got a GDPR dialog, and I don't have that file at all. In fact, I can't find a SpaceEngineers.cfg anywhere on my system.

That folder does contain a SpaceEngineers.log which I'll upload here for completeness - it seems to have a null pointer exception.

SpaceEngineers.log

IInflexCZE 2020-04-07 github

You're running the game via Mono instead of .NET framework. Probably incorrectly installed prefix.

What distro and winetricks version are you using?

Ccaptaincrutches 2020-04-08 github

I'm on Gentoo, using the latest winetricks (20191224) and protontricks (1.4.1) in portage.

IInflexCZE 2020-04-08 github

Delete game prefix and create it again. While doing so, save output log so we can see if there is anything interesting.

Ccaptaincrutches 2020-04-08 github

Ah, well, guess what? I had been previously trying to do the patching via the command line using protontricks/winetricks... but I just tried with PatcherGUI.jar and lo and behold, the game now starts! Thanks for the nudge~

BBloodyIron 2020-05-21 github

Not sure if I should be posting in this thread or not, but when I tell Space Engineers to quit, it doesn't actually close the threads properly. Plus hitting "Stop" on STEAM doesn't kill it either. I need to kill the processes manually.

SStripedMonkey 2020-05-21 github

I've been getting the same issue, What's perplexing me is that even if I kill all of the processes related to SE, Wine, or Proton it still refuses to see SE as exited in Steam. I actually have to kill steam in order for me to relaunch SE afterwards. Quite annoying. I've not looked into the issue too much beyond killing all of the SE/Proton related processes in Steam but it's something that probably needs to be looked at

BBloodyIron 2020-05-21 github

I've been getting the same issue, What's perplexing me is that even if I kill all of the processes related to SE, Wine, or Proton it still refuses to see SE as exited in Steam. I actually have to kill steam in order for me to relaunch SE afterwards. Quite annoying. I've not looked into the issue too much beyond killing all of the SE/Proton related processes in Steam but it's something that probably needs to be looked at

I have a tip for you. I'm on Ubuntu, so this may or may not translate to your situation.

After I exist Space Engineers I bring up "System Monitor". While in the "Processes" tab, I click on the stacked burger (three horizontal lines) menu to then enable 'Show Dependencies". This then turns the "Processes" section into trees.

I then go and look for the areas with "Steam" running, and look specifically for "SteamChildMonit" and the tree from that. If there are multiples (there probably is only one) look for the one with the child "SpaceZEngineers." and a bunch of wine stuff.

I then first click on "SteamChildMonit" to highlight it, hold shift and click on the last child in that tree (often "winedevice.exe"). Then right click on the selection, go kill, and it kills all of them.

This enables me to relaunch the game (or I can launch other games) without having to kill all of STEAM.

Ccaptaincrutches 2020-05-21 github

I have actually found that if I exit SE "normally" I do need to manually kill a bunch of processes as described above... but if I kill -9 $(pgrep SpaceEngineers) from the terminal instead of exiting the game normally, all relevant processes die as desired.

EEvernow 2020-05-21 github

The zombie process issue is not a Wine / Proton issue, it also occurs on Windows for me.

See this: https://github.com/Linux74656/SpaceEngineersLinuxPatches#issue-8

Llucifertdark 2020-06-05 github

For the first time since owning the game I can actually get it to go past the splash screen with Proton 5.0-8rc, haven't a clue what I'm doing in the game but at least I can finally play it. :)

FFurretUber 2020-06-27 github

I'm facing a crash after long enough sessions. The steam-244850.log has 900 MB, but the game log is smaller. I will have to wait for a while before the upload finishes.

The game log:
SpaceEngineers_20200626_220158938.log

Steam log (compressed): https://mega.nz/file/gxxAnKzS#gunhdGQRfYJLIbnEGadOWQ6PNC2j4eMYgssjh-IJHPg

System specifications: https://gist.github.com/FurretUber/e105309ff4c58e197c3b2f65318cd8e1

BBloodyIron 2020-06-27 github

Yeah Space Engineers crashes for me after a random period of time, and watching the logs I don't see anything crop up, so not sure what to do about it :( It happens quite frequently.

BBloodyIron 2020-07-02 github

Can we get a fix for proton for Space Engineers not actually quitting when exiting the game please?

HHalberdGuard 2020-07-09 github

"Game is not started in Proton sandbox and can see normal Linux directory structure" -summary by one of many actually programming-literate people who have helped me today. From my perspective, I see a splash screen for a second or two, then all returns to a state as if I had never clicked play. Log is attached.
SpaceEngineers_20200708_180142615.log

System Information

BBloodyIron 2020-07-09 github

Did you try the setup jar file? I've found that to be rather reliable, but yeah, that stuff should be baked into proton for sure.

HHalberdGuard 2020-07-09 github

This was actually the result of having used both the automated version, and later the manual version, with the assistance of aforementioned friendly and knowledgeable (and patient!) people... Suppose I should have mentioned that. : p
Due to other, likely unrelated circumstances, I will likely have to re-install Steam from scratch soon, maybe it'll no longer be weird? We'll see!

Pplasticbomb1986 2020-11-18 github

Just an update:

CPU: AMD Ryzen 3800XT
GPU: VEGA64
Driver/LLVM version: MESA 20.2.2
Kernel version: 5.9.8-zen1-1-zen
Link to full system information report as Gist: https://gist.github.com/plasticbomb1986/a68256a0ebf6d714fb7a98999cc2d002
Proton version: 5.13.2

Ive made a fresh prefix, for testing, mine was old now, almost one and a half year old, and a lot have happened since then.

game still crash after starting, right after the first loading picture.

logs:
steam-244850.log
SpaceEngineers_20201118_055725942.log
SpaceEngineers_20201118_055755954.log
SpaceEngineers_20201118_055922770.log
VRageRender-DirectX11_20201118_055727407.log
VRageRender-DirectX11_20201118_055756487.log
VRageRender-DirectX11_20201118_055923236.log

Now im proceeding with the new jar patcher.

Pplasticbomb1986 2020-11-24 github

Just an update:

CPU: AMD Ryzen 3800XT
GPU: VEGA64
Driver/LLVM version: MESA 20.2.2
Kernel version: 5.9.8-zen1-1-zen
Link to full system information report as Gist: https://gist.github.com/plasticbomb1986/a68256a0ebf6d714fb7a98999cc2d002
Proton version: 5.13.2

Ive made a fresh prefix, for testing, mine was old now, almost one and a half year old, and a lot have happened since then.

game still crash after starting, right after the first loading picture.

logs:
steam-244850.log
SpaceEngineers_20201118_055725942.log
SpaceEngineers_20201118_055755954.log
SpaceEngineers_20201118_055922770.log
VRageRender-DirectX11_20201118_055727407.log
VRageRender-DirectX11_20201118_055756487.log
VRageRender-DirectX11_20201118_055923236.log

Now im proceeding with the new jar patcher.

After using the tool provided here the game works, mostly flawlessly, with a few small hiccups. Protondb report of mine:

Without the initial plus step of using the mentioned tool, the game crashing at startup. Typical gamer just would complain.

Launcher:
Steam

Customizations:
Not Listed
Ive used the tool from here: https://github.com/Linux74656/SpaceEngineersLinuxPatches to make the game start up and running. Without it, the game crash at loadingscreen. After running the tool its runs nicely. Playing Coop with my little brother who is still on windows, with some occasional bug (the game is in conflict with the way copy paste works in linux, after the first copy-paste it does not copying anything new, just keep pasting the first one, plus the game grabs focus, no matter what, and does not let alt+tab), my computer is the Host, its running nice and he is the one connecting via me inviting him into the gameworld (my pc is way more powerful then his).

Windowing:
Other
The game grabs focus, and does not let alt+tab out of its window.

Input:
Other
One small thing, but im not sure, if its linux related or proton related: cant use alt+f10 menu, the game for some reason does not react to that option. Have no idea why, and did not investigated it yet. (Edit: im the host in that game, im the admin of that game)

Stability:
Occasionally
Very rarely, but the game crash. Did not investigated yet, why.

► Multiplayer
Overall (online):Excellent
Overall (local):Excellent

BBloodyIron 2020-11-24 github

I reinstalled Space Engineers recently and tried several times to use the java app to apply the fixes. Thus-far I have not been able to get the game going again like I was earlier in this year. Pretty fed-up how much work we need to put in just to get this game working, instead of having this baked into proton. The steps are already clearly identified. But the game is also a hog for resources, especially if running a server (only game I've ever seen REQUIRED Windows for the server), so at this point I'm giving up on the game and moving on. Game is fun, but I have other games to play that take way less effort.

Mm4tm4t 2020-11-24 github

Under Archlinux, I never used Proton or any patches listed above. Everything work great with Lutris and default Lutris wine version

Ssteve7233 2020-11-25 github

Lutris uses proton.

Pplemelin 2020-12-10 github

As of 2 days ago, under Archlinux, with the patches provided by https://github.com/Linux74656/SpaceEngineersLinuxPatches, the game will consistently crash with a "Graphics Driver crashed" message when loading a save.

What are the best practices to try to debug this error?

BBloodyIron 2021-08-13 github

Here's hoping this game gets figured out in-time for the Deck! Because this really hasn't seemed to been improved.

Pplasticbomb1986 2021-08-17 github

Some fresh log for the game with proton 6.3.5 fresh pfx.
Its actually started up, but complained about .NET.

SpaceEngineers_20210817_19444256.log
SpaceEngineers_20210817_194353480.log
SpaceEngineers_d3d11.log
SpaceEngineers_dxgi.log
steam-244850.log
steam-systeminfo.txt

Kkisak-valve maintainer 2021-09-22 github

Space Engineers Needs DotNet Update 4.6.1

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5175.
@TheFloatingBrain posted on 2021-09-22T16:44:25:

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game: 244850

System Information

  • GPU: NVIDIA GeForce GTX 960M
  • Driver/LLVM version: nvidia-driver-470
  • Kernel version: Linux 5.13.0-7614-generic
  • Link to full system information report as Gist
  • Proton version: Experimental (also tried: 6.3, 5.13, 5.0, 4.11)
  • Proton Log

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

The game launches, but it tells me I need to download a hotfix from here

The download is not even available. I tried installing most of the DotNet runtimes available through winetricks, but it did not make a difference, I was told enabling a "virtual desktop" on WINE might help, but it did nothing.

The game appears to exit gracefully, once you press the "Ok" button to the message stating that you need the hotfix, it quits and opens a browser window with the linked hotfix above.

Reproduction

  • Install Pop OS (with NVIDIA Driver)
  • Apply system updates
  • Install Steam
  • Install Proton
  • Install Space Engineers
  • Attempt to run Space Engineers
TTheFloatingBrain 2021-09-22 github

Space Engineers Needs DotNet Update 4.6.1

Issue transferred from #5175.
@TheFloatingBrain posted on 2021-09-22T16:44:25:

Just thought I would fix my system info and add it as JSON

AAzorlogh 2021-10-26 github

I was able to launch the game after installing dotnet48 with protontricks, however the game crashes after a few minutes in-game.

System Information

I have checked that my system is up to date.

Logs

steam-244850.log.zip

Symptoms

The game crashes after ~3min in game.

Reproduction

  • Delete Space Engineers' wineprefix
  • Set proton version to 5.0-10
  • Launch game, an error message appears, close game.
  • Run protontricks 244850 dotnet48
  • Set proton version to 6.3-7
  • Launch game, play in a solo world for a few minutes
Pplasticbomb1986 2021-10-28 github

Tried with proton Wine 6.20-GE to install dotnet48, just out of curiosity. It failed, as usual. Pastebin: https://pastebin.com/MDNrJXtr

After going the 5.0-10 prefix, install dotnet48 then update the prefix to 6.20-ge the game ran fine for about 20 minutes. Till got a crash.
steam-244850.log
SpaceEngineers_20211028_19144459.log

VRageRender-DirectX11_20211028_191444549.log

Snippet of log:

2021-10-28 19:48:44.290 - Thread:   6 ->  Exception occurred: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at SharpDX.Direct3D11.PixelShaderStage.SetShaderResources(Int32 startSlot, Int32 numViews, IntPtr shaderResourceViewsOut)
   at SharpDX.Direct3D11.CommonShaderStage.SetShaderResource(Int32 slot, ShaderResourceView resourceView)
   at VRageRender.MyCloudRenderer.Render(MyRenderContext rc, UInt32 atmosphereID)
   at VRageRender.MyAtmosphereRenderer.RenderGBuffer(MyRenderContext rc)
   at VRageRender.MyTransparentRendering.Render(MyRenderContext rc, MyList`1 lightList, Single flareIntensity, Boolean immediateContext)
   at VRageRender.MyTransparentRendering.DoWork(MyCullQuery cullQuery)
   at ParallelTasks.DependencyBatch.ExecuteSingleJob()
   at ParallelTasks.DependencyBatch.WorkerLoop()
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
   at ParallelTasks.PrioritizedScheduler.Worker.WorkerLoop()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
2021-10-28 19:48:44.291 - Thread:   6 ->  Showing message
Ttaisph 2021-11-22 github

I've been plagued with crashes after about 15-20 min. playtime. I've tried a ton of different things trying to work out something that would keep it alive. Now I've just passed 100 minutes for the first time. It might just be luck and I don't really understand why this matters, but the last change I made was change the windows version in the SE prefix from Windows XP to Windows 7.

  • Proton experimental.
  • Nvidia GTX 1070, driver 495.44.
  • Ubuntu 20.04.3 LTS.
Ttaisph 2021-11-23 github

Here's a step by step that so far seems to work for me.

  1. Set Space Engineers to use Proton 5.0-10.
  2. Set launch options to %command% -skipintro. This skips the black intro screen (presumably the usual Windows Media Foundation issue?)
  3. Start the game once and wait until it stops again after any installs. If the game starts, just quit the game the usual way.
  4. Run either
    WINEPREFIX=$HOME/.steam/steamapps/compatdata/244850/pfx winetricks --force --unattended win7 remove_mono dotnet48 vcrun2015 faudio d3dcompiler_47
    or
    protontricks 244850 --force --unattended win7 remove_mono dotnet48 vcrun2015 faudio d3dcompiler_47
    and wait until the process completes. I'm using winetricks because protontricks is running extremely slow on my box. Note that WINEPREFIX might be different on your box.
  5. Set Space Engineers to use Proton Experimental (6.3-7 may also work).
  6. Play the game - hopefully without crashes now.

If the rundll error dialog pops up, just click "no".

Versions used:

Be aware that running this may tamper with Proton Experimental files. If you validate the Proton files in Steam, it might report a number of files as invalid and fix them (typically 26 files on my box). I haven't checked thoroughly if this is an issue for the game or perhaps other games.

Credits:

Pplasticbomb1986 2021-11-28 github

Replying to https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-977277500

How much pcu youve running?

Im trying to stress test the game now. Slowly built it up to 1.2 million pcu now. about 100-150 refineries running. isy solar scripts on 12 different grid, with thousands of solar panels and oxigen farms... Its actually can load up my cpu to 95% (Ryzen 3800XT, 32GB RAM, Vega64). So far running like this crashing with above mentioned protontricks settings in about 25 min. Attempting to run more times to see if its fluctiate...

EEngineOfDarkness 2021-12-20 github

It crashes randomly for me aswell (Single Player, with lots of Mods), frustratingly the game can run fine for hours on end, or crash within like 15 minutes.

Interestingly the Space Engineer Logs seemingly have nothing of value in them (and neither do the Logs of Mods, or at least those that have logs), the only factor that I find a bit odd is that one of the last messages in SE's own logs is always something related to Garbage Collection being run.

I also tried starting the game without the <gcServer enabled="true"/> workaround (all other workarounds like the skipintro still in place) out of interest (on PopOs! 21.04 with the 5.15 Kernel and Proton 6.3.8 on a Vega 64 / Ryzen 2700x and 32GB RAM) and the game freezes completely in the menu, after some time the system notices the freeze and I can force close SE to end up back on the desktop.

Seeing that this workaround seems to be required for a functioning game - perhaps there is something odd going on with Garbage Collection of .NET in combination with wine or something else? Like something that is still in use by SE being garbage collected, thus causing a hard crash without any error messages when SE tries to access whatever is now "gone"? Pure conjecture though, I'm not versed enough in that regard.

I'm not sure if there is some combination of GC options that prevent the CTD (should it be a GC issue, and not a Mod Issue for me, since I didn't isolate that variable) but the nature of the crashes not being predictable makes it frustrating to play around with the settings (because you can play for like 4 hours and think "Great it didn't crash for hours, workaround works" -> game promptly CTDs to desktop)

I've enabled PROTON_LOG=1 - perhaps there is something in there that is more helpful than SE's own logs.

Ddazoe 2021-12-21 github

I too am having this issue. Some times it won't work at all and straight up crashes. Other time 15-20 minutes like clock work. And as you have stated some times it will run for 4+ hours. I have enabled PROTON_LOG and it seems to be some sort of problem with gstreamer. It's a different module each time but always seems to be a gstreamer lib of some sort.
Don't know if this helps. I would share the proton log but I'm in the process of re-creating my prefix and have not gotten it running again. :(

IInflexCZE 2021-12-21 github

We've been tracking this issue on our Discord for a while. Guys discovered that when they run the game without audio, it doesn't crash so either the game is using the XAudio API incorrectly (but good enough for Windows) or the Proton XAudio driver is not implementing the API according to docs.
I suspect that some of the audio buffers are released/reused by the game while still in use by the audio driver. This would align with your GC observation, as that's the time when game releases memory back to OS, including the audio buffers. Unfortunately nobody was able to capture crash stack trace to confirm that and possibly point us to the type of resource that is misused so there is currently no progress.

If you feel like taking on a challenge, feel free to hit me up on official Discord, I can help you with the next debugging steps.

EEngineOfDarkness 2021-12-23 github

Guys discovered that when they run the game without audio

How so, by not installing or uninstalling faudio?

Because turning down volume of music / sound to 0 certainly does not fix it - I tried that as well, it was stable in one session for ~6 hours but it crashed today after 1-2 hours again with the error relating to faudio (yes I actually played with sound set to 0 for that long just to see what would happen).

If you feel like taking on a challenge, feel free to hit me up on official Discord, I can help you with the next debugging steps.

Can this be documented outside of discord, e.g. here? I don't like and use discord.

No hurries though - it's xmas anyways.

Kkisak-valve maintainer 2022-01-28 github

Space Engineers (244850) crashes arbitrarily in faudio and SDL2

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5523.
@priand1 posted on 2022-01-28T19:50:29:

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game: 244850

System Information

  • GPU: AMD RX 5700 XT
  • Driver/LLVM version: Mesa 21.3.4
  • Kernel version: 5.16.1
  • Link to full system information report as Gist:
  • Proton version: 6.3

I confirm:

  • [X ] that I haven't found an existing compatibility report for this game.
  • [X ] that I have checked whether there are updates for my system available.

Gist

Symptoms

Space Engineers crashes arbitrarily. This can happen after 5 minutes of playing or after 5 hours.

Proton leaves crash reports in /tmp/proton_crashreports/ every time the game crashes.
According to these reports there seems to be a problem with faudio and/or SDL2

This happens with proton 6.3 as with proton experimental as well.

Reproduction

Play SE.

#1792

Ppriand1 2022-01-28 github

Thanks Kisak.

Link to proton crash log: Proton-crash-log

Pplasticbomb1986 2022-01-28 github

Could you tell me what launch commands are you using? I havent seen that log on Arch, and the game crashing plenty of times here too... (just crashed about 30 minutes ago...)

Ppriand1 2022-01-28 github

My launch commands are just %command% -skipintro.
I do not know why the logs in /tmp/proton_crashreports/ appear, I did not do anything I know of to make proton create them, I just discovered them by coincidence recently.

Maybe @kisak-valve or one of the devs know where they come from.
If you haven't already, I would take a look at your /tmp directory.

I want to confirm what I already observed when I tried to run the game with PROTON_LOG=1: It does not crash.

I just played for 2.5 hours, the game was stable and I now have a 1.1GB log file that does not contain anything regarding the crash. So the /tmp/proton_crashreports/proton-crash.logs are all I have.

Ppriand1 2022-01-28 github

Here are the first lines of the log I just created playing Space Engineers with PROTON_LOG=1, just in case they contain something useful regarding the software versions used. Steam-244850.log

Sstubkan 2022-01-28 github

I would like to know how to start the game with faudio disabled, so I can play without crashing (hopefully)

Pplasticbomb1986 2022-01-29 github

I would like to know how to start the game with faudio disabled, so I can play without crashing (hopefully)

I think here you can find the issue: https://askubuntu.com/questions/77210/how-to-change-the-default-audio-in-wine-to-alsa-only

Exactly on this picture

Ppriand1 2022-01-29 github

I finally got a log with PROTON_LOG=1 when the game crashed:
steam-244850.tar.gz

.The accompanying proton_crash.log:
2022-01-29_16:21:25_appid-244850_crash.log

?ghost 2022-02-01 github

Wine-Mono 7.1.0 fixes the .NET issue at startup, only tried with vanilla wine 7.0 + Windows Steam. No out of date .NET message, just an awesome start menu.

Pplasticbomb1986 2022-02-01 github

SpaceEngineers_20220201_194208990.log
VRageRender-DirectX11_20220201_194209460.log
steam-244850.log

This time ive tried it with Proton-GE 7.1-GE2
Game run, but then crash at ne point.

Mmadewokherd 2022-02-01 github

Wine-Mono 7.1.0 fixes the .NET issue at startup, only tried with vanilla wine 7.0 + Windows Steam. No out of date .NET message, just an awesome start menu.

Yep, but then it turns out that none of the C# scripting works in-game. That requires a further patchset to Wine which I've posted here: https://github.com/madewokherd/wine-mono/issues/132#issuecomment-1026047615

Given the complexity of this game, I'd not be surprised if there are further issues.

?ghost 2022-02-02 github

Yeah, that doesn't surprise me much, fix one bug and you end up with a can of worms. Appreciate your hard work @madewokherd, I'll give the patchset a spin tomorrow and see what happens.

Pplasticbomb1986 2022-02-06 github

So ive been trying to run the game with proton-ge and with madewokherds latest mono. managed to get some dump files but not a single proton crash log.

Dump files and se logs
spaceengineers dumpfiles.zip

steam-244850.log

OH, the latest dump:

           PID: 204233 (mscorsvw.exe)
           UID: 1000 (attiladeak)
           GID: 1000 (attiladeak)
        Signal: 11 (SEGV)
     Timestamp: Sun 2022-02-06 17:26:35 CET (44min ago)
  Command Line: $'C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe' -StartupEvent 1184 -InterruptEvent 0 -NGENProcess f0 -Pipe 117c -Comment $'NGen Worker Process'
    Executable: /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/bin/wine64-preloader
 Control Group: /user.slice/user-1000.slice/[email protected]/app.slice/app-gnome-steam\x2dnative-189306.scope
          Unit: [email protected]
     User Unit: app-gnome-steam\x2dnative-189306.scope
         Slice: user-1000.slice
     Owner UID: 1000 (attiladeak)
       Boot ID: 5437fcaf81334f6cbbf0832cdc560e08
    Machine ID: 3c16eb6899574716a5eac79939dd8d5f
      Hostname: attila-arch-mainrig
       Storage: /var/lib/systemd/coredump/core.mscorsvw\x2eexe.1000.5437fcaf81334f6cbbf0832cdc560e08.204233.1644164795000000.zst (present)
     Disk Size: 21.0M
       Message: Process 204233 (mscorsvw.exe) of user 1000 dumped core.
                
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/bin/wine64 without build-id.
                Module /run/host/usr/lib/libunistring.so.2.1.0 with build-id 015ac6d6bcb60b7d8bea31a80d1941b06e8636ab
                Module /run/host/usr/lib/libidn2.so.0.3.7 with build-id 1ce2b50ad9f9821c2c629b521cf5a3c99593d332
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/bcrypt.so without build-id.
                Module /run/host/usr/lib/libXfixes.so.3.1.0 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
                Module /run/host/usr/lib/libXxf86vm.so.1.0.0 with build-id 01e8243d0c6c971fa9e743e6e53d606b1cb76f6e
                Module /run/host/usr/lib/libXext.so.6.4.0 with build-id d70f24beb4fad748d6becffdcc13e51be0a2ebfa
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/crypt32.so without build-id.
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/winex11.drv.so without build-id.
                Module /run/host/usr/lib/libexpat.so.1.8.4 with build-id c3b8b6921f5b323540b84acd301ccc7bc5bc0428
                Module /run/host/usr/lib/libz.so.1.2.11 with build-id 0c1459c56513efd5d53eb3868290e9afee6a6a26
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/win32u.so without build-id.
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/libwine.so.1.0 without build-id.
                Module /home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/ntdll.so without build-id.
                Module /run/host/usr/lib/libXdmcp.so.6.0.0 with build-id 8ca0792d23c8b8b4c0864297512349292bea5955
                Module /run/host/usr/lib/libXau.so.6.0.0 with build-id 1c67764663e07bec24d8951e5fd93f4d165979ff
                Module /run/host/usr/lib/libxcb.so.1.1.0 with build-id 0d1ef11740a5daad2ee331e812a51aa6574af222
                Module /run/host/usr/lib/libX11.so.6.4.0 with build-id 5ba5798d193c0065014b8c6252a0678671c8d478
                Module /run/host/usr/lib/libGLX.so.0.0.0 with build-id 2a08836c6e6126ce9ff4496b6aacaf29ae9b4e7b
                Module /run/host/usr/lib/libGLdispatch.so.0.0.0 with build-id 501765b3a78d668860fa54229b18107473aeda4c
                Module /run/host/usr/lib/libm-2.33.so with build-id 2b8fd1f869ecab4e0b55e92f2f151897f6818acf
                Module /run/host/usr/lib/libGL.so.1.7.0 with build-id 912ac4f37a9fa2d5abcf7a9088c9983cfe46f12a
                Module /run/host/usr/lib/librt-2.33.so with build-id 75484da2d6f1515189eefa076e0a40328834cd16
                Module /run/host/usr/lib/libstdc++.so.6.0.29 with build-id 9b5eeeb149bf3c4efe787fb398b44f00507aec87
                Module /run/host/usr/lib/libc-2.33.so with build-id 4b406737057708c0e4c642345a703c47a61c73dc
                Module /run/host/usr/lib/libdl-2.33.so with build-id 5abc547e7b0949f89f3c0e21ab0c8331a7440a8a
                Module /run/host/usr/lib/libpthread-2.33.so with build-id 07c8f95b4f3251d08550217ad8a1f31066229996
                Module /home/attiladeak/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so with build-id d660d4524853eac3719e252fe90f586938510093
                Module /run/host/usr/lib/ld-2.33.so with build-id 040cc3dd10461562f177df39e3be2f3704258c3c
                Module linux-vdso.so.1 with build-id 1aa9fdf6316f304bd041a82dcb83f6a4da91c243
                Stack trace of thread 204283:
                #0  0x00007fa1b111d7a6 n/a (/home/attiladeak/.local/share/Steam/compatibilitytools.d/Proton-7.1-GE-2/files/lib64/wine/x86_64-unix/ntdll.so + 0x467a6)
                #1  0x0000000000000000 n/a (n/a + 0x0)
                ELF object binary architecture: AMD x86-64
Refusing to dump core to tty (use shell redirection or specify --output).
Ccornytrace 2022-02-10 github

Running protontricks 244850 faudio seems to fix the constant crashing for me. It does not fix the occasional crash on startup or the freezes where the game hangs but graphics continue to render, but those occur far less frequently than the crashing.

Ppriand1 2022-02-12 github

Got another crash with log files and crash-dump:

  • Proton 6.3-8
  • Kernel 5.16.5

Proton-crash.log

steam-244850-20220212-1045.tar.gz

Matching crash dump id: CrashID=bp-ca31a18d-9975-4174-bdbd-73a072220212

Pplasticbomb1986 2022-02-14 github

So on sunday i finally ended up compiling tkgs proton with wine 7.2 staging. I havent had such asmoot funtime with Se in a loong time (well, about since tkg stopped compiling the proton packages themselves..). It first ran for without issues, created the prefix without an issue and ive played for about 3 hours. With mods (EEM, skybox, a few block, sneaky sounds and auto ore pickup). Then later ive started up the game again, and just let it ran through the night, and it was running nicely till i woke up and closed it for my morning routine... Then before i went to work, i started it up and let it run again. So the game was running for about 8 hour straight through the night, and then again about 8 hour through the day with ships, and ai and whatnot actively flying around.
steam-244850.zip
.

EDIT: Have to correct myself. Im not sure if its wine or game related or 5.17-rc3 kernel related, but i had a lot of moment when simspeed dropped down to 0.40 and the sliding doors had a weird cracking sound, like the sound of them opening were played in pieces.

MMAGGen-hub 2022-02-15 github

Wine-Mono 7.1.0 fixes the .NET issue at startup, only tried with vanilla wine 7.0 + Windows Steam. No out of date .NET message, just an awesome start menu.

Yep, but then it turns out that none of the C# scripting works in-game. That requires a further patchset to Wine which I've posted here: madewokherd/wine-mono#132 (comment)

Given the complexity of this game, I'd not be surprised if there are further issues.

This patches will make skripting in SE(244850) possible again or what?.. Sory for asking stupid questions but well... Is there any other posible way to run scripts in SE? This patch is stop working for ALL game versions from last update (https://github.com/Linux74656/SpaceEngineersLinuxPatches) so now I can't even use mods. I searched for help on different sites but nothing helped( If I tryed to replace mono with dotnet(461 >) the game start to freeze in menu then cruch or FREEZE the entire OS.
If you know how to fix my issue... please help...

MMAGGen-hub 2022-02-15 github

And... I have no idea how to use your patches... Sorry...
But maybe there an another solution? Well... SpaceEnginners has Dedicated Server... Maybe that server has support of scripts (my stupid ambitions)?

?ghost 2022-02-16 github

@MAGGen-hub Your best bet would be to use Proton 7.2 GE-2. It includes the Wine patches and the required Mono version, there is no guarantee that all scripts/mods will work. Make sure to start with a new prefix, any older than 7.2 will not work.

Aarch-user-france1 2022-02-27 · hidden on GitHub github

yesterday it worked and today it crashes after the starting thing, proton 5-10, patcher worked fine, shadercache compiled, using arch/manjaro

Aarch-user-france1 2022-02-27 · hidden on GitHub github

Steam tries to execute the 'first installation' script. Did an update break it?
I guess the developers would be very annoyed if it has official support :) for Linux. I'm creating a new prefix now and trying again

Aarch-user-france1 2022-02-27 · hidden on GitHub github

Still not working.. I hate space engineers.

Aarch-user-france1 2022-02-27 github

update fixed (switched proton)

music works again
mouse cursor too

Pplasticbomb1986 2022-03-05 github

Had a crash yesterday, but forgot to get the logs, just had another one now. Its with proton-7.3-ge1.
steam-244850.zip
SpaceEngineers_20220305_125557474.log
VRageRender-DirectX11_20220305_125557973.log

@madewokherd in the proton log it talks about possible mono issue.

Mmadewokherd 2022-03-05 github

Hi, thanks for the logs.

Unhandled exception: 0xc0000417 in 64-bit code (0x000000007b0138fe).

I looked up that code and apparently it's STATUS_INVALID_CRUNTIME_PARAMETER.

Stack trace:

=>0 0x000000007b0138fe AccessCheckByTypeAndAuditAlarmW+0x77aa() in kernelbase (0x000000000caeedd0)
  1 0x00000003af690aef _Cmulcc+0xda1b() in ucrtbase (0x000000000caeedd0)
  2 0x00000003af6914ae _Cmulcc+0xe3da() in ucrtbase (0x000000000caeedd0)
  3 0x00000003af69151c _Cmulcc+0xe448() in ucrtbase (0x000000000caeedd0)
  4 0x00000000128b9365 IsoMesher_Calculate+0x5a05() in vrage.native (0x000000000caeedd0)
  5 0x00000000128b82f2 IsoMesher_Calculate+0x4992() in vrage.native (0x000000000caeedd0)

I don't trust the function names in that stack trace. I'm pretty sure the function in kernelbase is actually RaiseException. So we seemingly have vrage.native making an invalid call into ucrtbase.

I'd need to look at the binaries to get more information. If I download from https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/7.3-GE-1, can I expect to find the exact build you used?

Pplasticbomb1986 2022-03-05 github

Replying to https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-1059781011

Yes! From TKG now im building it time to time myself, but GE i always use the one he builds.

Just got to download the latest (7-8), lets see if theres any crash happening with ti.

EDIT: Since when is ALT+TAB is working??? I usually have the game and steam on a separate workspace and other stuff in other workspaces, and i dont remember alt+tab ever working, but now its just seemlessly swithc between windows/workspaces. WoW.

Mmadewokherd 2022-03-07 github

Hmm, the outermost address in ucrtbase is in _invalid_parameter_noinfo_noreturn, which isn't called in Wine. I think that means the parameter validation that failed is in vrage.native. Without any source code or debug symbols for this dll, I have no context for the code that's failing. So, I'm not sure where to go from this point.

Pplasticbomb1986 2022-03-07 github

Hmm, the outermost address in ucrtbase is in _invalid_parameter_noinfo_noreturn, which isn't called in Wine. I think that means the parameter validation that failed is in vrage.native. Without any source code or debug symbols for this dll, I have no context for the code that's failing. So, I'm not sure where to go from this point.

Well, we do have some source code from five years ago, and maybe worth checking it out?

Mmadewokherd 2022-03-10 github

Maybe, where is that?

Mmadewokherd 2022-03-10 github

I checked there already but couldn't find source code for vrage.native.dll.

Mmadewokherd 2022-03-10 github

Can we ask the game's developers what those addresses in vrage.native.dll mean? They may have debug symbols. The log shows that the dll was loaded at 0x128B0000 and the stack trace showed these addresses:

  3 0x00000003af69151c _Cmulcc+0xe448() in ucrtbase (0x000000000caeedd0)
  4 0x00000000128b9365 IsoMesher_Calculate+0x5a05() in vrage.native (0x000000000caeedd0)
  5 0x00000000128b82f2 IsoMesher_Calculate+0x4992() in vrage.native (0x000000000caeedd0)

The call into ucrtbase was to _invalid_parameter_noinfo_noreturn.

Aarch-user-france1 2022-03-12 · hidden on GitHub github

I don't think the game developers will answer at all. They are very evil. Space Engineers works but crashes after a specific amount of time or a specific action. Earlier versions worked.

It looks like the music is working now and there are no performance issues anymore (I get 120/120 FPS)

It crashes after like two minutes.
Imma test proton experimental

Aarch-user-france1 2022-03-12 github

Proton Experimental works without crashes. I never experienced a crash.
It crashed once now...
And I crashed the EU Server by destroying something that had a lot of stone in it (and would have destroyed the half of the structure). The server rolled back. Bruh.. And this was the first crash - the game was stuck, maybe because the server didn't pull updates. But the second crash happened randomly when I was flying.

Pplasticbomb1986 2022-03-13 github

Another thing what pop up for me is the videos are not playing. But now i have no gstreamer error in proton log except:

[0000000000000160:] EXCEPTION handling: System.Exception: Unable to Load or Play the video file

in game logs in vrage log i found this:

2022-03-13 14:18:54.111 - Thread:   5 ->  Exception occurred: System.Exception: Unable to Load or Play the video file ---> System.Runtime.InteropServices.COMException: Error: 0x80040154
  at DirectShowLib.DsError.ThrowExceptionForHR (System.Int32 hr) [0x00015] in <87b518dc5959403a85b6d482cbad913b>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.checkHR (System.Int32 hr, System.String msg, System.Boolean throwException) [0x0003d] in <234320397cad4495b5d1af5146f9717f>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.BuildGraph (DirectShowLib.IGraphBuilder pGraph, System.String filename) [0x000bb] in <234320397cad4495b5d1af5146f9717f>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.Init (System.String FileName) [0x00017] in <234320397cad4495b5d1af5146f9717f>:0 
   --- End of inner exception stack trace ---
  at VRage.Platform.Windows.DShow.MyVideoPlayer.Init (System.String FileName) [0x0009f] in <234320397cad4495b5d1af5146f9717f>:0 
  at VRageRender.MyVideoPlayer.Init (System.String filename, VRage.IVideoPlayer player) [0x00000] in <9f532564757b42e18df22b4f9e59c33f>:0 
  at VRageRender.MyVideoFactory.Play (System.UInt32 id, System.String videoFile, System.Single volume) [0x00024] in <9f532564757b42e18df22b4f9e59c33f>:0 
2022-03-13 14:18:54.111 - Thread:   5 ->  InnerException: 
2022-03-13 14:18:54.111 - Thread:   5 ->  Exception occurred: System.Runtime.InteropServices.COMException (0x80040154): Error: 0x80040154
  at DirectShowLib.DsError.ThrowExceptionForHR (System.Int32 hr) [0x00015] in <87b518dc5959403a85b6d482cbad913b>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.checkHR (System.Int32 hr, System.String msg, System.Boolean throwException) [0x0003d] in <234320397cad4495b5d1af5146f9717f>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.BuildGraph (DirectShowLib.IGraphBuilder pGraph, System.String filename) [0x000bb] in <234320397cad4495b5d1af5146f9717f>:0 
  at VRage.Platform.Windows.DShow.MyVideoPlayer.Init (System.String FileName) [0x00017] in <234320397cad4495b5d1af5146f9717f>:0 

Making a fast google search come up with results, one of them is keens forum from someone on windows:

https://support.keenswh.com/spaceengineers/pc/topic/exception-occured-system-exception-unable-to-load-or-play-the-video-file

the other one i looked at is from stackoverflow:

https://stackoverflow.com/questions/4663994/system-runtime-interopservices-comexception-0x80040154#:~:text=It means the class id,is not in the registry.&text=If it is there%2C it,that distributes this COM object.

Is it possible, that the game when install from steam in proton prefix does miss these registry keys?

Nevermind, the keys are there.

Mmadewokherd 2022-03-14 github

Do you have any err:ole lines in the proton log before the COMException?

Pplasticbomb1986 2022-03-14 github

Yes.

55433.803:0144:0168:err:ole:com_get_class_object class {82d353df-90bd-4382-8bc2-3f6192b76e34} not registered
55433.803:0144:0168:err:ole:com_get_class_object no class object {82d353df-90bd-4382-8bc2-3f6192b76e34} could be created for context 0x1
55433.803:0144:0184:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 211
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 212
55433.803:0144:0174:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 213
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 214
55433.803:0144:0178:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 215
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 0000000064AFABB0, 216
55433.803:0144:0174:trace:seh:RtlAddGrowableFunctionTable 000000000C5C1978, 000000000C631A50, 0, 513, 6cc60000, 6cc70000
55433.803:0144:0174:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 1
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 2

-2147221164  DMO wrapper init failed
55433.803:0144:0178:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 3
55433.803:0144:0178:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 4
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 5
55433.803:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 6
55433.803:0144:0178:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 7
55433.803:0144:0174:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 8
55433.803:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 9
55433.803:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 10
55433.803:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 11
55433.803:0144:0178:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 12
55433.803:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 13
55433.803:0144:0174:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 14
55433.803:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 15
55433.803:0144:0184:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 16
55433.811:0144:0174:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 17
55433.811:0144:0184:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 18
55433.811:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 19
55433.811:0144:0168:fixme:quartz:AMGetErrorTextW (80040154,000000000ADE0050,160) stub
55433.811:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 20
55433.811:0144:0178:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 21
55433.811:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 22
[0000000000000168:] EXCEPTION handling: System.Runtime.InteropServices.COMException: Error: 0x80040154
55433.811:0144:016c:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 23
55433.811:0144:0168:trace:seh:RtlGrowFunctionTable 000000000C5C1DF0, 24
[0000000000000168:] EXCEPTION handling: System.Exception: Unable to Load or Play the video file

steam-244850.log

This is with GE-Proton7-9.

Mmadewokherd 2022-03-14 github

I think the COM class is just not implemented in Wine.

Aarch-user-france1 2022-03-26 github
  1. It's working with Proton Experimental
  2. It seems that the server scanner only works well with the GE-Edition.
  3. Intro video doesn't run
  4. Doesn't crash (?)
EEngineOfDarkness 2022-03-29 github

There is something really, really funky going on with the SimSpeed (@plasticbomb1986 also noticed something in February I see?). Not sure if this is due to Proton or the new Space Engineers Update

I basically just use Proton Experimental with Launch Options PROTON_LOG=1 DXVK_HUD=fps,gpuload DXVK_FRAME_RATE=73 gamemoderun %command% -skipintro no other workarounds via winetricks or protontricks.

I removed all Mods / Plugins and I can barely reproduce it in a creative vanilla Solar System.

Note that percentages below 100% are desired because it is a percentage of 16ms afaik (so simspeed 20% would be roughly 3ms, lower = better), Simspeed above 100% = slowmo in SP -> the higher above 100 the "slower" the game becomes

Normally I start with about 20% Simspeed (Shift + F11 to see this value) in a fresh Creative world (so nothing in it) and if I do some combinations of spawning blueprints, moving around in them and removing the spawned Blueprints (via the Admin Debug Panel) I can somehow make SimSpeed go into 40% while NOTHING exists in the world.

A funky thing that happend was when I "copied" the blueprints I had spawned beforehand into the clipboard again, pressed "0" to "clear" the clipboard and somehow my simspeed gradually recovered to roundabout 20%.

Not sure if that was pure chance or if there is something really broken going on somewhere and there is a connection somehow.

I'm pretty sure whatever is going on is making my modded save unplayable after a few minutes as well (I start with ~50% simspeed in it and it slowly degrades to 100% or even 150-200% for minutes in some circumstances and then gradually recovers to ~100% somewhat).

I used to have a save last year with winetricks workarounds (dotnet & stuff) on the old 6.x proton experimental and it was not as bad as it is now - it had far more going on in than in my current modded one, attacks on my base for example and dozens of wrecks around and some drones in the air.

Perhaps I'll sit down at some point in the coming days and see if I can reproduce it / take a video or something.

Even if I can reproduce it, still leaves the question if its Proton or SE itself.

EEngineOfDarkness 2022-03-31 github

Made screenshots instead, video would only really show me doing it "live" and is mostly consisting of spawning / removing stuff until something breaks. Though of course if it helps any I could do that.

As per my previous post I used Proton Experimental and nothing else.

I only started the game with %command% -skipintro now to make doubly sure there is nothing wonky with the other commands.

I tested this with and without Experimental Mode (since I normally play with Mods I tested with it at first, but since I want to avoid anyone pointing at that I re-tested it with and without it)

  1. I started a new Custom Scenario "Star System" in Creative - I did NOT change any other Settings, not even the name so no mods or plugins either
  2. Press Shift + F11 twice to see this debug Info on the left
  • debug-screen
  1. I started spawning this blueprint over and over again until I hit the PCU cap (roundabout 20 - 22 times) Blueprint Screen Can be access via F10 by default
  1. Once you hit the cap, use the Admin Screen (Alt + F10) and in the Dropdown Select "Entity List" select all and "Remove"
  2. Click on "Player Control" and close the Admin Screen
  3. Go back to Step 3. and Repeat several times, often your Debug Screen will go back to show "normal" Sim Speeds like for example 60 - 70 for me (seems high for nothing going on but whatever, that is not the primary issue)
  • still-normal
  1. At some point, you might get utterly insane "slowmo" while pasting in new trucks, like this - also see "active rigid bodies" so it stands to assume that physics are settled and there should not be such an insane impact on sim speed
  • insane-slowmo
  1. After removing all entities the sim speed was still atrocious and this is the issue here. This should not happen.
  • nothing-slomo

The game is literally unplayable in normal modded circumstances and perhaps even in vanilla, depending on what this issue is (if it is GC related or something for example)

Or for some odd reason something on my system is broken except I don't have any other problems anywhere else.

I don't know where to go from here.


System Specs:

Memory: 31,3 GiB (at time of issue I still had 16 GB free, was checking with a resource monitor)
Processor: AMD® Ryzen 7 2700x eight-core processor × 16
Grapics: Radeon RX Vega (VEGA10, DRM 3.44.0, 5.16.15-76051615-generic, LLVM 12.0.1)

OS: Pop!_OS 21.10
Gnome: 40.4.0 (no custom extensions)
Windowing System: X11

Game/ Steam is on an Samsung SSD 970 EVO Plus 2TB (EXT4 Filesystem)


Edit: Removed Shader Cache / Config in the Space Engineers Directory - "default" settings (e.g. medium instead of the high I had before) no difference either.

I switched from Proton Experimental to 7.0 (kept the prefix) and nothing changed and also switched to GE-Proton-7-10 which also made no difference to the issue.

And as expected this bug gets also triggered in the Default Scenarios like Lost Colony (after some time) aswell as Sparks of the Future.

Its broken somehow and no clue where (resource monitor of pop os doesn't show anything out of the ordinary either, like running out of memory or a CPU being pegged at 100% at all.)

Someone with more knowledge has to debug this or provide instructions on how to proceed further


I went back to the previous SE version using Steams Beta tab to 1.199 (Heavy Industries) and the same happens in that version as well - the blueprint spawns without the Turret though. But the issue still remains the same.

So it is very likely this is linux specific issue.

Since using winetricks with proton versions is a nightmare of making weird commands or settings I won't try installing the windows versions of dotnet/vcrun2015/faudio/d3dcompiler_47 (basically whatever steps required last year to get the game running properly) to insulate the issue further unless someone can make an easy step-by-step breakdown how to install things like dotnet (I tried, not gonna try anymore by reading docs and using search engines for hours like I did till now)

I also tried playing around with MONO_GC_PARAMS - no dice either due to it not being the culprit or me doing it wrong.

I'm out of patience as well doing any more research on my own time.

JJustCryen 2022-04-10 github

In my experience the game is mostly playable on proton GE7.14
There's only one problem… multiplayer.
If you're hosting the game it works flawlessly BUT if you're the client you might be able to join the first time but then you'll shortly experience a crash, after it you'll have 100% crash rate when trying to join.
Both, me and my friend use Proton GE7.14, we tried other proton versions but this one seems to work the best… except the multiplayer.

?ghost 2022-04-20 github
It works for me on gentoo linux (works fine with cockpit, nuclear reactor, ion thruster, gyroscope) until I put a light or heavy shield block, then it crashes and gives this error:

2022-04-20 18:02:00.483 - Thread:  17 ->  Texture EMPTY with size 1x1 can't fit to file array with size 32x32
2022-04-20 18:02:27.928 - Thread:  11 ->  Compressed texture with MipLevels <= 1: textures\models\environment\sky\earthfarclouds_cm.dds
2022-04-20 18:02:28.168 - Thread:  11 ->  Compressed texture with MipLevels <= 1: textures\models\environment\sky\landsky_texture_cm.dds
2022-04-20 18:02:31.144 - Thread:  11 ->  Compressed texture with MipLevels <= 1: textures\models\environment\sky\aliensky_cm.dds
2022-04-20 18:02:32.159 - Thread:  11 ->  Compressed texture with MipLevels <= 1: textures\models\environment\sky\martiansky_cm.dds
2022-04-20 18:02:32.486 - Thread:  11 ->  Compressed texture with MipLevels <= 1: textures\models\environment\sky\martiansky02_cm.dds
2022-04-20 18:02:54.305 - Thread:  17 ->  Texture ReleaseMissingExtension with size 1x1 can't fit to file array with size 512x512
2022-04-20 18:04:26.024 - Thread:  11 ->  Warning: Missing textures for part(s) PaintedMetal_Default (ColorMetal NormalGlossFilepath ExtensionFilepath AlphamaskFilepath)  in model z:\home\carlos\.local\share\steam\steamapps\common\spaceengineers\content\Models\Cubes\large\CockpitConstruction_2_LOD1.mwm
2022-04-20 18:04:58.516 - Thread:  17 ->  WARNING: Shader was not precompiled - Geometry\Materials\Standard\Vertex.hlsl, Standard_GBuffer_POSITION_PACKED;BLEND_WEIGHTS;BLEND_INDICES;NORMAL;TANGENT_SIGN_OF_BITANGENT;TEXCOORD0_H;CUBE_INSTANCE @ profile vs_5_0 with defines RENDERING_PASS=0;USE_DEFORMED_CUBE_INSTANCING;VERTEX_COMPONENTS_DECLARATIONS=float4 position : POSITION0;\
float4 blend_weights : BLENDWEIGHT0;\
uint4 blend_indices : BLENDINDICES0;\
uint2 normal : NORMAL0;\
float4 tangent4 : TANGENT0;\
float2 texcoord0 : TEXCOORD0;\
float4 packed_bone0 : TEXCOORD1;\
float4 packed_bone1 : TEXCOORD2;\
float4 packed_bone2 : TEXCOORD3;\
float4 packed_bone3 : TEXCOORD4;\
float4 packed_bone4 : TEXCOORD5;\
float4 packed_bone5 : TEXCOORD6;\
float4 packed_bone6 : TEXCOORD7;\
float4 packed_bone7 : TEXCOORD8;\
float4 cube_transformation : TEXCOORD9;\
float4 colormask : TEXCOORD10;\
;TRANSFER_VERTEX_COMPONENTS=__position_object = unpack_position_and_scale(input.position);\
__blend_weights = input.blend_weights;\
__blend_indices = input.blend_indices;\
__normal = unpack_normal(input.normal);\
__tangent = unpack_tangent_sign(input.tangent4);\
__texcoord0 = input.texcoord0;\
__packed_bone0 = input.packed_bone0;\
__packed_bone1 = input.packed_bone1;\
__packed_bone2 = input.packed_bone2;\
__packed_bone3 = input.packed_bone3;\
__packed_bone4 = input.packed_bone4;\
__packed_bone5 = input.packed_bone5;\
__packed_bone6 = input.packed_bone6;\
__packed_bone7 = input.packed_bone7;\
__cube_transformation = input.cube_transformation;\
__colormask = input.colormask;\
()
2022-04-20 18:04:58.767 - Thread:  17 ->  WARNING: Shader was not precompiled - Geometry\Materials\Standard\Pixel.hlsl, Standard_GBuffer_POSITION_PACKED;BLEND_WEIGHTS;BLEND_INDICES;NORMAL;TANGENT_SIGN_OF_BITANGENT;TEXCOORD0_H;CUBE_INSTANCE @ profile ps_5_0 with defines RENDERING_PASS=0;USE_DEFORMED_CUBE_INSTANCING;VERTEX_COMPONENTS_DECLARATIONS=float4 position : POSITION0;\
float4 blend_weights : BLENDWEIGHT0;\
uint4 blend_indices : BLENDINDICES0;\
uint2 normal : NORMAL0;\
float4 tangent4 : TANGENT0;\
float2 texcoord0 : TEXCOORD0;\
float4 packed_bone0 : TEXCOORD1;\
float4 packed_bone1 : TEXCOORD2;\
float4 packed_bone2 : TEXCOORD3;\
float4 packed_bone3 : TEXCOORD4;\
float4 packed_bone4 : TEXCOORD5;\
float4 packed_bone5 : TEXCOORD6;\
float4 packed_bone6 : TEXCOORD7;\
float4 packed_bone7 : TEXCOORD8;\
float4 cube_transformation : TEXCOORD9;\
float4 colormask : TEXCOORD10;\
;TRANSFER_VERTEX_COMPONENTS=__position_object = unpack_position_and_scale(input.position);\
__blend_weights = input.blend_weights;\
__blend_indices = input.blend_indices;\
__normal = unpack_normal(input.normal);\
__tangent = unpack_tangent_sign(input.tangent4);\
__texcoord0 = input.texcoord0;\
__packed_bone0 = input.packed_bone0;\
__packed_bone1 = input.packed_bone1;\
__packed_bone2 = input.packed_bone2;\
__packed_bone3 = input.packed_bone3;\
__packed_bone4 = input.packed_bone4;\
__packed_bone5 = input.packed_bone5;\
__packed_bone6 = input.packed_bone6;\
__packed_bone7 = input.packed_bone7;\
__cube_transformation = input.cube_transformation;\
__colormask = input.colormask;\
()
2022-04-20 18:04:58.768 - Thread:  17 ->  Failed to initialize material shader[GBuffer][Standard]_USE_SHADOW_CASCADES, USE_DEFORMED_CUBE_INSTANCING for vertex POSITION_PACKED;BLEND_WEIGHTS;BLEND_INDICES;NORMAL;TANGENT_SIGN_OF_BITANGENT;TEXCOORD0_H;CUBE_INSTANCE

TTheEpicNoobZilla 2022-08-06 github

Game works ootb with Proton experimental, but it does not work well with Weapon Core mod (which is essential when you want to use workshop). Also i can't access Admin tools when using Wayland (Alt+F10). Also sometimes the game will crash when loading the world (tested only with Wayland so i can't say if this will happen with X11)

TTheEpicNoobZilla 2022-08-30 github

Had to revert to Proton 7 since Experimental branch broke compatibility with this game
Here's the log:
steam-244850.log

Aalasky17 2022-09-20 github

@TheEpicNoobZilla Are you still seeing a problem with proton-experimental? If so, could you describe what you are doing that breaks the game with experimental but works with 7.0-4?

TTheEpicNoobZilla 2022-09-20 github

last time i've tried (about 2-3 days ago) Experimental it worked again

?ghost 2022-12-04 github

The game was working fine on Proton GE 7.42 until today. Game now crashes when outside of menus, i.e when you start a game or go to the character customization. I've attached a log. Pretty frustrating since the only time it quit working is when my friend could play.
steam-244850.log

JJustCryen 2022-12-04 github

The game was working fine on Proton GE 7.42 until today. Game now crashes when outside of menus, i.e when you start a game or go to the character customization. I've attached a log. Pretty frustrating since the only time it quit working is when my friend could play. steam-244850.log

I had a strange experience with multiplayer.
I basically had a working game on singleplayer but every time I tried hosting or joining multiplayer worlds me or my friend got disconnected.
what was also really weird, I saw my path with username etc in his log and vice versa.

My previous reply:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-1094255267

?ghost 2022-12-04 github

I had a strange experience with multiplayer. I basically had a working game on singleplayer but every time I tried hosting or joining multiplayer worlds me or my friend got disconnected. what was also really weird, I saw my path with username etc in his log and vice versa.

My previous reply: [#1792 (comment)](https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-1094255267)

Interesting, but even trying to do singleplayer no longer works for me. Just yesterday the same Proton version was working.. No clue what could have went wrong, as the log is jargon to me.

JJustCryen 2022-12-04 github

Yeah, I haven't figured out my issue either.
Unfortunately I don't have much time to play SE, I haven't played it since the previous post I linked >.<

?ghost 2022-12-04 github

The worst part is my friend gifted me it over a trade, although it worked just fine yesterday it quit as soon as he could play with me. =(

Kkisak-valve maintainer 2022-12-05 github

Hello @hunter2k01, your Proton log includes eventfd: Too many open files. Please verify that ulimit -Hn gives you a high value and not 4096.

?ghost 2022-12-05 github

Hello @hunter2k01, your Proton log includes eventfd: Too many open files. Please verify that ulimit -Hn gives you a high value and not 4096.

I found out soon after my last post that the game started working again whenever I switched back to Linux 6.0. I had downgraded to the LTS 5.15 since its usually more stable, but something between the two has changed to where the game is functional. I'm on a distribution without systemd (PCLinuxOS) and I use the Flatpak. My ulimit -Hn output is 4096.

WWindgott1910 2023-01-21 github

Hello, I've recently downloaded Space Engineers on Linux and it worked completely fine for me.
However, after deciding to check out a grid from the workshop, it turns out none of my subscribed workshop grids show up in the menu, no matter how often I refresh.
What am I doing wrong? Is there a launch option I need to set apart from -skipintro?

Rrawleyfowler 2023-01-21 github

@Windgott1910 What distro and what version of Proton?

WWindgott1910 2023-01-21 github

pasting system information here: https://gist.github.com/Windgott1910/d1baca0948fbd2bc0379406ae64b6232
I am using Ubuntu Desktop 22.10 with Proton 7.0-5.


Space Engineers - Workshop not downloaded

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6582.
@Windgott1910 posted on 2023-02-28T19:36:09:

I am opening a new issue as my comment wasn't answered.
newest comment: https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-1399305059

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game:

System Information

  • look at comment

I confirm:

  • [x ] that I have checked whether there are updates for my system available.

Symptoms

I can play the game just fine, but the workshop just wont load. I tried to reload but it didn't work

Reproduction

Open SE
Start world
Open blueprint menu
try to get a workshop blueprint

Aattila123 2023-04-01 github

I cannot comment on Blueprints (not there yet), but simply try to start a new game and the Scenarios page will be just "empy": shows no scenarios. The proton log shows several Exception-s, see below. Looks like a .net issue?
Tried it on Xubuntu 22.10 with with GE-Proton7-53 and other versions, including Steam's "Proton Experimental" and "Proton 7.0-6", same issue everywhere.

avangel@G5-5505:~$ grep Exception steam-244850.log | sort -u
[0000000000000178:] EXCEPTION handling: System.ArgumentException: '' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
[000000000000017c:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: Missing private key
[000000000000017c:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: `MonoBtlsPkcs12.Import` failed.
[0000000000000184:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: Missing private key
[0000000000000184:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: `MonoBtlsPkcs12.Import` failed.
[0000000000000278:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: Missing private key
[0000000000000278:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: `MonoBtlsPkcs12.Import` failed.
[000000000000027c:] EXCEPTION handling: System.ArgumentException: '' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
[000000000000027c:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: Missing private key
[000000000000027c:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: `MonoBtlsPkcs12.Import` failed.
[0000000000000280:] EXCEPTION handling: System.ArgumentException: '' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
[0000000000000280:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: Missing private key
[0000000000000280:] EXCEPTION handling: System.Security.Cryptography.CryptographicException: `MonoBtlsPkcs12.Import` failed.
[0000000000000288:] EXCEPTION handling: System.ArgumentException: '' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
[00000000000002d4:] EXCEPTION handling: System.ArgumentException: '' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
[00000000000002e8:] EXCEPTION handling: System.ArgumentNullException: Value cannot be null.
[00000000000002e8:] EXCEPTION handling: System.Net.WebException: The operation has timed out.
[00000000000002f0:] EXCEPTION handling: System.ArgumentNullException: Value cannot be null.
[00000000000002f0:] EXCEPTION handling: System.Net.WebException: The operation has timed out.
9142.999:0110:0294:warn:seh:handle_syscall_fault backtrace: --- Exception 0xc000001d at 0x7f42af898c05: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 + 0x98c05.
9142.999:0110:02ac:warn:seh:handle_syscall_fault backtrace: --- Exception 0xc000001d at 0x7f42af898c05: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 + 0x98c05.
LLtSich 2023-04-14 github

Hi,
I'm unable to start the game with the last version.
Everything work fine, out of the box with version 1.201 (most wanted).
But once I switch to the last version I have a box saying that there are some c++ package...
I honestly don't know what to do about that...

I use GE-Proton7-55, but the problem is the same with proton 7.

Here is a screen and a proton log file :
screen
proton-log

Anyone run in the same issue ?

Bbmbeverst 2023-04-14 github

I have the same issue, I tried installing all the dependencies per this blog post. Didn't find any of the workarounds posted on ProtonDB that worked, mostly install dotnet versions.

proton-log
Operating System: Manjaro Linux
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.1.23-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 5800X 8-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 1080/PCIe/SSE2
Drive Version: 530.41.03

LLtSich 2023-04-14 github

I wasn't able to install dotnet...
I was able to install vcrun, xact, faudio...
At one moment the error message disapear but the game continu to crash...

Pplasticbomb1986 2023-04-14 github

Same issue here too.
Logs:
SpaceEngineers_20230414_21084017.log
steam-244850.log

This time i have tried with proton-ge-7-55. Previous attempts were with proton 7.0.6 and proton experimental.

Kkisak-valve maintainer 2023-04-14 github

Space Engineers

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6685.
@sanyanov posted on 2023-04-14T21:56:25:

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game: 244850

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-244850.log

Symptoms

The box appears at launch saying: "There is missing required C++ package. You have to accept elevation dialogs from the Steam to install prerequisistes". No dialog appears from steam and game can't launch.

Reproduction

Start the game


@sanyanov commented on 2023-04-14T21:58:36:

Already tried to:
-Change Proton version
-Reinstall the game

Problem appeared after the new "Automatons" update. Previously the game worked fine.

Bbmbeverst 2023-04-15 github

Found the fix on the Steam Community, copied here as well:

HERE'S THE WORKAROUND
1. Install and run protontricks
2. Navigate to SE > default prefix > regedit
3. Under HKLM\SOFTWARE\Classes\Installer\Dependencies, create the key "Microsoft.VS.VC_RuntimeAdditionalVSU_amd64,v14"
Ssanyanov 2023-04-15 github

Microsoft.VS.VC_RuntimeAdditionalVSU_amd64,v14

That worked, thanks a lot!

Pplasticbomb1986 2023-04-16 github

Can confirm, issue solved, SE runs beautifully, been playing Splitsie's new scrapyard scenario for hours!

LLtSich 2023-04-16 github

Yep, thx, the game work.
But a lot of mods seem broken...
I don't know if this is due to the last game update, or because I'm on Linux...
Any logs file that I can check to see exactly wich mod is broken ?

Ssanyanov 2023-04-16 github

Yep, thx, the game work. But a lot of mods seem broken... I don't know if this is due to the last game update, or because I'm on Linux... Any logs file that I can check to see exactly wich mod is broken ?

Can confirm some mods are broken (at least on Linux). Dk how to check, I just checked it by adding one by one.

Aalasky17 2023-04-26 github

Found the fix on the Steam Community, copied here as well:

HERE'S THE WORKAROUND
1. Install and run protontricks
2. Navigate to SE > default prefix > regedit
3. Under HKLM\SOFTWARE\Classes\Installer\Dependencies, create the key "Microsoft.VS.VC_RuntimeAdditionalVSU_amd64,v14"

This workaround seems like it is no longer needed, I'm guessing after a minor game update. If anyone runs into the error again and still needs the workaround, please report here and @ me :) Also, if anyone has specific mods that were working before on Proton and are now failing, please let me know.

CCorneliusCornbread 2023-04-30 github

Yep, thx, the game work. But a lot of mods seem broken... I don't know if this is due to the last game update, or because I'm on Linux... Any logs file that I can check to see exactly wich mod is broken ?

Can confirm some mods are broken (at least on Linux). Dk how to check, I just checked it by adding one by one.

One issue I've had with a mod for quite a while now is Easy Inventory (https://steamcommunity.com/workshop/filedetails/?id=646796262), which has issues with it picking up on input. For example, right-clicking on a cargo port with a block in hand does nothing, while on Windows it will extract the items into your inventory.

Reproduced on proton 7 and 8 and GE-51,53,55

ZZackey 2023-05-11 github

Hi everyone.

Unfortunately this does not work for me under Proton 7 (steam) or Proton 8.2 GE under PopOS

I have tried EVERY workaround listed here and on ProtonDB, it simply doesn't work.
steam-244850.log
SpaceEngineers_20230511_185924941.log

Latest drivers, latest PopOS etc.
Specs:
Ryzen 3900x
RX 6900XT
64GB ram

LLtSich 2023-06-08 github

Did someone being able to run the game properly in experimental mode since the last big update ?
With proton-ge-custom 4.8 some part of the game seem to run not to bad, but programmable block is broken.

I have try many thing to install different version of dotnet, but the command "protontricks 244850 --force -q dotnet472" always fail for me... Even with protontricks in flatpak mode...

The game in vanilla mode is not really interesting in my opinion... It's sad as the game was running not so bad before the automation update...

SSveske-Juice 2023-06-08 github

@LtSich I can run the game and programmable blocks do work. However i face an issue with the game crashing when trying to join my friend with some specific mods. It downloads the mods fine, but crashes when the loading screen reaches 100%

LLtSich 2023-06-08 github

@Sveske-Juice : did you install anything with protontricks ? And wich version of Proton do you run ?
I only play solo, multiplayer is not really a problem for me.

SSveske-Juice 2023-06-08 github

I did not do anything, but i recently got back to playing the game after the update. Here are my system info:
Proton GE version: GE_Proton8_4-1
Wine: wine 8.9-1
Mono: wine-mono 8.0.0-1

SSveske-Juice 2023-06-09 github

Joining a friends game with mods is really unreliable. Sometimes it works and sometimes it doesn't even though no mods have been added or removed. Every time it happens this gets printed to the log:

Error stacktrace This is the error that happens:
=================================================================
	Native Crash Reporting
=================================================================
Got a UNKNOWN while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Managed Stacktrace:
=================================================================
38671.803:0128:04b4:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 117
	  at <unknown> <0xffffffff>
	  at SharpDX.D3DCompiler.D3D:D3DPreprocess_ <0x000e0>
38671.803:0128:012c:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 118
	  at SharpDX.D3DCompiler.D3D:Preprocess <0x00202>
	  at SharpDX.D3DCompiler.ShaderBytecode:Preprocess <0x000e2>
	  at SharpDX.D3DCompiler.ShaderBytecode:Preprocess <0x000c2>
	  at SharpDX.D3DCompiler.ShaderBytecode:PreprocessFromFile <0x00082>
	  at VRageRender.MyShaderCompiler:PreprocessShader <0x000ea>
	  at VRageRender.MyShaderCompiler:Compile <0x00652>
	  at VRageRender.MyShaderCompiler:Compile <0x000ca>
	  at VRageRender.MyShaderCompiler:Compile <0x00262>
	  at VRageRender.MyPixelShaders:Init <0x00052>
	  at VRageRender.MyPixelShaders:Create <0x00362>
38671.803:0128:012c:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 119
	  at VRage.Render11.GeometryStage2.Rendering.MyShaderBundleManager:GetShaderBundle <0x00822>
	  at VRage.Render11.GeometryStage2.Model.Preprocess.MyPreprocessedPart:Init <0x0030a>
	  at VRage.Render11.GeometryStage2.RenderPass.MyTransparentForDecalsRenderPass:PreprocessData <0x002a2>
	  at VRage.Render11.GeometryStage2.Model.Preprocess.MyPreprocessedParts:Init <0x006aa>
	  at VRage.Render11.GeometryStage2.Model.MyLod:Create <0x007d2>
38671.803:0128:04b4:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 120
	  at VRage.Render11.GeometryStage2.Model.MyModel:<LoadFromFile>g__AppendMwmDataToLod|30_0 <0x004ca>
	  at VRage.Render11.GeometryStage2.Model.MyModel:LoadFromFile <0x006e2>
	  at VRage.Render11.GeometryStage2.Model.MyModelFactory:LoadInternal <0x0007a>
	  at VRage.Render11.GeometryStage2.Model.MyModelFactory:LoadInternalAsync <0x0009a>
	  at ParallelTasks.DelegateWork:DoWork <0x000b1>
38671.803:0128:012c:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 121
	  at ParallelTasks.WorkItem:DoWork <0x00402>
	  at ParallelTasks.Task:DoWork <0x0005a>
	  at Worker:WorkerLoop <0x000ba>
	  at System.Threading.ThreadHelper:ThreadStart_Context <0x000b2>
	  at System.Threading.ExecutionContext:RunInternal <0x001f5>
	  at System.Threading.ExecutionContext:Run <0x0005a>
	  at System.Threading.ExecutionContext:Run <0x00082>
	  at System.Threading.ThreadHelper:ThreadStart <0x0005a>
	  at System.Object:runtime_invoke_void__this__ <0x000af>
38671.803:0128:04b4:trace:seh:RtlGrowFunctionTable 0000000169D0E770, 122
=================================================================
System info

OS: Arch Linux

GPU: AMD 6900XT

Kernel: 6.3.6-arch1-1

Wine Version: wine 8.9-1

Wine mono: wine-mono 8.0.0-1

Proton: proton-ge-custom-bin 1:GE_Proton8_4-1

Launch commands: MANGOHUD=1 WINE_FULLSCREEN_FSR=1 PROTON_LOG=1 %command% -skipintro

This is the last thing that gets printed to the log:

wine client error:2e0: wine client error:31c: write: Bad file descriptor
write: Bad file descriptor

Anyone have any idea what this means and how I can debug this further?

steam-244850.log
SpaceEngineers_20230608_212117413.log

EDIT: Solved this bug by using dotnet48 and switch to proton expirimental

SShijikori 2023-12-11 github

I have not been able to join people at all. I don't know how to make the game use dotnet48 and switching to proton experimental does not allow me to join my friend's server which has only two mods and works perfectly fine on Windows. Besides that, singleplayer can work out of the box with experimental and latest ProtonGE 8. I get the same "Bad file descriptor" error on connecting to the server.

SSveske-Juice 2023-12-11 github

@Shijikori The following is from the linux chat in the keenswh discord server:

SE install guide, mainly for ubuntu based distros.
install SE using proton 5.0-10, you wont need to uninstall SE if you need to redo the entire process
(you may need to redo the entire process if it doesnt work with proton 8 or experimental at the end)
the point of this is to install dotnet48, which requires dotnet40. dotnet40 doesn't get along with recent proton...
proton 5.0-10 files can be edited/added to, after that version they can not be.
so you have to create the prefix with old proton, install dotnet, then switch to proton 8 or experimental.

  • Install winetricks
  • Install protontricks

U can try using protontricks to just install dotnet48 for space engineers, but if it doesn't work try this:

The Proton Dance

as an additonal step if dotnet48 alone doesnt help, you can use dotnet472 before dotnet48, but after dotnet472 you will have to manually locate the
file mscoree.dll copy it out safe and out it back in the same location after you install dotnet48, as for some reason, the dotnet48 installer
removes that file which is needed for SE.

delete the `244850` prefix folder (after copying saves/BPs out).
set your steam proton to 5.0-10 (not 5.13-6).
start the game once (it doesnt have to work).
THEN run protontricks line or winetricks line (env WINEPREFIX=<your space engineers pfx directory> sh winetricks --force -q dotnet48).
note: you will need to run this from the directory that you placed winetricks or protontricks app in.
for manual installation (not using apt repository version) of protontricks/winetricks, you will need to do the above line from that directory.
start the game again (it doesnt have to work).
reboot system.
then set steam proton to 8, or experimental.
run game and play
SShijikori 2023-12-12 github

amazingly, this works. though it runs much less smoothly. there's micro stutters all around. better than not being able to play.

scratch that, it might have not loaded the shaders or something, it runs super smooth now it's impressive. just as good as on Windows. Thanks a lot. This is a decent bit more straight forward than what I've found looking around.

To summarize what I've done :

  1. Run the game once with Proton 5.0-10 (fresh prefix, deleted any pre-existing prefix for the game)
  2. Install dotnet48 using protontrick (protontricks 244850 --force -q dotnet48) and made sure to read the output to change the Windows version when requested (XP for the first request, 7 for the subsequent ones).
  3. Changed proton version to Experimental
  4. Run the game once, it might run like shit but it will work.
  5. Run the game again, it should work better.

Observed caveat : sometimes it will still crash on login to a server... but it seems to semi-reliably connect.

SShijikori 2023-12-12 github

After playing for a while, this workaround, while it does work, seems to have introduced significant instability. The game can crash randomly and after crashing a certain amount of times, it will simply fail to run and constantly crash on startup. Those problems were not present when solely using Proton Experimental without the workaround, though dotnet48 obviously can't be installed.

Eerlking 2023-12-16 github

Screenshot from 2023-12-16 09-07-51

latest Proton Experimental and e.g. GE-Proton8-25 gives a version missmatch error in Space Engineers joining a dedicated server. Proton 8.0-4 and GE-Proton8-22 and 23 works.
generally many crashes at startup, once you are ingame it works fine though.

SShijikori 2024-01-16 github

The SharpDX update broke sound. I no longer have any sound since the update. I ran sound tests in winecfg, it doesn't seem to be a problem with Proton Experimental, at least not wine.

Jjosh0x10c 2024-01-16 github

Having the same issue with sound. Reverted to a previous version and sound was working again so it has to be the SharpDX update. I have no idea how to work around this issue at the moment or what caused it specifically so I will suffer in silence until it is fixed. In addition to that I have the same issue as the comment above it as well with the server/client version mismatch on anything above the stated Proton versions.

Aalasky17 2024-01-16 github

@josh0x10c @erlking We pushed a fix that we had hoped would resolve the server failures. Just to confirm - you are able to get into the dedicated server on Proton 8.0-5rc (which can be selected as a beta from the Proton 8.0 tool) and not current Proton Experimental (20240111c)? Could you please grab logs of the server failure on experimental and the server successfully connecting on Proton 8.0 with PROTON_LOG=+steam,+steamclient,+wininet,+winhttp,+winsock,+iphlpapi,+nsi,+bcrypt,+secur32 %command%?

TTeddy-Kun 2024-01-16 github

When I try to join my friends session online the game crashes with the following error log.
To my untrained and unknowing eye, this seems to be the issue.
15115.368:0128:03f4:warn:seh:handle_syscall_fault backtrace: --- Exception 0xc0000005 at 0x7c0dac41f702: /run/host/usr/share/steam/compatibilitytools.d/proton-ge-custom/files/bin/../lib64/wine/x86_64-unix/ntdll.so + 0x4a702.

The exact point it crashes at is the following:
Join a friend, game loads, get to the spawn point selection and when choosing a spawn it will crash. On subsequent runs (I assume if the game remembers what was chosen) it will crash immediately.

steam-244850.log

Aalasky17 2024-01-16 github

@Teddy-Kun I'm specifically looking into regressive behavior with experimental vs Proton 8.0-stable. Assuming that you are not getting the same crash with Proton 8.0-4/5, could you please get a log of the crash with the official Proton - Experimental release and a separate log of the game successfully loading with 8.0-4 or 5rc instead? Please also add the extra logging channels - PROTON_LOG=+steam,+steamclient,+wininet,+winhttp,+winsock,+iphlpapi,+nsi,+bcrypt,+secur32 %command%

SShijikori 2024-01-16 github

The game will crash when joining a server using Proton 8.0-4. I've been getting it to work with the workaround of setting up the prefix in Proton 5.0 and installing dotnet48 before going back to Proton 8.0 or Experimental.

Eerlking 2024-01-17 github

@alasky17

i can confirm that. 8.0 RC5 is fine, experimental gives version missmatch error. attached the logs.
protonlogs.zip

Eerlking 2024-01-17 github

another topic, i encounter frequent "random" crashes, often SE directly crashes after launching, you re-start it several times then it works for a while.
and ingame it crashes often too. (official dedicated server, working on a larger ship e.g. completely random things, opening G menu, setting up groups, welding/grinding,.. )
does it make sense getting a Proton Log for these issues to?

SShijikori 2024-01-17 github

i can confirm that. 8.0 RC5 is fine

do you need to do the workaround for dotnet48 or does it just work with 8.0 RC5?

Aalasky17 2024-01-17 github

@erlking Thank you for the logs! I have another thing for you to try in order to try to narrow this down. Could you see if putting the lsteamclient.dll from 8.0-5 into the Proton - Experimental build fixes the error?
cp -f ~/.steam/steam/steamapps/common/Proton 8.0/dist/lib64/wine/x86_64-unix/lsteamclient.dll.so ~/.steam/steam/steamapps/common/Proton - Experimental/files/lib64/wine/x86_64-unix/.
After testing, you can delete the file and then run "verify integrity of files" on your Proton - Experimental folder to reinstall the original version.

I also have a few more questions to try to reproduce locally - @erlking @josh0x10c

  1. Are you using any workarounds like installing dotnet48 into the prefix?
  2. Is there any publicly available server that I could test to reproduce the same problem? I have been assuming that you are using some private server(s) and I don't current have one set up which makes it hard to investigate locally. Any suggestions here on how I could try to reproduce more easily are greatly appreciated :) Unfortunately the logs were not enough to blindly guess at the problem :(
Eerlking 2024-01-17 github

@alasky17
yes, replacing the file in proton exp fixes proton exp too, can join public server with it. (it also fixes Proton-GE-27 btw.)

  1. i for sure created the prefix in 5.10 and installed .NET 4.8 and i think also vcredist19. (not sure about other things) - without .net 4.8 G menu and some other things like scenario tab were really slow.
  2. yes, i'm on official server (search for Keen servers (i'm on DE 6 but this is usually really crowded) - they are vanilla, unmodded and as official as it gets.
Aalasky17 2024-01-18 github

@erlking Interesting - fwiw I just tried with my non-modded prefix and I didn't get a crash on experimental when getting into the exact server you mentioned (I got lucky and there was space).

And thank you for the details! I also think I figured out why I wasn't seeing the failure. In my testing, the server mismatch happens when you click "Continue game" from the main menu, but not when you go into "Join Game" and manually select the server again. Hopefully we can get to the bottom of the regression now that I figured out how to repro locally - thank you for reporting :)

Aalasky17 2024-01-19 github

@erlking This should be fixed in experimental-bleeding-edge. Please let me know if you see any remaining regressive behavior surrounding server connection (or anything else, but that is more likely right now) :)

ZZackey 2024-01-21 github

Currently getting server miss-match errors on proton latest bleeding edge trying to join Skunk works, a variant of the keen star server "stone industries"
image
Also, multiple people in my group are just crashing when trying to launch or enter a multiplayer server.

Jjosh0x10c 2024-01-22 github

The issue with the mismatch seems to be resolved on the current bleeding-edge. Still get frequent crashes however and I will attach the last couple thousand lines (because it is 300MB) from the Proton log using the
PROTON_LOG=+steam,+steamclient,+wininet,+winhttp,+winsock,+iphlpapi,+nsi,+bcrypt,+secur32 %command%?"
from above. I can play for a while usually but sometimes it just crashes nonstop seemingly randomly. If someone would like for me to do further logging with different arguments please let me know.
steam-244850-latest2000lines.log

Edit: Just realized that the last file was with the plugin loader enabled, this next one is without it but has the same issue.
steam-244850-latest2000lines.log

Sslashgob 2024-03-06 github

Been having sound issues for a while. - intermittent music, no interface sounds etc. i found this post over on the steam forums which fixed it for me. Apparently the XAudio dll shipped with Proton is broken and replacing it with the Microsoft signed version fixes the issue. This worked for me...

https://steamcommunity.com/app/244850/discussions/0/4206993639697096038/

GGI3JMC 2024-05-28 github

Space Engineers using the current 9.0-1 Proton, or the experimental version runs reasonably well, but has an issue with the Mono .NET replacement that is used. A random time after starting a game, or loading an existing save, the players movement will slow dramatically and the simulation rate will drop to around 40% of normal.

After waiting for a period in a control station/seat/cryopod/etc the game may return to it's normal simulation speed, or may require a restart.

This behaviour is not present when playing in a prefix that has dotnet48 forcibly installed by either winetricks or protontricks.

Other aspects of the game work normally where the player can place blocks, adjust block settings, move the camera, etc, but moving the player or a player-controlled vessel is exceptionally slow.

[https://gist.github.com/GI3JMC/38a8d9ef8374f4f5802ac22e55142eab](system details)

LLtSich 2024-05-28 github

I fully agree on that !
I restart playing few days ago, but I didn't want to mess with protontricks (because most of the time installing dotnet48 is a nightmare) and my game work exactly like you say !
I would add that playing without experimental mod is far better, but the game feel really to empty without that.. Maybe with the next "pve update" we will be able to play without experimental mode...

Jjosh0x10c 2024-06-09 github

Been having sound issues for a while. - intermittent music, no interface sounds etc. i found this post over on the steam forums which fixed it for me. Apparently the XAudio dll shipped with Proton is broken and replacing it with the Microsoft signed version fixes the issue. This worked for me...

https://steamcommunity.com/app/244850/discussions/0/4206993639697096038/

That fix works for me as well with the caveat that it causes all system sound to stop working if someone in-game is talking in voice chat. The sound goes mute on the entire system and there is a high pitched tone that I hear. Audio resumes working the moment the other person stops talking. For now I have disabled voice chat. It also appears I have to have dotnet48 installed in order to join modded servers or at least the ones I have tried to connect to otherwise it never connects or if it does it will be unplayable and laggy. For the most part the game is playable at least. There are infrequent random seeming crashes and recently I have seen crashes where it states "Graphics device driver has crashed" even though they most certainly have not.
image

Aalasky17 2024-06-10 github

@josh0x10c @slashgob If you could describe exactly which sounds weren't working and get fixed with native xaudio dll, that would be greatly appreciated so that we can try to improve that :)

@josh0x10c If you have any specific server names that required native .net, that would also be greatly appreciated :)

I've been running into a wall trying to improve support for the game because most of the bugs now seem tied to specific mods or sets of mods 😅

Jjosh0x10c 2024-06-12 github

@alasky17 It seemed to be the music in the menu, which I muted anyways, and any UI sounds in any menu. I think interaction sounds as well, not sure on that one as I haven't played without this fix in a while. Occasionally you could hear a single sound get through but it was rare. Doing the xaudio fix does break voice chat though for some reason as I stated in my last comment.

As for servers I know that the SkunkWorks server is one of them, you can join the lobby but not one of the actual servers. That and Draconis Expanse was another one I had tried and couldn't join until after installing dotnet48. If you do manage to get in the performance was awful until you installed dotnet48.

MMegaShinySnivy 2024-08-05 github

I want to note that Dotnet48 still has major performance issues, though not as bad as dotnet mono. Mono is 15% performance while 48 is about half if I compare between windows to linux.

Ccreeloper27 2024-09-16 github

Nowadays using Proton 9 the game runs well enough for me, both when using 1xxx Nvidia and 5xxx AMD GPUs, the only huge problem left happens when hosting a server, I can join any server hosted on Windows fine, even when using mods, but if I try joining a Linux server be it hosted from a Client or with the Dedicated Server app the game crashes as seen as you reach 100% loading or sometimes when you go past that as soon as you try to spawn, it's very unfortunate as for the rest it's quite usable already, this is the last big problem to fix personally.

SSpookySkeletons 2024-09-16 github

Post a proton log with the crash in it or the issue can't be helped

Aalasky17 2024-09-17 github

@creeloper27 If you know an example Linux server name for testing purposes, that would be very helpful too (as well as a log).

JJustCryen 2024-09-26 github

I once tried to join a game that my friend hosted (both using linux) and I saw his username (in a directory) in my crash log…
Yeah, that was a while back so I don't have the log anymore but that was a bit weird.

Kkisak-valve maintainer 2024-10-19 github

Space Engineers Gamepad issues

Issue transferred from https://github.com/ValveSoftware/Proton/issues/8176.
@IAmTheShark223 posted on 2024-10-19T00:50:42:

steam-244850.log

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game: 244850

System Information

Steam Deck OLED 512gb

  • Proton version: 9.0.3

I confirm:

  • [* ] that I haven't found an existing compatibility report for this game.
  • [* ] that I have checked whether there are updates for my system available.

Symptoms

The game runs perfectly fine. Exept for the gamepad triggers which only function in menus. Character tools and weapons, also ship tools and weapons cannot be used by the triggers The issue appears to not be present in Proton 6.3-8 however other aspects of the game like music and steam network connectivity are broken in that version

Reproduction

Play the game on any recent Proton version on steam deck. Open up a creative mode world in the game. Select any character tools and try using it with the gamepad triggers. The bug is present if they do not work but you are able to use the triggers in menus for navigation or block placment

MMegaShinySnivy 2024-10-19 github

Replying to https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-2423424524

Forgive me for being skeptical, but spawn in a few larger grids and watch the sim speed drop. Or at least that was my and a lot of other people's experiences. If this is not the case, please do let me know! It means the dotnet dance is no longer required.

IIAmTheShark223 2024-10-19 github

Replying to https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-2423433664

On the sparks of the future station sim speed ranges from 0.6 to 0.8, appologies if this doesn't fix that issue, my focus was on the issues with gamepad support

Ccswimr 2024-10-24 github

Replying to [#1792 (comment)](https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-2353456941)

Can confirm, this is also happening to me. Here's my proton log file. I haven't tried joining a Windows multiplayer server, though.
steam-244850.log

CCorneliusCornbread 2024-12-30 github

I'm having problems with this game using excessive amounts of VRAM, especially when spawning in armor blocks with the DLC skins
image
image

GGloriousEggroll 2025-10-29 github

winetricks dotnet48 appears to break this option:
<gcServer enabled = "true" />:
https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/README.md#step-3

https://github.com/GloriousEggroll/proton-ge-custom/issues/333

need to choose one or the other either dotnet48 or no dotnet and <gcServer enabled = "true" />.

-edit-

nvm, needs vcrun2015 if installing dotnet48, that fixed the error. also need to disable xalia to prevent popup spam from dotnet48 install

Kkisak-valve maintainer 2025-12-27 github

Space Engineers - 244850 - Crash when joining server

Issue transferred from https://github.com/ValveSoftware/Proton/issues/9338.
@pvillaverde posted on 2025-12-27T16:01:38:

Compatibility Report

  • Name of the game with compatibility issues: Space Engineers
  • Steam AppID of the game: 244850

System Information

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

Symptoms

Two days ago I tried to play and worked fine with Experimental, but notice there was missing music and video in the main menu and I tried a guide to fix the issue using proton-ge 10.26 (and later 10.27). After that, I've been unable to join a multiplayer server or people join mine.

Every time I try to join any server or I host a game and people try to join, game freezes. Steam client crashes and then the game closes.

Reproduction

I've tried to get back to the previous working scenario a thousand times, but can't get it back to work. Here's my current reproduction steps:

1.- Deleted compatdata 244850 folder
2.- Uninstalled the game from Steam Library UI.
3.- Rebooted computer (you know, that's a good trick always)
4.- Installed Space Engineers again
5.- Checked the compatibility version (Here I have tried with Experiental, Proton 9, Proton 8, and Proton-GE versions, each time repating all the steps on this list)
6.- Started the game (takes a while the first time after reinstalling)
7.- Try to Join an official game server, loading icon begins to spin, after a few seconds or if press cancel, steam client crashes and then the game closes. Alternative, Quick start a game, save it and load it opening for a friend, the instant he joins and I see the "User connected" text in the screen, game freezes, steam crashes, game closes.

Attaching log and also the dump crash file referenced on that log file (last lines):

steam-244850.zip

assert_20251227164611_4.zip

I've already tried for hours anything I found and also opening a ticket on steam (which led me here) and asking support in Space Engineers Discord, but nothing has worked so far. One thing that had me thinking on the last try its that despite each time I delete the compatdata folder I loose saved games, When clicking Join, the history of the last servers I tried to join is still there. Maybe there's somewhere else to delete game-related files?

Kkisak-valve maintainer 2025-12-27 github

Hello @pvillaverde, your symptom reads like https://github.com/ValveSoftware/steam-for-linux/issues/12592. Can you check if you're opted into the Steam client beta, and if you are, does the same thing happen with the non-beta client?

Ppvillaverde 2025-12-27 github

Hello @pvillaverde, your symptom reads like ValveSoftware/steam-for-linux#12592. Can you check if you're opted into the Steam client beta, and if you are, does the same thing happen with the non-beta client?

Hey there! Thanks for the fast answer and transferring the issue, didn't quite understand how or where do I had to put it!

I was indeed on the Steam Client Beta! I left the beta, restarted steam and it worked at the first try when joining a server. I've also tried with other proton and proton-ge versions, and hosting for a game to join, all worked fine! Thank you!!!! <3

Proton versions

Launch options

Launch lines

Upstream links

DLLs

Error codes