-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Space Engineers - 244850 #1792
Comments
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. |
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 |
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. |
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. |
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! |
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. |
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. |
Can someone help? I'm not sure what to look for in those patches. |
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. |
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. |
I think I found it, if I'm understanding this correctly,
this function should not check if flags is 0, as flags is the output variable, which can be whatever. |
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. |
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. https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/EULA.txt Edit: |
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. |
@aaronfranke 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 6421.486:0031:0032:trace:seh:RtlVirtualUnwind type 0 rip 64478454d69 rsp 53b5d0 |
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. |
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: 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. |
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. |
@FurretUber |
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? |
This game can launch with wine 4.3 and DXVK 1.0 - But you will need .NET 4.7.2 as additional installation.
Pastebin here of logs when running and crashing into a planet that crashes the game. |
I take it that the latest proton beta isn't wine4.3 yet? which is why it won't work via steam directly? |
I managed to make Space Engineers working. It is definitively not on a good shape, but it works. I had to:
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: |
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. |
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 ***@***.***> 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
<#1792 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHuHtRix32b6V_NKrATqj1t79SVRJY1Kks5vYZwdgaJpZM4XyGNi>
.
|
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 ***@***.***> 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 ***@***.***> 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
> <
#1792 (comment)
>,
> 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
<#1792 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHonVxCEiLofIF2Jsbrz-HZMdIWpKfgyks5vZ4c2gaJpZM4XyGNi>
.
|
Copied wine4.4 faudio protonified into my custom steam compat folder, reinstalled game and dotnet472, loaded up, no audio. 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. |
@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%? |
When I try to join my friends session online the game crashes with the following error log. The exact point it crashes at is the following: |
@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% |
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. |
i can confirm that. 8.0 RC5 is fine, experimental gives version missmatch error. attached the logs. |
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. |
do you need to do the workaround for dotnet48 or does it just work with 8.0 RC5? |
@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? I also have a few more questions to try to reproduce locally - @erlking @josh0x10c
|
@alasky17
|
@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 :) |
@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) :) |
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 Edit: Just realized that the last file was with the plugin loader enabled, this next one is without it but has the same issue. |
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/ |
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) |
I fully agree on that ! |
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. |
@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 😅 |
@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. |
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. |
Nowadays using |
Post a proton log with the crash in it or the issue can't be helped |
@creeloper27 If you know an example Linux server name for testing purposes, that would be very helpful too (as well as a log). |
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… |
Space Engineers Gamepad issues Issue transferred from #8176. Compatibility Report
System InformationSteam Deck OLED 512gb
I confirm:
SymptomsThe 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 ReproductionPlay 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 |
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. |
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 |
Can confirm, this is also happening to me. Here's my proton log file. I haven't tried joining a Windows multiplayer server, though. |
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:
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.
The text was updated successfully, but these errors were encountered: