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

[BUG] Elite Dangerous doesn't start (359320) #150

Open
KewaiiGamer opened this Issue Aug 22, 2018 · 100 comments

Comments

Projects
None yet
@KewaiiGamer
Copy link

KewaiiGamer commented Aug 22, 2018

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

@simon50keda

This comment has been minimized.

Copy link

simon50keda commented Aug 22, 2018

  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.
@BrandonDyer64

This comment has been minimized.

Copy link

BrandonDyer64 commented Aug 22, 2018

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.

@kisak-valve kisak-valve changed the title [BUG] Elite Dangerous doesn't start [BUG] Elite Dangerous doesn't start (359320) Aug 23, 2018

@mrmakeit

This comment has been minimized.

Copy link

mrmakeit commented Aug 24, 2018

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.

@mrmakeit

This comment has been minimized.

Copy link

mrmakeit commented Aug 24, 2018

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.

@diraven

This comment has been minimized.

Copy link

diraven commented Aug 25, 2018

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.

@mirh

This comment has been minimized.

@unlimitedbacon

This comment has been minimized.

Copy link

unlimitedbacon commented Aug 31, 2018

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

Running Proton 3.7-5 Beta.
Steam System Info

@physios

This comment has been minimized.

Copy link

physios commented Sep 1, 2018

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 ()`

@ghost ghost referenced this issue Sep 26, 2018

Closed

Elite Dangerous (359320) #1607

@fls2018

This comment has been minimized.

Copy link

fls2018 commented Oct 19, 2018

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

This comment has been minimized.

Copy link

fls2018 commented Oct 22, 2018

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

This comment has been minimized.

Copy link

fls2018 commented Oct 26, 2018

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?

@mirh

This comment has been minimized.

Copy link

mirh commented Oct 26, 2018

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

@fls2018

This comment has been minimized.

Copy link

fls2018 commented Oct 26, 2018

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?

@LudusLight

This comment has been minimized.

Copy link

LudusLight commented Oct 27, 2018

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

@byte1024

This comment has been minimized.

Copy link

byte1024 commented Oct 27, 2018

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.

@fls2018

This comment has been minimized.

Copy link

fls2018 commented Oct 27, 2018

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.

@LudusLight

This comment has been minimized.

Copy link

LudusLight commented Oct 27, 2018

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.

@FurretUber

This comment has been minimized.

Copy link

FurretUber commented Nov 4, 2018

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.

@amalon

This comment has been minimized.

Copy link

amalon commented Nov 5, 2018

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.

@FurretUber

This comment has been minimized.

Copy link

FurretUber commented Nov 5, 2018

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.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Nov 5, 2018

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).

@agates

This comment has been minimized.

Copy link

agates commented Nov 5, 2018

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.

@Rabcor

This comment has been minimized.

Copy link

Rabcor commented Nov 6, 2018

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?

@redmcg

This comment has been minimized.

Copy link

redmcg commented Nov 6, 2018

@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.

@Rabcor

This comment has been minimized.

Copy link

Rabcor commented Nov 6, 2018

@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.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Nov 7, 2018

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

@dmarcuse

This comment has been minimized.

Copy link

dmarcuse commented Dec 20, 2018

@Dev-Osmium How much VRAM do you have? Based on your system info I'm guessing you have 512 MB of system memory allocated for the iGPU, which doesn't seem like a lot considering the game lists a GPU with 1 GB of VRAM as the minimum requirements.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Dec 22, 2018

Proton 3.16-6 Beta ED has been released. It fixes the issue identified by @sizeofbool (by installing to a new location) and a bug that would have occurred when trying to run other games. Other than that it just picks up what is in Proton 3.16-6 Beta.

@WesCook

This comment has been minimized.

Copy link

WesCook commented Dec 22, 2018

I appreciate the new warning for dummies like me. :)

@fls2018

This comment has been minimized.

Copy link

fls2018 commented Dec 22, 2018

@redmcg Some issues with your latest Proton outside of ED.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Dec 23, 2018

@fls2018 Thanks for pointing that out. I've added details in the issue as to the cause - but the work-around is to use the Steam Beta Client. Apologies to everyone for that inconvenience.

The issue is with the build environment I used - but I don't know when I'll get a chance to rebuild. Of course I'm happy for someone else to do so in my absence.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Dec 24, 2018

Turns out the build environment wasn't the problem. I've been able to run Skyrim under the standard Steam Client just by changing my proton script. If you wish to play one of the affected games - you can replace the proton file with the one found here.

The diff can be found here: redmcg@09f5ea8

@brjhaverkamp

This comment has been minimized.

Copy link

brjhaverkamp commented Dec 30, 2018

Hi Redmcg, seens I am joining the ED party just at the right time! Build a GamePC over the holidays with my kids and am a long time Elite fan(from the first wireframe version:-) And I occationally checked if ED was already ported to Linux. Now it seems our new PC coincides with ED on linux!

One question. How do your patches trickle down into the offical Proton release? Can I wait that out, or should I move to your version for the forseeable future?

@redmcg

This comment has been minimized.

Copy link

redmcg commented Dec 31, 2018

@brjhaverkamp The TLDR is that it's up to you. I don't think Proton will have quite the same support for ED that my custom version does for a little while (although a handful of patches have been merged) - but there are also alternatives to Proton (like wine-staging and Lutris).

The long version is I can't say with any real certainty what will happen with the official Proton release (as I don't have any additional insight) but I can say that in my opinion there's a good chance they will rebase on version 4.0 of Wine (as it's a stable release). 4.0 has all my patches but for:

  • futex (which is required to stop the game crashing);
  • normalize string (which is required for the keyboard to work correctly); and
  • hacks to allow easy install of vcrun2015 and dotnet40

The first two are in wine-staging and there's a chance they will get cherry-picked. The third I don't ever see being included (as the focus is purely for Elite Dangerous) but you can use winetricks or protontricks to manually install (the hope is eventually wine and wine-mono will make the need for these redundant).

The other change is that I use wine64 to avoid the need for the CRC work-around. Personally I think Proton should use wine64 as well because this more closely simulates a 64-bit version of Windows - but it wasn't until recently that wine64 had problems with 32-bit .NET launchers.

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 2, 2019

Using the @redmcg Proton build (3.16-5 Beta ED) I am able to start the offline demo, which runs beautifully, but I cannot launch the main game. When I try it, it comes back with an error "Unable to initialise network. Please check your connection". This happens no matter whether I select ED or Horizons in the launcher. My connection seems otherwise fine, and I didn't experience any networking issues whatsoever in the other title I've tried playing with Proton (Quake Champions). I've tried a manual install in Lutris with the same result. The problem persists with the 3.16-6 Beta ED build.

I've looked around on the internet but couldn't find anyone else having this problem, so I thought I should throw it out there and see if someone might be able to help.

OS: Fedora 29 (Kernel 4.19.10-300.fc29)
CPU: Ryzen 7 2700X
GPU: Vega 64 (DRM 3.27.0)

@agates

This comment has been minimized.

Copy link

agates commented Jan 2, 2019

@tsahyt I get the same error with 3.16-6 Beta ED. I haven't spent any time trying to diagnose it yet.

@mosteo

This comment has been minimized.

Copy link

mosteo commented Jan 2, 2019

@agates @tsahyt , this is fixed by installing vcrun2017, as several people reported in the Frontier forums thread: https://forums.frontier.co.uk/showthread.php/366894-How-to-install-ED-on-Linux-using-Wine-EXPERIMENTAL-NOT-OFFICIALLY-SUPPORTED

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 2, 2019

@mosteo, I've tried installing vcrun2017 with winetricks, still yielding the same result.

EDIT: Nevermind, I messed up the WINEPREFIX. I now get a different result, but it seems worse than before. I don't even get to the launcher anymore. Instead I get an error message saying "Internal error creating window: Add value to collection of type 'System.Windows.Control.UIElementCollection' threw an exception."

EDIT 2: Setting wine back to Win7 fixed the error above, but now I'm back to square one, with the "Unable to initialise network" error

@redmcg

This comment has been minimized.

Copy link

redmcg commented Jan 3, 2019

I haven't seen this error myself - but it appears to be related to network connectivity. Here is a report from a Windows user:
https://forums.frontier.co.uk/showthread.php/436739-Unable-to-connect-to-network-in-Russia?highlight=Unable+to+initialise+network

Whilst I haven't seen this issue I have had network issues myself (although mine was from within the launcher). I'm using a dual IPv4/v6 stack and one of the IPv6 addresses being returned via DNS appeared to be down. I ended up adding a manual entry to /etc/hosts to workaround it. However, I don't know if the same work-around could be used here. You might need to take a network trace to see if you can find the problem. You could also check the ED netLog and/or the Wine log.

Edit: Just wondering if the game runs fine in Windows?

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 8, 2019

The ED logs report the following (IP removed)

{19:17:47GMT 0.058s} ClientBuild 3.3.0.402 EDH r189994 (win64)
{19:17:52GMT 5.232s} GetPortMapping(59702) failed with code 714 (NoSuchEntryInArray)
{19:17:52GMT 5.610s} GetPortMapping(59702) External xx.xx.xx.xx:59702 -> internal 192.168.0.115:59702 (0)
{19:17:53GMT 6.139s} IPv4 is enabled, but address not found
{19:18:00GMT 13.207s} Machine 1 x 2 Local Machine disconnected: shutdown

After some messing around, basically just trying things out, I found a way to at least get the game to start at all, by setting IPv4="0" and IPv6="1" in AppConfigLocal.xml. From there on things get strange. The options menu reports that IPv4 is on and IPv6 is disabled. The logs instead then state that 20:18:19GMT 0.799s} IPv6 is enabled, but address not found. Like before, everything that's offline works just fine, i.e. I can play the tutorial missions without any real issues (except for one issue with the mouse not working after tabbing out and back in). But I cannot connect to the Frontier servers. It discovers machines, tries connecting, and fails, again and again. In the logs this will look like this


{20:19:35GMT 76.602s} ConnectToServerActivity: state=Init
{20:19:35GMT 76.602s} ConnectToServerActivity: state=WaitingForLogin
{20:19:35GMT 76.607s} GET server/list?protocol=33145
{20:19:35GMT 76.607s} ConnectToServerActivity: state=GettingServerAddress
{20:19:35GMT 76.704s} [MultiCrewMatchmakingLog] AdvanceInfoRequests: Matchmaking info received: 4 (Bounty hunting, 0 ships), 8 (Piracy, 0 ships), 3 (Mentor a player, 0 ships), 16 (Xeno Hunting, 0 ships), 17 (Xeno Research, 0 ships), 1 (Further activities, 0 ships), 5 (Mining, 0 ships), 6 (Exploration, 0 ships), 9 (Smuggling, 0 ships)
{20:19:35GMT 76.704s} [MultiCrewMatchmakingLog] NotifyMatchmakingInfoUpdated
{20:19:36GMT 77.271s} Parsing servers. NumServers: 1(258355904842020,) Choice: 0
{20:19:36GMT 77.271s} -> Added New Machine! RunID : 258355904842020
{20:19:36GMT 77.271s} New machine: 258355904842020 - Cipher is NULL
{20:19:36GMT 77.271s} machineId=1 numMachines=2 numFree=0 hwm=2
{20:19:36GMT 77.271s} RxRoute[1]:258355904842020 Comp:2[IP4:52.48.177.158:19364][IP6:2a05:d018:5:a102:5295:2152:5c93:558b|19364,1500]
{20:19:36GMT 77.271s} SetRouteMtu = 1500 (using 1500) for  258355904842020 x 1 [2/2]((2a05:d018:5:a102:5295:2152:5c93:558b|19364))Name Unknown
{20:19:36GMT 77.271s} New Primary Server: 258355904842020 x 8 [2/2]((2a05:d018:5:a102:5295:2152:5c93:558b|19364))Name Unknown
{20:19:36GMT 77.271s} -> Added New Machine! RunID : 240211470924386
{20:19:36GMT 77.271s} New machine: 240211470924386 - Cipher is NULL
{20:19:36GMT 77.271s} machineId=2 numMachines=3 numFree=0 hwm=3
{20:19:36GMT 77.271s} RxRoute[1]:240211470924386 Comp:2[IP4:34.255.6.19:19364][IP6:2a05:d018:5:a102:25d3:129a:a707:e42d|19364,1500]
{20:19:36GMT 77.271s} SetRouteMtu = 1500 (using 1500) for  240211470924386 x 1 [2/2]((2a05:d018:5:a102:25d3:129a:a707:e42d|19364))Name Unknown
{20:19:36GMT 77.271s} New Mission Server: 240211470924386 x 4 [2/2]((2a05:d018:5:a102:25d3:129a:a707:e42d|19364))Name Unknown
{20:19:36GMT 77.271s} ConnectToServerActivity: state=WaitingForConnection
{20:19:46GMT 87.276s} ConnectToServerActivity: state=Init
{20:19:46GMT 87.293s} ConnectToServerActivity: state=WaitingForLogin
{20:19:46GMT 87.309s} GET server/list?protocol=33145&failCount=1&lastPrimaryServerRunID=258355904842020&lastSecondServerRunID=240211470924386
{20:19:46GMT 87.309s} ConnectToServerActivity: state=GettingServerAddress
{20:19:46GMT 87.876s} Parsing servers. NumServers: 1(256583460643104,) Choice: 0
{20:19:46GMT 87.876s} -> Added New Machine! RunID : 256583460643104
{20:19:46GMT 87.876s} New machine: 256583460643104 - Cipher is NULL
{20:19:46GMT 87.876s} machineId=3 numMachines=4 numFree=0 hwm=4
{20:19:46GMT 87.876s} RxRoute[1]:256583460643104 Comp:2[IP4:34.251.219.79:19364][IP6:2a05:d018:5:a100:4537:4c45:3418:ca64|19364,1500]
{20:19:46GMT 87.876s} SetRouteMtu = 1500 (using 1500) for  256583460643104 x 1 [2/2]((2a05:d018:5:a100:4537:4c45:3418:ca64|19364))Name Unknown
{20:19:46GMT 87.876s} New Primary Server: 256583460643104 x 8 [2/2]((2a05:d018:5:a100:4537:4c45:3418:ca64|19364))Name Unknown
{20:19:46GMT 87.876s} RxRoute[1]:240211470924386 Comp:2[IP4:34.255.6.19:19364][IP6:2a05:d018:5:a102:25d3:129a:a707:e42d|19364,1500]
{20:19:46GMT 87.876s} New Mission Server: 240211470924386 x 5 [2/2]((2a05:d018:5:a102:25d3:129a:a707:e42d|19364))Name Unknown
{20:19:46GMT 87.876s} Machine::ConnectDirectly:unexpected state: state=0, m_attempt=11.605941, fdis=0: Y Disconnected ** Comp:UDP LastRx=10.61s LastTx=10.61s SyncSent=0.00s  [0] Timeout Disc=0.00s Hold=19.39 srtt=1000ms rttvar=0 drc=Unknown
{20:19:46GMT 87.876s} ConnectToServerActivity: state=WaitingForConnection
{20:19:57GMT 98.881s} ConnectToServerActivity: state=Init
{20:19:57GMT 98.898s} ConnectToServerActivity: state=WaitingForLogin
{20:19:57GMT 98.915s} GET server/list?protocol=33145&failCount=2&lastPrimaryServerRunID=256583460643104&lastSecondServerRunID=240211470924386
{20:19:57GMT 98.915s} ConnectToServerActivity: state=GettingServerAddress
{20:19:58GMT 99.499s} Parsing servers. NumServers: 1(254496286725356,) Choice: 0
{20:19:58GMT 99.499s} -> Added New Machine! RunID : 254496286725356
{20:19:58GMT 99.499s} New machine: 254496286725356 - Cipher is NULL
{20:19:58GMT 99.499s} machineId=4 numMachines=5 numFree=0 hwm=5
{20:19:58GMT 99.499s} RxRoute[1]:254496286725356 Comp:2[IP4:54.229.231.159:19364][IP6:2a05:d018:5:a100:5cc3:4933:fae7:e633|19364,1500]
{20:19:58GMT 99.499s} SetRouteMtu = 1500 (using 1500) for  254496286725356 x 1 [2/2]((2a05:d018:5:a100:5cc3:4933:fae7:e633|19364))Name Unknown
{20:19:58GMT 99.499s} New Primary Server: 254496286725356 x 8 [2/2]((2a05:d018:5:a100:5cc3:4933:fae7:e633|19364))Name Unknown
{20:19:58GMT 99.499s} RxRoute[1]:240211470924386 Comp:2[IP4:34.255.6.19:19364][IP6:2a05:d018:5:a102:25d3:129a:a707:e42d|19364,1500]
{20:19:58GMT 99.499s} New Mission Server: 240211470924386 x 5 [2/2]((2a05:d018:5:a102:25d3:129a:a707:e42d|19364))Name Unknown
{20:19:58GMT 99.499s} Machine::ConnectDirectly:unexpected state: state=0, m_attempt=23.227995, fdis=0: Y Disconnected ** Comp:UDP LastRx=22.23s LastTx=22.23s SyncSent=0.00s  [0] Timeout Disc=0.00s Hold=7.77 srtt=1000ms rttvar=0 drc=Unknown
{20:19:58GMT 99.499s} ConnectToServerActivity: state=WaitingForConnection

As to whether the game works in Windows, I don't know, I don't have a Windows install. I've tried disabling UPnP and setting up Port Forwarding on my Router (and ED), but behaviour is the same as before. The fact that it can't connect may be related to the config setting I used to get it running at all, but it seems to use IPv4 regardless. I've also tried just disabling both protocols (because why not, this stopped making sense a while ago), but with the same result.

@sizeofbool

This comment has been minimized.

Copy link

sizeofbool commented Jan 9, 2019

{19:17:47GMT 0.058s} ClientBuild 3.3.0.402 EDH r189994 (win64)
{19:17:52GMT 5.232s} GetPortMapping(59702) failed with code 714 (NoSuchEntryInArray)
{19:17:52GMT 5.610s} GetPortMapping(59702) External xx.xx.xx.xx:59702 -> internal 192.168.0.115:59702 (0)
{19:17:53GMT 6.139s} IPv4 is enabled, but address not found
{19:18:00GMT 13.207s} Machine 1 x 2 Local Machine disconnected: shutdown

Can you post more information about your distro, DE, what firewall do you use locally (ufw, iptables)?

What connection type your ISP provides for you to access Internet? (Ethernet, xDSL)
Also does it requires additional connection via PPPoE, L2TP\PPTP?

Do you have "white" IP address assigned by your ISP? (white as in public ip address range, not private ip address range)

Your local network private ip address is assigned by DHCP or is it static?

I play ED without any additional setup like UPnP or Port Forwarding. Check your local firewall ruleset and ensure it has rules for unrestricted outbound connections and restricted unknown inbound connections.

...
{20:19:36GMT 77.271s} New machine: 258355904842020 - *Cipher is NULL*
...

My logs don't have this line, so I think you could also have some dependency problem. Check if you have "gnutls" libraries installed. I'm not sure if having Steam Runtime is enough.
Could be the reason why you can't establish a secure connection with game servers, except the ones with HTTP 80\443 connections.

It could help (in fact I had to do it myself) if you delete and rebuild prefix for Elite Dangerous. (it is located here "steamapps/compatdata/359320"). Close Steam client before deleting prefix folder.
Be sure to backup all Frontier folders in proton user's folders (C:\Users\steamuser...) or at least your keybinds for the game, before you delete prefix folder.

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 10, 2019

@sizeofbool I use Fedora 29, mostly default setup, using GNOME as a DE. Fedora uses firewalld as a frontend for management for iptables (netfilter). I use a fibre connection to the curb, coaxial cable from there into the Modem, to which I connect via Ethernet. It's always been pretty much plug and play on Linux.

From what I understand I do have a "white" IP address, though not a static one from my ISP. Locally, I get an IP address from the modem via DHCP, but it's always the same one.

Firewall settings should be fine, but to be sure I tried opening everything up to see whether it changes anything and it didn't. gnutls is installed, both the 32 and 64 bit version. Note that I get the same problem installing the game through Lutris (followin https://www.youtube.com/watch?v=jG7TUOXZhng).

In the process of trying things I've deleted and rebuilt the prefix several times already, it never changed anything.

@jp7677

This comment has been minimized.

Copy link

jp7677 commented Jan 10, 2019

@tsahyt Just a shot in the dark, I remember that I had to add my machine name to my /etc/hosts file on my Fedora 29 box before ED wanted to start. So my /etc/hosts looks now like:
cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.1.1   lnx-desktop lnx-desktop.lan

The ED wine logs were complaining before that addition that my local ip could not be resolved (or similar, don't remember exactly)

Edit: Sorry, I'm seeing just now that extending /etc/hosts was already suggested.

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 10, 2019

@jp7677 I haven't tested it fully yet, i.e. I've only checked whether the menu shows up correctly now, but this seems to have worked, the buttons are no longer grayed out and the debug message at the bottom disappeared! Thank you!

@redmcg

This comment has been minimized.

Copy link

redmcg commented Jan 13, 2019

@tsahyt Did that resolve your issue? If so I'll update my troubleshooting guide (with thanks to @jp7677)

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 13, 2019

@redmcg I've now played the game for several hours, and started it several times. I had no more connection problems and the game always started without fail, so yes my issue seems to be resolved fully. I added 127.0.1.1 myhostname.fullyqualified myhostname to /etc/hosts just like @jp7677 posted above.

The only thing that remains is one or two problems with the mouse. The mouse cursor flickers in menus (it disappears more often than not, but reappears when hovering over some UI element again), and when tabbing out to some other application and tabbing back in, the game doesn't receive any mouse input anymore until I restart it. Those are easy enough to avoid for now though, I just thought I'd mention them regardless.

@jp7677

This comment has been minimized.

Copy link

jp7677 commented Jan 13, 2019

@redmcg I wonder what the root cause of the work around with /etc/hosts is. Unfortunately I lack the knowledge about dns, nsswitch and friends to fill a proper bug report in wine. I remember seeing "Failed to resolve your host name IP" (https://github.com/wine-mirror/wine/blob/master/dlls/ws2_32/socket.c#L6787) in the wine logs. The comment in the source was the reason that I tried modifying my hosts file.

@tsahyt Which window mode did you use? I couldn't switch to full screen and ended up using borderless window which worked really well. I can't remember any mouse issues. Note that this was a test with wine staging that comes with Fedora, not Proton.

@tsahyt

This comment has been minimized.

Copy link

tsahyt commented Jan 13, 2019

@jp7677 I've got it set to full screen. I remember having some issues with it initially (back when I could only access the combat demo), and I think setting the resolution first and then switching to full screen did the trick.

I've tried it with borderless window now, the mouse problems are gone.

EDIT: The flickering part still happens sometimes, but the focus issues are resolved in borderless window mode.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Jan 15, 2019

@jp7677 The code you linked is within the getaddrinfo function.

It looks like the job of that function is just to convert a host name to an address. Wine doesn't do the translation itself - it calls on the underlying OS. If the underlying OS can't do it then it fails.

I'm curious though, before adding the '/etc/hosts' entry - could you ping your hostname? If so - I might take a look at the source code for ping and see if it's doing something that could be added to wine.

@jp7677

This comment has been minimized.

Copy link

jp7677 commented Jan 20, 2019

@redmcg Just tested your suggestion. No, when reverting my modification I cannot ping my host name. So I guess wine isn't doing anything wrong. No idea what the philosophy of the host name in Fedora is. I hadn't experienced any issues before my modifications, so I guess Fedora itself just doesn't rely on the host name. May be Fedora expects that any name resolution should always come from an external DNS server. Though as stated, my knowledge of nsswitch and similar things is rather limited.

@JamesHealdUK

This comment has been minimized.

Copy link

JamesHealdUK commented Jan 22, 2019

My keyboard doesnt seem to work in game, on the main menu it seems to be working fine though. Running the latest version of the ED proton build. The mouse doesnt seem to work either, oddly.

@mosteo

This comment has been minimized.

Copy link

mosteo commented Jan 22, 2019

@JamesHealdUK Check that you have bindings, on my first run it was all cleared.

A different issue is that sometimes the keyboard doesn't work at all, not even in the main menu. When this happens a restart does the trick. In my case I estimate it at <20% chance.

@brjhaverkamp

This comment has been minimized.

Copy link

brjhaverkamp commented Jan 24, 2019

I noticed the same thing. Keyboard sometimes is completely non-responsive. Only restart works

@kaiarne

This comment has been minimized.

Copy link

kaiarne commented Jan 27, 2019

I'm very satisfied with the current state of Elite und Proton except with one thing:
Thrustmaster Hotas X is only recognized when mapped via Steam as Gamepad or Xbox Controller. Afaik this only gives me the possibility to use 4 Axis where the Joystick has 5. It's not mapping Start and Select buttons.
Starting Elite via proton_run without Steam running lets Elite correctly DETECT a Thrustmaster Hotas X, but I cannot map any joystick activity to any Elite function.
"wine control" in the wineprefix shows the windows control dialogue with a perfectly working Thrustmaster with 5 Axis (with and without Steam). No idea, what else I can try.
Distribution used: Arch Linux.

@redmcg

This comment has been minimized.

Copy link

redmcg commented Feb 16, 2019

Proton 3.16-7 Beta ED has been released. It just merges the changes made in Proton 3.16-7 Beta. It also includes a fix for the issue found in Proton 3.16-6 Beta ED that prevented running Skyrim & Fallout 4.

@WesCook

This comment has been minimized.

Copy link

WesCook commented Feb 16, 2019

Thanks for keeping this maintained @redmcg. Hopefully we'll eventually see the fixes merged in with WINE or Proton directly, but this'll do for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment