How to install ED on Linux using Wine [EXPERIMENTAL, NOT OFFICIALLY SUPPORTED]

I can confirm that Wine 3.20 is working fine. Unverified; but I think I needed to delete the joysticks and controllers in the registry left over by the new version of Wine. Maybe this was why I tried an older version a few days back and it didn't work.

And also, should 'Enable SDL'?

If it's working with 3.20 (but not higher) then it sounds like it has fallen victim to this code:
Code:
is_gamepad = (axes == 6  && buttons >= 14)

You would need to 'Enable SDL' as it will otherwise fallback to bus_iohid and bus_udev which also has this logic - but unbugged.

I'm not sure why SDL reports 14 buttons and 6 axes though. This tool is handy for seeing what SDL sees:
https://github.com/Grumbel/sdl-jstest.git

If we can verify this is what is happening I'll submit a patch to Wine to get it fixed. They're currently in a code freeze but are accepting bug fixes (and making weekly releases) during this 4.0 release cycle. If you create a bug on WineHQ I can reference it in my patch - which may help it get accepted in 4.0.

Are you able to test a patch (it requires compiling wine-staging)? If not - it's a pretty simple change; so hopefully they'll accept it.

Edit: Looking through the code I can't see why it would report 14 buttons and 6 axes - I think we might need a log with '+plugplay' in it
 
Last edited:
Copying/moving the ED game files from old prefix to new doesn't take long either

You don't need the ED game files in your prefix. I run multiple prefixes from the one location (where Steam installed it). It seems the Launcher and Client create the registry entries and user games files as required (so you should only need to copy your config from one prefix to another).
 
You don't need the ED game files in your prefix. I run multiple prefixes from the one location (where Steam installed it). It seems the Launcher and Client create the registry entries and user games files as required (so you should only need to copy your config from one prefix to another).

That's why we use symbolic links :)

Now why didn't I think of that.

Obviously been using Winduhs for far too long. Picture me doing All The Facepalms ;)
 
Yea, I move all of my game folders around and symlink them to everything so I never need more than one folder per game. Saves lots of space. I just wish there were an automated way to do it a little. Could be nice to add to wine or playonlinux or steam. I put some games on an ssd some on a normal disk for storage. I need to take the older ones and start compressing them down also. I have 1tb total and could use more space. Probably the best way to do it as don't want to buy new drives.

Every time I make a new install of elite I just copy and paste the base symlink where it should expect the game folder to be. I don't even need to run the installer or anything. 8)

Just install the ed-wine folder then the winetricks stuff and then put in the folder symlink and start the game.

When you use the command: WINEPREFIX=~/ed-wine wine64 "c:\Program Files (x86)\Elite Dangerous\EDLaunch.exe"

It will use the launcher just like normal. My symlink is the directory "Elite Dangerous"
 
Last edited:
I can replay the trace on both Linux via wine and Windows but I'm not sure whether I done it right and using -v I can see DXGI calls, the instructions say don't use DXVK yet the game wouldn't start if I tried to trace with wine's dx11.

I used the solution at the bottom of this page: https://github.com/doitsujin/dxvk/wiki/Common-issues#apitrace

I just had a quick dabble - I'd say the method you used is right. I'm not familiar enough with how it all works to comment with any real authority - but I think the trace is just between the application and DirectX - so it shouldn't matter which implementation of DirectX is used (i.e. Wine or DXVK). Although I did just try to replay a DXVK recording with Wine (OpenGL) and it crashed.

But if my understanding is correct - then you should be able to replay with 396.54.09 installed and show that there's no problem. If so - then I'd say they have what they need.

Edit: Actually you already said you tried on Windows. If the problem still shows then it's probably because the values going to in to DirectX are buggy ones that came out of it.

Edit 2: I'm pretty sure my replay crashed under Wine (OpenGL) because DXVK used a DirectX feature not implemented by Wine. If that is the case - then you potentially would have to use DXVK to reproduce the issue
 
Last edited:
Thank you! (again)

