Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Elite Dangerous (359320)

Open KewaiiGamer opened this issue 6 years ago • 581 comments

I've just tried starting Elite Dangerous and it seems to not even display the game at all. It just starts and 1 second later it shuts down

I don't know how would I debug it so I would be glad if someone could instruct me on how to enable verbose for Proton Games

OS: Ubuntu 18.04 CPU: AMD Ryzen 5 1600X GPU: Nvidia GeForce 1050 Ti 3GB Driver Version: Nvidia Driver 396

KewaiiGamer avatar Aug 22 '18 19:08 KewaiiGamer

  1. Navigate to <steam>/steamapps/common/Proton 3.7
  2. Rename user_settings.sample.py to user_settings.py and try to run the game again.
  3. Now go to your home directory and you will find steam-<appid>.log file in there.

simon50keda avatar Aug 22 '18 20:08 simon50keda

At the bottom of the log, I get this:

pid 30513 != 30512, skipping destruction (fork without exec?)

I think the terminal is asking a question and expecting a response. I tried running Steam in a terminal, but it didn't render this. I'm also not sure how to directly run the game itself in a terminal.

Somehow, I think I just need to answer this question. Adding -y to the launch options doesn't help.

BrandonDyer64 avatar Aug 22 '18 21:08 BrandonDyer64

This simply means that the game didn't fork, spawn a new process to continue, so wine/steam didn't need to kill the child process. This almost always shows up once a game using proton closes, successful or not. A sort of rhetorical question for anyone reading the logs.

Faeranne avatar Aug 24 '18 07:08 Faeranne

also, Elite: Dangerous still doesn't correctly run inside wine environments. It's mostly there, but so-far only one of the tutorials has actually been run using wine. Unfortunately, it appears that the launcher for Elite is still not successfully running, which is what is crashing. In general, if a game doesn't launch with Steam Play enabled, there is a good chance it just doesn't work in a wine environment yet.

Faeranne avatar Aug 24 '18 07:08 Faeranne

I tried it with proton and lots of standalone wine setups with and without dxvk. None have worked, sadly... Hopefully, this will change some day.

diraven avatar Aug 25 '18 16:08 diraven

https://bugs.winehq.org/show_bug.cgi?id=41972#c30

mirh avatar Aug 28 '18 00:08 mirh

Here is a complete log file. steam-359320.log

Running Proton 3.7-5 Beta. Steam System Info

unlimitedbacon avatar Aug 31 '18 06:08 unlimitedbacon

Probably the most important part of that log, idk just trying to be useful

`15872.052:0008:0009:trace:module:load_dll Loaded module L"Z:\home\neo\.local\share\Steam\SteamApps\common\Elite Dangerous\EDLaunch.exe" (native) at 0x400000

15872.052:0008:0009:err:module:LdrInitializeThunk Main exe initialization for L"Z:\home\neo\.local\share\Steam\SteamApps\common\Elite Dangerous\EDLaunch.exe" failed, status c0000017

15872.054:000c:0026:trace:module:MODULE_InitDLL (0x7feca1c40000 L"rpcrt4.dll",THREAD_ATTACH,(nil)) - CALL

15872.054:000c:0026:trace:module:MODULE_InitDLL (0x7feca1c40000,THREAD_ATTACH,(nil)) - RETURN 1

15872.054:000c:0027:trace:module:MODULE_InitDLL (0x7feca1c40000 L"rpcrt4.dll",THREAD_ATTACH,(nil)) - CALL

15872.054:000c:0027:trace:module:MODULE_InitDLL (0x7feca1c40000,THREAD_ATTACH,(nil)) - RETURN 1

15872.071:000c:0025:trace:module:MODULE_InitDLL (0x7feca1c40000 L"rpcrt4.dll",THREAD_ATTACH,(nil)) - CALL

15872.071:000c:0025:trace:module:MODULE_InitDLL (0x7feca1c40000,THREAD_ATTACH,(nil)) - RETURN 1

15872.072:000c:0028:trace:module:MODULE_InitDLL (0x7feca1c40000 L"rpcrt4.dll",THREAD_ATTACH,(nil)) - CALL

15872.072:000c:0028:trace:module:MODULE_InitDLL (0x7feca1c40000,THREAD_ATTACH,(nil)) - RETURN 1

15872.072:0018:001c:trace:module:LdrShutdownThread ()`

physios avatar Sep 01 '18 04:09 physios

I'd like to add some update on this, with latest Proton versions dotnet installing is fixed so using winetricks/protontricks with a version of wine where dotnet40 doesn't fail (in my case I got 3.17 staging as my system wine) you can install dotnet40 into the Proton prefix.

