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

Hi,
First, thank you very much for your effort. I can run Elite in Steam on Linux (following the comments in the protondb https://www.protondb.com/app/359320).

It runs ok on my laptop with a 1050ti. However I would like to run the EDMarket connector but failed to do it. Any idea how to do it? It asks me to find the journal location but I am not sure where to find it. Also when I want to enter my credentials it tells me the game is in the menu (while I am not, I am in a station).

Sorry if my question is off-topic and disregard it if it is the case.

Safe flight CMDR!
 
Hi,
First, thank you very much for your effort. I can run Elite in Steam on Linux (following the comments in the protondb https://www.protondb.com/app/359320).

It runs ok on my laptop with a 1050ti. However I would like to run the EDMarket connector but failed to do it. Any idea how to do it? It asks me to find the journal location but I am not sure where to find it. Also when I want to enter my credentials it tells me the game is in the menu (while I am not, I am in a station).

Sorry if my question is off-topic and disregard it if it is the case.

Safe flight CMDR!

So the log files will be in the wine prefix for elite. For me, that's going to be "/media/games/ed/drive_c/users/cpw/Saved\ Games/Frontier\ Developments/Elite\ Dangerous/"

For you, that'll likely be somewhere under the steam prefix. My steam library is at "/media/games/SteamLibrary" and I can see a DOOM save at "/media/games/SteamLibrary/steamapps/compatdata/379720/pfx/drive_c/users/steamuser/Saved\ Games/id\ Software/DOOM/"

I would expect to find E:D's log files somewhere similar, depending on where your steam library is. Note that EDMC works fine as a native python application - they haven't quite adapted it to work well under Linux yet, with WINE Elite, so it can be a bit spammy. Sadly a lot of the plugins are .net nonsense and YMMV on getting any of them to run. I have had personal success running EDDiscovery, using the latest mono from monodevelop, however.
 
However I would like to run the EDMarket connector but failed to do it. Any idea how to do it? It asks me to find the journal location but I am not sure where to find it.

Safe flight CMDR!

Hi,

running EDC natively works flawlessly, I did it that way and used the following path for the local Journal data:

Code:
$WINEPREFIX/drive_c/users/<username>/Saved Games/Frontier Developments/Elite Dangerous

hope that helps!

Cheers
 
Followed the instructions to the letter (minus the fact that I'm using wine-staging 3.21) and got it running without problems with DXVK under nvidia 415.18 on Gentoo Linux.
kc8as4h.png
Thanks for all the work leading into this!
 
The numbered lines below look quite straight forward, yet do not explain where a file named EliteDangerous-Client-Installer.exe should come from. Conseqently, the Installation of the Elite Dangerous installer and launchere fails.
In fact any executable I place in ed-wine/drive_c/windows/system32/
or ed-wine/drive_c/Program\ Files\ \(x86\)/ or ed-wine/drive_c/Program\ Files\ / fails as it is not seen at all by the system, unless it is a native executable like notepad.exe or iexplore.exe. It makes no difference if the ‘x’ is set. A command like wine64 iexplore works fine.
Something goes wrong in wine itself.

I have OpenSuSE Leap 15.0 and installed wine 3.21 (latest version at december 6) from the repository
https://download.opensuse.org/repositories/Emulators/openSUSE_Leap_15.0/x86_64/

though wine-gecko had to be installed from the distribution itself as it was not to be found in the repository.

Regards,

Ed Vaessen

1. Set a WINEPREFIX for your ED wine configuration. Remember to use the same prefix in later sessions, add it to your .profile or whatever: `export WINEPREFIX=~/ed-wine`
2. To initialize Wine 64-bit prefix run `wine64 winecfg`. Click Cancel when it prompts you to install dotnet/mono. Then choose 'Windows 7' in version list and hit Apply for configuration change.
3. To install Winetricks dependencies use`winetricks dotnet452 corefonts quartz vcrun2012`
4. Switch back to Windows 7 after winetricks has changed it with `wine winecfg`.
5. Install dxvk `winetricks dxvk` (the prior components need to be installed first, you can't install it with the earlier winetricks call)
6. Install Elite Dangerous installer and launcher: `wine64 EliteDangerous-Client-Installer.exe`
7. Launch ED launcher (pun intended) `wine64 "c:\Program Files (x86)\Frontier\EDLaunch\EDLaunch.exe"`
8. Login, and install ED Horizons using launcher.


Requirements for this guide: openSUSE Leap 15.0 or Tumbleweed. NVidia gfx card. About 20GB of disk space.
UPDATED:


  1. Wine 3.20 released, including keyboard/mouse/controller recognition patch. Removed my patched packages for now.
  2. Wine 3.19 released, including correct keypress recognition in bindings screen and winetricks with dxvk support
  3. My patched packages now offer the appropriate control presets for your system
  4. Corrected typo in winetricks line 'dxdotnet452'.

Steps to install/configure on openSUSE Leap 15.0 or Tumbleweed: with nvidia and DXVK:

  1. Install the latest wine 3.20 from the Emulators repo (Official packages repo URL)):
  2. (these instructions intentionally left vague to deter the inexperienced from borking their installation) Switch to a text console, stop X, uninstall packaged nvidia drivers, compile and install using the beta proprietary nvidia drivers that support the necessary Vulkan APIs, at time of writing 396.54.09 (NVidia Vulkan driver page, general installation instructions for these non-packaged drivers). Restart X.
  3. Install the distro's regular mono-core package
  4. Follow CMDR Eagleboy's instructions (lightly modified for different paths I encountered):
    1. Set a WINEPREFIX for your ED wine configuration. Remember to use the same prefix in later sessions, add it to your .profile or whatever: `export WINEPREFIX=~/ed-wine`
    2. To initialize Wine 64-bit prefix run `wine64 winecfg`. Click Cancel when it prompts you to install dotnet/mono. Then choose 'Windows 7' in version list and hit Apply for configuration change.
    3. To install Winetricks dependencies use`winetricks dotnet452 corefonts quartz vcrun2012`
    4. Switch back to Windows 7 after winetricks has changed it with `wine winecfg`.
    5. Install dxvk `winetricks dxvk` (the prior components need to be installed first, you can't install it with the earlier winetricks call)
    6. Install Elite Dangerous installer and launcher: `wine64 EliteDangerous-Client-Installer.exe`
    7. Launch ED launcher (pun intended) `wine64 "c:\Program Files (x86)\Frontier\EDLaunch\EDLaunch.exe"`
    8. Login, and install ED Horizons using launcher.
  5. Play the game!
  6. At this point you are a little on your own as the game will probably start the first time in 800x600 full screen, setting your desktop resolution to this and messing up your windowing system. Knowing how to unfsck that with `xrandr --display <your-display-here> --auto` up front is helpful.
  7. You'll have to reconfigure control bindings.

Please let me know if you try this and if you encounter any problems.


Outdated, kept for posterity:
Removed steps due to being included in wine/winetricks:


  1. Patched packages: my patched 15.0 packages with correct keyboard/mouse/controller preset recognition
  2. Download DXVK 0.90 (github project|release tarball)
  3. Install DXVK 0.90 into your WINEPREFIX:
    1. `tar xf /path/to/downloaded dxvk-0.90.tar.bz`
    2. `cd dxvk-0.90`
    3. `WINEPREFIX=~/ed-wine winetricks --force setup_dxvk.verb`
  4. Find out the MachineGuid 32bit wine saw and used to login to the launcher:
    1. Save the mono code below as mguidcheck.cs
    2. Compile the code using mcs from the mono-core package: `mcs mguidcheck.cs`
    3. Run the resulting .exe in wine: `wine mguidcheck.exe`
    4. Copy the GUID it outputs (among a mess of debug output here)
  5. Run regedit under wine64 to update its MachineGUID: `wine64 regedit` and set HKLM/Software/Microsoft/Cryptography/MachineGuid to the value output by mguidcheck.exe.

mguidcheck.cs (we-are-not-worthy to RedMcG):
Code:
using Microsoft.Win32;
using System;

public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine  (Registry.LocalMachine.OpenSubKey("SOFTWARE\\\\Microsoft\\\\Cryptography").GetValue("MachineGuid").ToString());
    }
 
The numbered lines below look quite straight forward, yet do not explain where a file named EliteDangerous-Client-Installer.exe should come from..

This is the installer you download from https://www.elitedangerous.com/, just click 'Downloads' -> 'Windows 64-bit'. It looks like the file is now called 'Client-Installer.exe'.

Just go to the directory to which you downloaded this and run:
wine64 Client-Installer

Make sure before you run this command you have defined your WINEPREFIX (for example with `export WINEPREFIX=~/ed-wine`)
 
I have a very old Geforce 9800 GT card. Looks as if this type is not suited for the Vulkan API's.

(these instructions intentionally left vague to deter the inexperienced from borking their installation) Switch to a text console, stop X, uninstall packaged nvidia drivers, compile and install using the beta proprietary nvidia drivers that support the necessary Vulkan APIs, at time of writing 396.54.09
 
This is the installer you download from https://www.elitedangerous.com/, just click 'Downloads' -> 'Windows 64-bit'. It looks like the file is now called 'Client-Installer.exe'.

Just go to the directory to which you downloaded this and run:
wine64 Client-Installer

Make sure before you run this command you have defined your WINEPREFIX (for example with `export WINEPREFIX=~/ed-wine`)
That does the trick. I thought it would also work when a full path name was given to the executable.
 
Proton, Wine & ED

I have tried everything I read here and on the Proton site to make this work but have not had any luck, despite the gold and silver ratings with Proton. So, for now, I suppose this is still experimental & unsupported as stated in the OP. I will wait for official steamplay support or dual boot Windows. Just wanted to share so people aren't thinking this is a 100% guaranteed thing when they see the gold and silver ratings for Proton. Regardless, thanks to everyone who provided all of the great tools and information here.
 
I have tried everything I read here and on the Proton site to make this work but have not had any luck, despite the gold and silver ratings with Proton. So, for now, I suppose this is still experimental & unsupported as stated in the OP. I will wait for official steamplay support or dual boot Windows. Just wanted to share so people aren't thinking this is a 100% guaranteed thing when they see the gold and silver ratings for Proton. Regardless, thanks to everyone who provided all of the great tools and information here.

Maybe you could elaborate to the steps your doing and how far you get so we can point out what you're doing wrong? Also what hardware you using?

Despite the Gold rating on ProtonDB it still requires a bit of work, Gold means it works great after tweaks/fixes (in this case using a custom Proton and installing .Net can make the game run great) where as ratings below Gold mean there may be underlying issues even with tweaks/fixes that prevent the game from running smoothly i.e. frequent crashes, unusually low fps, missing textures, online components not working etc. Bar some rare cases (odd framerate dips at certain stations) this game experiences none of that and is generally very playable once the fixes are applied.

For RedMcG's custom proton you need to make sure the compatibilitytools.d folder is in your .local/share/Steam folder and that Proton 3.16-4 Beta ED is selected in steam>steam play settings. After that it should only require installing dotnet40 to ED's proton prefix for it to work. AMD also requires device spoofing or a newer DXVK to that's included in Proton, Intel graphics is unknown.
 
Maybe you could elaborate to the steps your doing and how far you get so we can point out what you're doing wrong? Also what hardware you using?

Despite the Gold rating on ProtonDB it still requires a bit of work, Gold means it works great after tweaks/fixes (in this case using a custom Proton and installing .Net can make the game run great) where as ratings below Gold mean there may be underlying issues even with tweaks/fixes that prevent the game from running smoothly i.e. frequent crashes, unusually low fps, missing textures, online components not working etc. Bar some rare cases (odd framerate dips at certain stations) this game experiences none of that and is generally very playable once the fixes are applied.

For RedMcG's custom proton you need to make sure the compatibilitytools.d folder is in your .local/share/Steam folder and that Proton 3.16-4 Beta ED is selected in steam>steam play settings. After that it should only require installing dotnet40 to ED's proton prefix for it to work. AMD also requires device spoofing or a newer DXVK to that's included in Proton, Intel graphics is unknown.

I'm using an AMD A6 APU, quad core w/ Radeon R3 (HD 8400) graphics and 6gb ram. Runs ED ok in Windows. I installed the custom Proton 3.16-4 Beta ED and then increased the file descriptor limit and attempted to install dotnet40, which failed sometimes with an error about the package not supporting a 64 bit prefix. I did eventually get it to successfully install and appear in the uninstaller window. The game would not start whatsoever, running the launcher or the game executable. So, I attempted to follow the steps described in a previous post here. Created a separate prefix and once again got some errors about dotnet package not supporting the 64 bit prefix. So I tried to install dotnet following this guide here https://www.reddit.com/r/wine_gaming/comments/8r6low/guide_how_to_install_net_45_on_64bit_prefixes/. This also failed. I also tried installing wine-gecko and wine-mono since dotnet40 wasn't helping even after the one time the installation completed. When I had the custom proton and dotnet40 installed I was running the game from Steam with proton logging and reading the logs but never saw anything interesting in the logs, just errors about the Steam overlay and mono not being installed which I researched and discovered that the overlay errors can be ignored and mono is removed during the dotnet installation. I might eventually try again, but I have spent enough time on it for now so i'm running Windows 10 to play ED. Thanks for the help.
 
I have tried everything I read here and on the Proton site to make this work but have not had any luck, despite the gold and silver ratings with Proton. So, for now, I suppose this is still experimental & unsupported as stated in the OP. I will wait for official steamplay support or dual boot Windows. Just wanted to share so people aren't thinking this is a 100% guaranteed thing when they see the gold and silver ratings for Proton. Regardless, thanks to everyone who provided all of the great tools and information here.

Even though it's not officially supported - this forum is the best place to get support. So please do share your problem and we'll see if we can solve it.

In terms of official steamplay support - I'm currently working with Andrew Eikum of Codeweavers (who maintain the Wine branch of Proton) to get the patches from my custom version of Proton in to the official version. You can follow that here. So again - your best chance of seeing official steamplay support is to share your issue. If one of us can fix it then I'll share that with Andrew. And if it doesn't make the official version it will at least make my next custom version.
 
  • Like (+1)
Reactions: cpw
i face now another issue. I can click for launching the game, but it crash and i have this.

Code:
Unhandled exception: 0x20474343 in 64-bit code (0x000000007b44bcfc).
Register dump:
 rip:000000007b44bcfc rsp:000000000023eee0 rbp:000000000023efb0 eflags:00000202 (   - --  I   - - - )
 rax:000000000023ef00 rbx:00000000002762d0 rcx:000000000023ef00 rdx:000000000023ef20
 rsi:000000000023eff8 rdi:000000000023ef28  r8:0000000000000001  r9:000000000023eff0 r10:00000000002600b0
 r11:00007fd96e76de40 r12:000000006f3370d8 r13:000000006f337128 r14:000000000023f2c0 r15:0000000000262c68
Stack dump:
0x000000000023eee0:  000000000023ef00 000000006f33f160
0x000000000023eef0:  0000000000000000 000000006f267da2
0x000000000023ef00:  0000000020474343 0000000000000000
0x000000000023ef10:  000000007b44bcfc 00007fd900000001
0x000000000023ef20:  00000000002762d0 000000006f33ec90
0x000000000023ef30:  0000000000000000 0000000000000000
0x000000000023ef40:  6638613438396266 0000000000000000
0x000000000023ef50:  000000006f26e860 000000006f337ff0
0x000000000023ef60:  0000000000000000 000000006f268963
0x000000000023ef70:  0000000000000000 0000000000000000
0x000000000023ef80:  0000000000000000 0000000000000000
0x000000000023ef90:  000000006f31ba10 000000006f26e860
Backtrace:
=>0 0x000000007b44bcfc in kernel32 (+0x2bcfc) (0x000000000023efb0)
  1 0x000000006f25b1d1 in dxgi (+0x5b1d0) (0x000000000023f170)
  2 0x000000006f30a265 in dxgi (+0x10a264) (0x000000000023f170)
  3 0x000000006f30e4f5 in dxgi (+0x10e4f4) (0x000000000023f170)
  4 0x000000006f2170ec in dxgi (+0x170eb) (0x000000006f33f188)
0x000000007b44bcfc: leaq	0xfffffffffffffff0(%rbp),%rsp

Any clues ?

I just ran in to this. For some reason the Vulkan functionality in my 410 nvidia driver stopped working (I couldn't even run vulkaninfo). An update to nvidia-driver-415 did the job.

Edit: Thought I'd add the behaviour in Proton (in case someone runs in to that). I didn't get any error - after clicking 'Play' on the launcher it launched 'EliteDangerous64.exe' but then it just seems to spin its wheels (it never exits and never errors).
 
Last edited:
Created a separate prefix and once again got some errors about dotnet package not supporting the 64 bit prefix.

That sounds like you might have an old version of winetricks. The latest version is 20181203-next:
Code:
$ winetricks --version
20181203-next - sha256sum: 749fcd145eb04a05ccb3fda2af91dc31e0663f503f675bf43499d6b3b63cab6e

Assuming you don't have the latest you can follow the steps here to get the latest: https://github.com/Winetricks/winetricks#installing

You will also want wine version 3.18 or higher - the latest version is wine-4.0-rc1 (staging is optional if you're just installing dotnet):
Code:
$ wine --version
wine-4.0-rc1 (Staging)

You can find the location of the Elite Dangerous steam prefix with the following command:
Code:
find ~/.steam -wholename '*/359320/pfx'

replace the ~/.steam part with your install location (found under Steam -> Settings -> Downloads -> Steam Library Folders).

With all that - you should be able to install dotnet40 without any trouble (replace the WINEPREFIX part with the prefix found in the previous step):
Code:
WINEPREFIX="~/.steam/steam/steamapps/compatdata/359320/pfx" winetricks dotnet40 win7

And then clicking 'PLAY' from within Steam should at least get you to the launcher (even with an official version of Proton).
 
Last edited:
Second Attempt

That sounds like you might have an old version of winetricks. The latest version is 20181203-next:
Code:
$ winetricks --version
20181203-next - sha256sum: 749fcd145eb04a05ccb3fda2af91dc31e0663f503f675bf43499d6b3b63cab6e

Assuming you don't have the latest you can follow the steps here to get the latest: https://github.com/Winetricks/winetricks#installing

You will also want wine version 3.18 or higher - the latest version is wine-4.0-rc1 (staging is optional if you're just installing dotnet):
Code:
$ wine --version
wine-4.0-rc1 (Staging)

You can find the location of the Elite Dangerous steam prefix with the following command:
Code:
find ~/.steam -wholename '*/359320/pfx'

replace the ~/.steam part with your install location (found under Steam -> Settings -> Downloads -> Steam Library Folders).

With all that - you should be able to install dotnet40 without any trouble (replace the WINEPREFIX part with the prefix found in the previous step):
Code:
WINEPREFIX="~/.steam/steam/steamapps/compatdata/359320/pfx" winetricks dotnet40 win7

And then clicking 'PLAY' from within Steam should at least get you to the launcher (even with an official version of Proton).

So, I installed wine-4.0-rc1 (Staging) and winetricks --version 20181203-next. These were both not updated, as you expected. I noticed your github mentions updating these and I apologize I overlooked that before. Much of this was my fault. I discovered that my file descriptor limit never actually increased and found a solution for that here: https://superuser.com/questions/1200539/cannot-increase-open-file-limit-past-4096-ubuntu. To summarize the information in the link: (Modify /etc/systemd/user.conf and /etc/systemd/system.conf with the following line "DefaultLimitNOFILE=1024:1048576") This is with Debian 9. So, now the launcher starts, but the game does not start and I think this probably has something to do with Vulkan. I've been researching and it looks like my APU might not support Vulkan because the only proprietary driver available for me is Crimson Edition 15.12 Proprietary Ubuntu 14.04 and AMD says only "Vulkan™-compatible components AMD Radeon Software Crimson Edition 16.3 and later..." support Vulkan. I am using the open source radeon drivers in Debian 9.

Here is a paste of the output log while the game is trying to run after clicking "play" in the launcher. This is at least 30 minutes after clicking the "play" button.
https://pastebin.com/rnwZgyP1

Here is my video driver info:
[ 30.979] (II) LoadModule: "radeon"
[ 30.979] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
[ 31.102] (II) Module radeon: vendor="X.Org Foundation"
[ 31.102] compiled for 1.19.0, module version = 7.8.0
[ 31.103] Module class: X.Org Video Driver
[ 31.103] ABI class: X.Org Video Driver, version 23.0

Thanks for the help.
 
There are some issues with planet generation when run through wine (I'm running the standalone game from Frontier's store). I've particularly had issues at engineer bases (I couldn't land at one of them because it was entirely encased in rock), while another was just floating in mid-air.

8wFVC9a.png
(this is at the engineer base in Eurybia)

Possibly some floating point weirdness?

Edit: The engineer base I couldn't access was in Laksak.
 
Last edited:
Back
Top Bottom