Last night I got ED running gorgeously on my machine. After a few hours scouring the web for tweaks and workarounds I finally got the setup nailed: A custom proton build with ED patches, vcrun2017 for the updated launcher, and a few file tweakings (planetary shaders) to deal with AMD specific issues.

The game booted up, I went into solo play and then it hit me. Last time I played ED I used a borrowed laptop, and had to return it at the last moment. Before returning it, I had just bought and kitted out an Alliance Crusader for some multicrew fun times. I didn't land it. Steam controller was not working and I never used KB/M to play Elite. On top of that, I had not enough credits for the rebuy!

Long story short, after the burst of happiness of seeing ED running smooth as silk on my new GPU in all its glory via DXVK, I had the most terrifying 10 minutes trying to land a unweildly ship with controls I never used, risking losing it forever. But I succeeded and I'm here to give a big THANK YOU to all people involved in getting this awesome game to this point.

I've been tinkering with it today and still can't find a proper fix for Steam Controller issues, tried several methods listed on this thread (involving joy.cpl and so on) but it's not responding properly. If any of you have any pointers or tips I should try, let me know
 
I just had a quick dabble - I'd say the method you used is right. I'm not familiar enough with how it all works to comment with any real authority - but I think the trace is just between the application and DirectX - so it shouldn't matter which implementation of DirectX is used (i.e. Wine or DXVK). Although I did just try to replay a DXVK recording with Wine (OpenGL) and it crashed.

But if my understanding is correct - then you should be able to replay with 396.54.09 installed and show that there's no problem. If so - then I'd say they have what they need.

Edit: Actually you already said you tried on Windows. If the problem still shows then it's probably because the values going to in to DirectX are buggy ones that came out of it.

Edit 2: I'm pretty sure my replay crashed under Wine (OpenGL) because DXVK used a DirectX feature not implemented by Wine. If that is the case - then you potentially would have to use DXVK to reproduce the issue

Like I said it replays both with DXVK and in Windows 10, just the issue is with wined3d which has it's own issues with this game anyway. However my worry is the trace being through DXVK might miss out something that might help them solve the problem.

Anyway there's another issue with the latest update, I'm finding keyboard & joystick now and again doesn't work at startup but restarting the game makes it work again.
 
Like I said it replays both with DXVK and in Windows 10

Sorry - I wasn't very clear. I meant if you replay with the 396.54.09 driver installed (and DXVK) - it might render the engineering station correctly. But it depends where the driver bug is. Either way; I'm pretty sure using DXVK was the right solution (otherwise Wine might have used a different API set and not reproduced the issue).

Anyway there's another issue with the latest update, I'm finding keyboard & joystick now and again doesn't work at startup but restarting the game makes it work again.

That's not good. Let me know what you find. I want to try and get 4.0 in as good a shape as we can - as it seems the logical choice for the next Proton base (and it's always good to have a stable release to fallback on).
 
Sorry - I wasn't very clear. I meant if you replay with the 396.54.09 driver installed (and DXVK) - it might render the engineering station correctly. But it depends where the driver bug is. Either way; I'm pretty sure using DXVK was the right solution (otherwise Wine might have used a different API set and not reproduced the issue).



That's not good. Let me know what you find. I want to try and get 4.0 in as good a shape as we can - as it seems the logical choice for the next Proton base (and it's always good to have a stable release to fallback on).

Already tried replaying on 396.54.09, same behaviour.

That said Nvidia just released a new vulkan beta driver: https://www.reddit.com/r/linux_gaming/comments/a6faax/nvidia_4152201_released/

December 14th, 2018
Windows 417.42, Linux 415.22.01

Improvements:
Expose two transfer queues on Pascal and above
Increase maximum point size to 2047
Increate maximum line width to 64

Fixes:
Fixed issue with vkCmdDrawIndirectCountKHR and vkCmdDrawIndexedIndirectCountKHR and very large counts.
Fixed issue with Sascha Willems "pushconstants" example.

Unsure whether that contains the fixes specifically for ED though but will test, as for key binds I got a feeling the issue might be related to the joystick presets so I might have to create a clean one from an empty preset.

Edit: Still the same problems with 415.22.01 (same as it felt a lot smoother):

AJXkZSI.png
 