i.e. 1/ cd to the 359320 compatdata folder

2/ WINEPREFIX=$PWD/pfx winetricks corefonts dotnet40 vcrun2012 quartz

3/ WINEPREFIX=$PWD/pfx winecfg - then set mode back to win7

After doing that launcher should open,but that's only the first half of the battle. There are a number of issues, first is openvr_api_dxvk.dll prevents the main game from displaying the splash screen. Second is a problem previously a roadblock in wine where the CRC check fails making the main game unplayable. Third is another new issue where even the previously playable combat demo would freeze despite working perfectly in standard wine.

fls2018 avatar Oct 19 '18 01:10 fls2018

Update: Game is now working in wine but not proton, here's my compatibility report.

Compatibility Report

  • Name of the game with compatibility issues: Elite Dangerous
  • Steam AppID of the game: 359320

System Information

  • GPU: GTX 1070
  • Driver/LLVM version: Nvidia 396.54.09
  • Kernel version: 4.18
  • Proton version: 3.16-3

steam-359320.log

Symptoms

Game now works in Wine staging 3.18 with DXVK using a simple registry fix listed here: https://forums.frontier.co.uk/showthread.php/366894-How-to-install-ED-on-Linux-using-Wine-EXPERIMENTAL-NOT-OFFICIALLY-SUPPORTED?p=7082698&viewfull=1#post7082698

However game still freezes in Proton even after applying the same fixes, the login issue has been resolved but something "Proton specific" causes the game to freeze a minute after starting up.

Here's it running under Wine staging: https://youtu.be/JcDY4WFENug

Reproduction

Similar to the steps in this video: https://youtu.be/jG7TUOXZhng

1/ winetricks corefonts dotnet40 vcrun2012 quartz into the 359320 pfx.

2/ regedit the 359320 pfx and do the following to match the machineGuid of both keys:

Navigate to HKLM/Software/Microsoft/Cryptography Copy Value Navigate to HKLM/Software/Wow6432Node/Microsoft/Cryptography Paste Value

3/ winecfg and set mode to Win7

The above will make the launcher and game start in Steam/Proton and will also fix the authentication error, however game will freeze in about a minute (sometimes sooner). This doesn't happen under Wine staging therefore issue is to do with Proton.

Also @byte1024 post from other thread:

From the log

159005.320:0008:0034:trace:module:LdrUnloadDll (L"rsaenh.dll") - START
159005.320:0008:0034:trace:module:MODULE_DecRefCount (L"rsaenh.dll") ldr.LoadCount: 2
159005.320:0008:0034:trace:module:LdrUnloadDll END
159005.320:0008:0034:fixme:ole:Context_CC_ContextCallback (0x3aadd80/0x3aadd84)->(0x791c8272, 0x30ecc38, {d7174f82-36b8-4aa8-800a-e963ab2dfab9}, 2, (nil))
159005.320:0008:0034:fixme:ole:Context_CC_ContextCallback (0x3aadd80/0x3aadd84)->(0x791c8272, 0x30ecbc4, {d7174f82-36b8-4aa8-800a-e963ab2dfab9}, 2, (nil))
159005.320:0008:0034:fixme:ole:Context_CC_ContextCallback (0x3aadd80/0x3aadd84)->(0x791c8272, 0x30ecbc4, {d7174f82-36b8-4aa8-800a-e963ab2dfab9}, 2, (nil))
159005.320:0008:0034:trace:seh:raise_exception code=c0000005 flags=0 addr=0x15de5665 ip=15de5665 tid=0034
159005.320:0008:0034:trace:seh:raise_exception  info[0]=00000000
159005.320:0008:0034:trace:seh:raise_exception  info[1]=00000000
159005.320:0008:0034:trace:seh:raise_exception  eax=00000000 ebx=000000d5 ecx=030eca20 edx=1d4d94a0 esi=03eda098 edi=03ab3a1c
159005.320:0008:0034:trace:seh:raise_exception  ebp=030ecae8 esp=030eca80 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206

rsaenh.dll is Microsoft Enhanced Cryptographic Provider. Must have to do with the registry change. Not sure why it works differently with Wine VS Proton though.

Wine 3.18 does have two changes however, so not sure if that makes a difference here:

  rsaenh: Move PKCS1 padding and unpadding functions.
  rsaenh: Implement RSA OAEP.

https://www.winehq.org/announce/3.18

Would have to see where the exception is going to.

Wonder if the dll provided with Wine would solve it with Proton?

I've tried this and it doesn't work, it seems Proton itself uses a builtin rsaenh library and doesn't launch when you try to use a native version.