Last edited:
So far every runs fine and smooth with wine 3.21 under OpenSuSE Leap 15.0, an NVIDIA GT 1030 card and a MS Sidewinder Precision 2 joystick. Great USB joystick still despite its age. Only that the throttle slider (or however you call that grey thingy you can turn backwards and forwards on the joystick) is not seen and I have to use the keyboard keys W and S to move my space craft. Has nothing to do with OpenSuSE Leap 15.0, as this throttle slider works fine when using Flightgear native under OpenSuse Leap 15.0. Is there some way to tell ED about the bindings of this joystick?

OOOOOPS!

Already found the solution....
Sorry people.
 
Last edited:
My first post :)

I've wanted to play ED for years, and a few weeks ago when I saw that it was possible, I got into it and have had quite good results. The biggest gripes having been sometimes low FPS (but have only a 650Ti), and it seeming impossible to tab out of the game due to the game mostly hanging. Sometimes I've had to restart the launcher, or kill ED or the launcher due to them becoming inactive when starting the program. But all in all, in the end I even enjoyed it so much that I bought a x52pro controller.

Since 3.3 came out things have taken a turn for the worse. I might be able to play a couple of times until the x52 stops working, at that point the kb doesn't work either (only mouse), and I can't get into the controller options either. This seems to be fixable by unplugging the x52, changing users/jack/Local Settings/Application Data/Frontier Developments/Elite Dangerous/Options/Bindings/StartPreset.start to KeyboardMouseOnly, and restarting the game. Though not always, sometimes I have to mess around a bit starting the game several times for it to work again. Haven't been able to find any real pattern to how to fix it. This is of course somewhat of a drag and I haven't really played more than a few minutes at a time.

Gonna try to reread the thread, think I've something about registry editing, or maybe someone has an idea about what is going wrong?

Archlinux/kde, wine-staging 3.21 + dotnet452, corefonts, vcrun2015, dxvk
 
[Help needed] ED lutris install

Hi, there,
I am very impressed by how you managed to install ED with wine.
I was a backer of ED but didn't play with it a lot as I am a linux user.
I tried this week-end to install it using lutris (0.4.23) and the installer (https://lutris.net/games/elite-dangerous/) Wine DXVK version.
Unfortunately it didn't work...
So I tried to do it by myself modifying the install script with no luck so far. I think, it is a problem with dotnet. When I want to log in I have a window saying that I have to enable .NET framework.
The problem is that, I did use winetrick to install dotnet 452 (I tried also dotnet 400).
Here is the installer script:
Code:
ame: Elite Dangerous
game_slug: elite-dangerous
version: Elite Dangerous
slug: elite-dangerous-installer
runner: wine

script:
  game:
    arch: win64
    exe: $GAMEDIR/drive_c/Program Files (x86)/Frontier/EDLaunch/EDLaunch.exe
    prefix: $GAMEDIR
  files:
  - installer: http://hosting.zaonce.net/elite/Client-Installer-DX11.exe
  installer:
  - task:
      description: Creating prefix
      name: create_prefix
      prefix: $GAMEDIR
      arch: win64
  - task:
      description: Installing corefonts
      app: corefonts
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing vcrun2017
      app: vcrun2017
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing dotnet
      app: dotnet452
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Setting to win7
      app: win7
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing Elite on Penguin
      executable: installer
      name: wineexec
      prefix: $GAMEDIR
      args: /Silent
  wine:
      version: 3.21-x86_64
      dxvk: true
      dxvk_version: '0.92'
  system:
    env:
      DXVK_HUD: 1

Am I missing something?
Is there a problem with the installation of dotnet with this version of lutris?

Any advice will be appreciated.

Cheers.

O-p
 
I will pop up and say that I saw strange compute shaders error with Nvidia drivers for 3.3 release. I reported only Windows behavior - Linux/Wine is not supported - but it might be more of some general behaviour (after all if compute shader clashes with Nvidia in SPIR-V, most likely it does in HLSL too). If you can confirm this in Windows this might be worth to poke FD about - although as far as I know they are aware of similar behaviour.
 
Last edited:
Hello,

I followed the install instructions in the first post but I can't get it running. In the end the game can't launch because Wine can't find a mscoree.dll. I'm sure this is a very basic problem and you laugh at me because I can't figure out how to fix it. ;) Maybe somebody here can tell me what to do about it? I tried different Wine versions (4.0, 3.21 and 3.19) but doesn't change anything

Code:
00a6:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"EDLaunch.exe" cannot be loaded
00a6:err:module:attach_dlls Importing dlls for L"c:\\Program Files\\Frontier\\EDLaunch\\EDLaunch.exe" failed, status c0000135

I also found this interesting output during the dotnet installation:

Code:
Using native override for following DLLs: mscoree
Executing /usr/bin/wine64 regedit C:\windows\Temp\_dotnet40\override-dll.reg
Executing /usr/bin/wine64 regedit C:\windows\Temp\_dotnet40\override-dll.reg

So this looks like there is something special going on there with this DLL... But what?

If it helps here is the full installation log: http://ailis.de/~k/permdata/20181216/install.txt
 
Hi, there,
I am very impressed by how you managed to install ED with wine.
I was a backer of ED but didn't play with it a lot as I am a linux user.
I tried this week-end to install it using lutris (0.4.23) and the installer (https://lutris.net/games/elite-dangerous/) Wine DXVK version.
Unfortunately it didn't work...
So I tried to do it by myself modifying the install script with no luck so far. I think, it is a problem with dotnet. When I want to log in I have a window saying that I have to enable .NET framework.
The problem is that, I did use winetrick to install dotnet 452 (I tried also dotnet 400).
Here is the installer script:
Code:
ame: Elite Dangerous
game_slug: elite-dangerous
version: Elite Dangerous
slug: elite-dangerous-installer
runner: wine

script:
  game:
    arch: win64
    exe: $GAMEDIR/drive_c/Program Files (x86)/Frontier/EDLaunch/EDLaunch.exe
    prefix: $GAMEDIR
  files:
  - installer: http://hosting.zaonce.net/elite/Client-Installer-DX11.exe
  installer:
  - task:
      description: Creating prefix
      name: create_prefix
      prefix: $GAMEDIR
      arch: win64
  - task:
      description: Installing corefonts
      app: corefonts
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing vcrun2017
      app: vcrun2017
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing dotnet
      app: dotnet452
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Setting to win7
      app: win7
      name: winetricks
      prefix: $GAMEDIR
  - task:
      description: Installing Elite on Penguin
      executable: installer
      name: wineexec
      prefix: $GAMEDIR
      args: /Silent
  wine:
      version: 3.21-x86_64
      dxvk: true
      dxvk_version: '0.92'
  system:
    env:
      DXVK_HUD: 1

Am I missing something?
Is there a problem with the installation of dotnet with this version of lutris?

Any advice will be appreciated.

Cheers.

O-p

A bit of a rant on the Lutris website:

I originally wrote that script, unfortunately it was rejected then a few days later the guy whoever moderates the scripts on Lutris website added an edited version (with some unnecessary things like dotnet472) but leaving out the vital instructions I typed that stated you needed to point to wine64 manually (because the installer would fail if you tried to point towards a custom wine path).

So you got a script on Lutris that could work but thanks to that guy nobody knows how to get it working.

It's not just ED either but a ton of Lutris scripts for other games end up broken over time due to mods unnecessary editing them, that why I'd recommend people install via Lutris the manual way rather than use the one click install scripts.

Lutris as a tool is great however the current "regime" behind the script moderation leaves a lot to be desired.

I will pop up and say that I saw strange compute shaders error with Nvidia drivers for 3.3 release. I reported only Windows behavior - Linux/Wine is not supported - but it might be more of some general behaviour (after all if compute shader clashes with Nvidia in SPIR-V, most likely it does in HLSL too). If you can confirm this in Windows this might be worth to poke FD about - although as far as I know they are aware of similar behaviour.

Are you using the latest 415 drivers? If so they are indeed bugged.

If you can do an api trace and post here: https://github.com/doitsujin/dxvk/issues/267#issuecomment-446848083
 
Back
Top Bottom