Also I'm not sure Cryptography is the issue anymore as this freeze occurs even on the combat demo which was working perfectly fine in wine before the registry fix.

fls2018 avatar Oct 22 '18 00:10 fls2018

Another update: Thanks to RedMcG again on the frontier forums I have now got into the game in Steam Proton... BUT using anymore than one CPU core will freeze the game.

screenshot from 2018-10-26 13-35-38

Simply follow the winetricks, regedit & winecfg steps in the post above, to get into the game without it crashing "taskset -c 0 %command%" needs to be set in the launch options. Obviously not very playable but it works.

Bu the question is why using more than one thread cause issues with this game in Proton yet not with Wine Staging?

fls2018 avatar Oct 26 '18 12:10 fls2018

The esync patch set is probably the first diff that comes to mind..

mirh avatar Oct 26 '18 21:10 mirh

The esync patch set is probably the first diff that comes to mind..

I'be already tried PROTON_NO_ESYNC=1 %command% , tried older versions of Proton too no difference. Tried WineD3D instead of DXVK still freezes up.

Maybe some implementation Wine has which Proton's missing?

fls2018 avatar Oct 26 '18 23:10 fls2018

I'm having trouble with your solution. I feel like I could be missing something obvious, considering I'm new at troubleshooting Proton, but perhaps this may come in useful anyways.

I tried the following on two distributions (Solus 3.9 & Ubuntu 18.04):

  1. Run winetricks corefonts dotnet40 vcrun2012 quartz in the pfx
  2. regedit the pfx, copying the key from /HKEY_LOCAL_MACHINE/Software/Microsoft/Cryptography/ to /HKEY_LOCAL_MACHINE/Software/Wow6432Node/Microsoft/Cryptography
  3. Set the mode to Windows 7 in winecfg within the pfx
  4. Set the launch options to taskset -c 0 %command% (as well as trying without)

After doing that, launching the game has no effect. There is no launcher, and no game. Here are the log files:

steam-359320-ubuntu.log steam-359320-solus.log

LudusLight avatar Oct 27 '18 19:10 LudusLight

I'm having trouble with your solution. I feel like I could be missing something obvious, considering I'm new at troubleshooting Proton, but perhaps this may come in useful anyways.

I tried the following on two distributions (Solus 3.9 & Ubuntu 18.04):

1. Run `winetricks corefonts dotnet40 vcrun2012 quartz` in the pfx

2. `regedit` the pfx, copying the key from `/HKEY_LOCAL_MACHINE/Software/Microsoft/Cryptography/` to `/HKEY_LOCAL_MACHINE/Software/Wow6432Node/Microsoft/Cryptography`

3. Set the mode to `Windows 7` in `winecfg` within the pfx

4. Set the launch options to `taskset -c 0 %command%` (as well as trying without)

After doing that, launching the game has no effect. There is no launcher, and no game. Here are the log files:

steam-359320-ubuntu.log steam-359320-solus.log

At least with Ubuntu you're getting: 13053.551:0008:0009:err:module:LdrInitializeThunk Main exe initialization for L"Z:\\media\\bigboy\\SteamLibrary\\steamapps\\common\\Elite Dangerous\\EDLaunch.exe" failed, status c0000017

I'm not sure why though. The log doesn't have anything immediately noticeable to me. Comparing it to Solus is the only difference I notice:

"19373.147:0008:0009:trace:module:load_dll Loaded module L"Z:\\home\\light\\.local\\share\\Steam\\steamapps\\common\\Elite Dangerous\\EDLaunch.exe" (native) at 0x400000" ... continues on ...

Perhaps bad exe on Ubuntu or the storage location doesn't work well? If there's something else in the log, I don't feel like trying to find it =)

With Solus: 19373.233:0008:0009:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed So that's self explanatory.

ghost avatar Oct 27 '18 19:10 ghost

I'm having trouble with your solution. I feel like I could be missing something obvious, considering I'm new at troubleshooting Proton, but perhaps this may come in useful anyways.

I tried the following on two distributions (Solus 3.9 & Ubuntu 18.04):

  1. Run winetricks corefonts dotnet40 vcrun2012 quartz in the pfx
  2. regedit the pfx, copying the key from /HKEY_LOCAL_MACHINE/Software/Microsoft/Cryptography/ to /HKEY_LOCAL_MACHINE/Software/Wow6432Node/Microsoft/Cryptography
  3. Set the mode to Windows 7 in winecfg within the pfx
  4. Set the launch options to taskset -c 0 %command% (as well as trying without)

After doing that, launching the game has no effect. There is no launcher, and no game. Here are the log files:

steam-359320-ubuntu.log steam-359320-solus.log

I should be clearer as you don't appear to have mscoree listed in your log.

First thing needed is having at least wine staging 3.17 or higher installed on your system to install dotnet40, along with installing winetricks.

Assuming you have steam installed in the default place open terminal and type (replacing yourusernamehere with yours):

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx winetricks corefonts dotnet40 vcrun2012 quartz

Install those clicking on the accept when installers pop up then:

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx regedit

Edit the keys as stated above then:

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx winecfg

Change to win7.

All done the launcher should work, you might get rundll32.exe errors but just continue on.

fls2018 avatar Oct 27 '18 21:10 fls2018

I'm having trouble with your solution. I feel like I could be missing something obvious, considering I'm new at troubleshooting Proton, but perhaps this may come in useful anyways. I tried the following on two distributions (Solus 3.9 & Ubuntu 18.04):

  1. Run winetricks corefonts dotnet40 vcrun2012 quartz in the pfx
  2. regedit the pfx, copying the key from /HKEY_LOCAL_MACHINE/Software/Microsoft/Cryptography/ to /HKEY_LOCAL_MACHINE/Software/Wow6432Node/Microsoft/Cryptography
  3. Set the mode to Windows 7 in winecfg within the pfx
  4. Set the launch options to taskset -c 0 %command% (as well as trying without)

After doing that, launching the game has no effect. There is no launcher, and no game. Here are the log files: steam-359320-ubuntu.log steam-359320-solus.log

I should be clearer as you don't appear to have mscoree listed in your log.

First thing needed is having at least wine staging 3.17 or higher installed on your system to install dotnet40, along with installing winetricks.

Assuming you have steam installed in the default place open terminal and type (replacing yourusernamehere with yours):

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx winetricks corefonts dotnet40 vcrun2012 quartz

Install those clicking on the accept when installers pop up then:

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx regedit

Edit the keys as stated above then:

WINEPREFIX=/home/yourusernamehere/.steam/steam/steamapps/compatdata/359320/pfx winecfg

Change to win7.

All done the launcher should work, you might get rundll32.exe errors but just continue on.

This was a full fix. Thank you.

LudusLight avatar Oct 27 '18 21:10 LudusLight

After using all the winetricks and changing the values in regedit as proposed here, the game crashes in the shader loading stage. When I'm lucky I can see the shaders loading until 10% and then the game crashes. I tried both with DXVK and with Wine D3D11, tried setting video memory in regedit to 128 MB and to 2048 MB but had no luck.

The errors using DXVK and Wine D3D11 are different but seem related:

Wine D3D11:

2851.011:00ab:00c8:err:seh:call_stack_handlers invalid frame 58a3c478 (0x58b02000-0x58c00000)
2851.011:00ab:00c8:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.

DXVK

2169.251:00aa:00d3:err:seh:setup_exception stack overflow 3760 bytes in thread 00d3 eip 00007f85128ef532 esp 0000000058ed0760 stack 0x58ed0000-0x58ed2000-0x58fd0000

The complete logs:

steam-359320-d3d11.log steam-359320-dxvk.log

On Windows, both host and iGVT-g guest, shader loading takes 1 or 2 seconds.

System specifications.

FurretUber avatar Nov 04 '18 15:11 FurretUber

Wine D3D11:

2851.011:00ab:00c8:err:seh:call_stack_handlers invalid frame 58a3c478 (0x58b02000-0x58c00000)
2851.011:00ab:00c8:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.

DXVK

2169.251:00aa:00d3:err:seh:setup_exception stack overflow 3760 bytes in thread 00d3 eip 00007f85128ef532 esp 0000000058ed0760 stack 0x58ed0000-0x58ed2000-0x58fd0000

I get the same thing with Haswell desktop integrated graphics:

cpuinfo: model name : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz

vulkaninfo: apiVersion = 0x401050 (1.1.80) driverVersion = 75505668 (0x4802004) vendorID = 0x8086 deviceID = 0x0412 deviceType = INTEGRATED_GPU deviceName = Intel(R) Haswell Desktop

glxinfo: Vendor: Intel Open Source Technology Center (0x8086) Device: Mesa DRI Intel(R) Haswell Desktop (0x412) Version: 18.2.4

I had put it down to being Intel graphics specific (there's a warning about the vulkan driver being incomplete), which you also appear to be using.

amalon avatar Nov 05 '18 06:11 amalon

I don't think it's Vulkan, more specifically Intel ANV, the problem. If it was, the bug that happened when using Wine D3D11 translation to OpenGL would be different. Notice how the addresses from the error messages are very close, it seems to be some common code between i965 and ANV or even the i915 kernel driver.

FurretUber avatar Nov 05 '18 11:11 FurretUber

But the question is why using more than one thread cause issues with this game in Proton yet not with Wine Staging?

I looked in to that and found the answer lies with a single patch in wine-staging: https://github.com/wine-staging/wine-staging/blob/master/patches/ntdll-futex-condition-var/0001-ntdll-Add-a-futex-based-condition-variable-implement.patch

I patched Proton 3.16-4 Beta with this patch and now it runs fine without needing any tweaks to the launch options.

I just created a fork which, in addition to the above, fixes a few other things with ED in Proton 3.16:

  • key-bindings (and presets)
  • intro videos (winetricks quartz not needed)
  • CRC Error (no work-around required - it runs launcher with wine64)

I'm happy to share the binaries if anyone knows a decent place to upload them. I haven't tested them on another machine yet, but I compiled against the Steam Runtime - so I think they should work on distros other than Ubuntu 18.04 (on which I compiled).

redmcg avatar Nov 05 '18 12:11 redmcg

In case anyone comes here with "preparing planet generation system" issues on Horizons, there are some AMD-specific DXVK issues along with some work arounds. Check out doitsujin/dxvk#36.

agates avatar Nov 05 '18 16:11 agates

This game apparently can run pretty well but it requires wine 3.19 staging. Requires dotnet452 vcrun2012 to run correctly.

https://www.youtube.com/watch?v=XsirDkR6ZQw

@redmcg why don't you create a pull request for proton's wine with that patch?

Rabcor avatar Nov 06 '18 07:11 Rabcor

@redmcg why don't you create a pull request for proton's wine with that patch?

I have now (see https://github.com/ValveSoftware/wine/pull/33) - but taking a look at the ones that are there I don't see much success (after all - these patches are for one game tested on a single machine).

But I do think Valve cherry-pick the ones that interest them from upstream - so this may bring the individual patches some attention.

redmcg avatar Nov 06 '18 09:11 redmcg

@redmcg why don't you create a pull request for proton's wine with that patch?

I have now (see ValveSoftware/wine#33) - but taking a look at the ones that are there I don't see much success (after all - these patches are for one game tested on a single machine).

But I do think Valve cherry-pick the ones that interest them from upstream - so this may bring the individual patches some attention.

This patch was upstream in wine staging right? They'll probably apply it then, if it was good enough for wine-staging, it's probably good enough for proton.

Rabcor avatar Nov 06 '18 14:11 Rabcor

I've created a Git 'release' that includes a tarball with the binaries from my fork. It's compiled on Ubuntu 18.04.1 but against the steam runtime - so I think it should be fine on other distros. I'd be interested to hear how it goes (on other machines and potentially with other games). You can find instructions and the release here: https://github.com/redmcg/wine/releases/tag/ED_Proton_3.16-4_Beta

redmcg avatar Nov 07 '18 04:11 redmcg

I've created a Git 'release' that includes a tarball with the binaries from my fork. It's compiled on Ubuntu 18.04.1 but against the steam runtime - so I think it should be fine on other distros. I'd be interested to hear how it goes (on other machines and potentially with other games). You can find instructions and the release here: https://github.com/redmcg/wine/releases/tag/ED_Proton_3.16-4_Beta

I've tried this and it works brilliantly. Keybinds/Fdev presets/joystick works as it should, intro video is loading, no freezing or crashing. My own custom Windows presets didn't translate very well (some issues with joystick axis) although that's not a huge deal.

AMD shaders issue looks like it's getting resolved in DXVK with spoofing. If Valve pick up these patches up this game will literally be the .Net issue away from becoming a probable whitelist.

fls2018 avatar Nov 07 '18 13:11 fls2018

@redmcg

Works for me also ! Had to make sure the prefix was still in Windows 7 compatibility (winetricks changed it when installing dotnet40 somehow...).

However VR mode doesn't work... :/ It's almost perfect !

Dexter9313 avatar Nov 07 '18 15:11 Dexter9313

Have any of you seen this error when running EDLauncher.exe? (this happens with dotnet40 or dotnet452).

image

Enverex avatar Nov 07 '18 18:11 Enverex

Have any of you seen this error when running EDLauncher.exe? (this happens with dotnet40 or dotnet452).

I have seen it - but I unfortunately I don't recall the solution. I'll see if I can recreate it and provide the solution. But you might also want to provide your logs. You can enable logging by adding PROTON_LOG=1 %command% to your launch options.

redmcg avatar Nov 07 '18 22:11 redmcg