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

Some developments on the Volumetric effects performance, I handed an apitrace over to the dxvk developer and here's what he had to say:

Thanks for attaching the apitrace.


Ironically I'm getting better performance when replaying your apitrace on my AMD card that you seem to get during gameplay, and I don't see high GPU load either, so it's likely that the Nvidia driver fails to optimize the volumetric lighting shader properly. My Nvidia test system is currently out of order due to a broken hard drive, so I can't test it there right now.


Looking at the particular shader, I'm not even surprised though. Frontier clearly wrote inefficient code, Microsoft's HLSL compiler for some reason also failed to optimize a simple constant array to an "immediate constant buffer" as they call it, and now we have a shader that initializes a fairly large constant array in every single invocation, just to read **one** value from it. I wouldn't be surprised if that's the issue here. DXVK doesn't optimize that (as it doesn't do any code transformations besides a naive dxbc->spirv translation), so the driver has to deal with this mess.

https://github.com/doitsujin/dxvk/issues/929
 
Can you confirm you're using a F510 Gamepad (in XInput mode)? Looking up VID 046d and PID c218 (extracted from your SDL_GAMECONTROLLERCONFIG) in the SDL2 source code - I found the value used is:
Code:
030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,

Maybe try that?

If that doesn't help, confirm your devices VID and PID with lsusb. For example, here's my output (VID=046d, PID=c21d):
Code:
$ lsusb | grep Gamepad
Bus 002 Device 007: ID 046d:c21d Logitech, Inc. F310 Gamepad [XInput Mode]
Code:
$ lsusb | grep Gamepad
Bus 004 Device 010: ID 046d:c218 Logitech, Inc. F510 Gamepad [DirectInput Mode]
Apparently it's in directinput mode, which (I think) is what I want.


...
dinput devices are what is shown by `wine64 control joy.cpl`. Controllers work in both dinput and xinput (xinput is only for controllers) - so ED won't talk to a device via dinput if it has an 'IG_' registry entry (as described in that link). It'll use xinput instead.

winebus (responsible for configuring the device in wine) seems to incorrectly configure that device as a controller (presumably because SDL tells it to do so). It will also recreate the entries every-time you start-up wineserver - so I'd try the following:
1. Ignore SDLs advice by setting 'Map Controllers' off (with: wine64 reg add 'HKLM\System\CurrentControlSet\Services\WineBus' /v 'Map Controllers' /t REG_DWORD /d 0 /f); and
2. Delete all registry entries with your PID and VID (i.e. look in system.reg and remove any line with VID_046D&PID_C215)

The next time you start - winebus should recreate only 'IM_' entries and ED should talk to your device via dinput (i.e. as a joystick).

If there are still issues, then it'll help if you add '+plugplay' to WINEDEBUG and provide your log.
I added and set "Map Controllers"=0, deleted the lines... but when it regenerated it put them back with the IG_ ("VID_046D&PID_C218&IG_1")
This is with proton.

Apparently proton has a different way to enable logging:
PROTON_LOG=1 %command%
... I haven't reviewed it yet since all the text editors I have in linux (manjaro) are having trouble with a 35MB file... [sour]

I think I'm going to try to setup a different machine for testing this. The 64GB SSD I'm using is full and I don't have enough physical space in my case to swap in a bigger 3.5" HDD. [haha]
 
Alright, so I have assembled the new rig. Got plenty of power. I'm running on KDE (which should be having an Ubuntu 18.04 LTS as its core).
I straight forward tried Lutris but the installer is broken.

Could anyone be so kind and tell me how I configure Lutris right (or atleast steam)? Never used Linux for gaming but so far I managed to install a hand full of games using Wine, DXVK etc.
Thanks :)

EDIT: Oh, might be worth noting that I am not having a nVidia GPU (Well atleast not as my primary GPU *caugh*). I am using AMD but still have a nVidia GPU as backup, though I only use it as a passthrough for a windows VM in case it is really not possible to run ED on my system under Linux. So I'd rather not use a VM for now.
 
Last edited:
OP Archive

This is archive of OP, I left only link to wiki there.

Disclaimer: this is an guide of installing ED on Linux distribution using Windows library wrapper Wine. This is not official (and not officially supported), and is deemed experimental, so only use your commander account only if you know what you are doing. Also please don't ask FD for help as they won't be really aware about this setup and don't support it. Also ED Horizons using Wine won't work on MacOS due of Apple not supporting OpenGL beyond 4.1 version.


This OP will get regularly updated so check it out for newest updates


QUICK LINKS

1. How to solve CRC error
(please note this should be solved for Wine 3.18 and later) - instructions from commander RedMcG here
2. How to install ED Horizons on SUSE - instructions from commander wstephenson here
3. Fedora 29 has newest GNU TLS library which has bug that doesn't allow to launch launcher. Use these instructions to work around this issue;
4. Currently Steam Play freezes with ED - see RedMcG update regarding this. No ETA where his (and other required) work will appear in Proton, but work is ongoing;

STATUS

As for 27.12.2018 using Wine 3.19 staging version with Nvidia binary driver - GAME WORKS, there are few ongoing issues, currently figured out by lot of people who test this thing. People report also success with Proton / Let's Play, SUSE, ArchLinux, Fedora.

Please note that while technically Wine translates to appropriate OpenGL version, and thus DirectX11 will be translated to OpenGL 4.3 at least, various graphics drivers will behave differently. It is highly suggested to use newest stable driver version for your card. Also if you are using DXVK, you MUST use newest drivers for best Vulkan API support along with up to date DXVK patches.

Installation steps for Elite Dangerous under Wine 3.19 (For lower versions see notes)

1)
To initialize Wine 64-bit prefix use WINEPREFIX=~/ed-wine wine64 winecfg. Then choose 'Windows 7' in version list and hit Apply for configuration change
2) To install Winetricks dependencies use WINEPREFIX=~/ed-wine WINE=/usr/bin/wine64 ./winetricks dotnet452 corefonts quartz vcrun2017 dxvk
This provides .NET 4.5.2 support, Core Fonts, C++ runtime support 2017, and DXVK support
For Wine 3.17 and lower you will need quartz dll for intro video - WINEPREFIX=~/ed-wine WINE=/usr/bin/wine64 ./winetricks quartz
3) Switch back to Windows 7 after winetricks have changed it with WINEPREFIX=~/ed-wine wine64 winecfg to switch Windows version used to Windows 7
4) Install Elite Dangerous installer and launcher WINEPREFIX=~/ed-wine wine64 EliteDangerous-Client-Installer.exe
5) Launch ED launcher:
Wine 3.19 and higher - WINEPREFIX=~/ed-wine wine64 "c:\Program Files\Frontier\EDLaunch\EDLaunch.exe"
Wine 3.18 and lower - WINEPREFIX=~/ed-wine wine "c:\Program Files\Frontier\EDLaunch\EDLaunch.exe"
!!! Also note please that for wine 3.18 and lower
you need to change registry to match MachineID entries with what launcher expects you to get !!! - See instructions here
6) Install EDH and try to play it. There are however numerous issues, so be aware. Performance wise currently there's penalty which is about 10% of performance loss comparing to Windows (might differ from setup to setup though), There are ongoing work for sorting out bindings, be sure you are using newest Wine possible due of patches that are included in Wine and Wine Staging 3.19 and above for better experience. Also don't be shy and ask if you have issues, we are here to help!


Report all bugs to Wine bugzilla https://bugs.winehq.org. Also there's ongoing rendering bug for Elite Dangerous https://bugs.winehq.org/show_bug.cgi?id=43162 so you can add your experience there.

SIDE NOTES

* Regular DirectX -> OpenGL translator have visual glitches. For best performance / visual result use DXVK; However, if you want to try OpenGL, then use winecfg to switch d10/d11 dlls to builtin.
* setting up is not that easy - there can be issues with dotnet40 installation, sometimes it crashes or not working fully. Try again if you fail for first time;
* graphical artifact issues with launcher, annoying, but allows to login and launch game;
5. For wine 3.18 and later you don't need winetricks installation of quartz, as native implementation has fixed to play ED intro and menu videos;
6. For wine 3.19 and later you can run EDLaunch.exe with wine64 again;
7. You can control previous bindings, but you have to figure out right IDs for devices. Investigation continues;


Known issues

* ED Launcher parts of info panes disappear/appear (all Wine versions, but not Proton / Steam Play version of Wine from Valve)
* ED Horizons 64-bit version having CRC error - (Wine 2.13)
https://bugs.winehq.org/show_bug.cgi?id=43464 - WORKAROUND by commander RedMcG, see solution here . THIS IS SOLVED in wine 3.19 and higher.
* ED Horizons having issues with keybindings - patches here https://www.winehq.org/pipermail/wine-devel/2018-April/125332.html. Patches are included in Wine 3.19 Staging so you don't need them if you use Staging Wine 3.19 on your distribution.
 
Alright, so I have assembled the new rig. Got plenty of power. I'm running on KDE (which should be having an Ubuntu 18.04 LTS as its core).
I straight forward tried Lutris but the installer is broken.

Could anyone be so kind and tell me how I configure Lutris right (or atleast steam)? Never used Linux for gaming but so far I managed to install a hand full of games using Wine, DXVK etc.
Thanks :)

EDIT: Oh, might be worth noting that I am not having a nVidia GPU (Well atleast not as my primary GPU *caugh*). I am using AMD but still have a nVidia GPU as backup, though I only use it as a passthrough for a windows VM in case it is really not possible to run ED on my system under Linux. So I'd rather not use a VM for now.

I've never used Lutris - so I can't help with that. But if you want to use Proton (which is a Steam compatibility layer and works for Windows games on Linux), then a good resource is ProtonDB. You can see what hardware configs are being used and what steps people took to get the game running.

But I believe most are using a custom build that I maintain and can be found here. There's a Wiki with the install instructions.
 
I'm running this with wine 4.2 + winetricks dotnet40 vcrun2015 corefonts dxvk win7 on a gtx 650Ti.

Mostly working fine, though I've had the occasional crash. The launcher displays correctly with wine 4.2/4.3 (paints correctly with no missing areas) except that there is an extra scrollbar on the right side.

What is kind of driving me crazy is that I don't seem to be able to launch it several times in a row with my saitek x52pro controller. I've tried many different things, but nothing really seems to reliably improve the problem. Symptoms are that neither controller nor keyboard works, and you can't get into options->controller. I've reluctantly resorted to the following. Unplug controller, start game (keyboard won't work). Exit game (to launcher), start it again (keyboard mostly works this time around, else repeat). Exit game (to launcher), plugin controller, start again, at this point it normally works.

Edit: Forgot, sometimes when exiting the game (not the launcher), the executable still keeps running so I have to send it a HUP signal for it to exit.
 
Last edited:
I'm running this with wine 4.2 + winetricks dotnet40 vcrun2015 corefonts dxvk win7 on a gtx 650Ti.

Mostly working fine, though I've had the occasional crash. The launcher displays correctly with wine 4.2/4.3 (paints correctly with no missing areas) except that there is an extra scrollbar on the right side.

What is kind of driving me crazy is that I don't seem to be able to launch it several times in a row with my saitek x52pro controller. I've tried many different things, but nothing really seems to reliably improve the problem. Symptoms are that neither controller nor keyboard works, and you can't get into options->controller. I've reluctantly resorted to the following. Unplug controller, start game (keyboard won't work). Exit game (to launcher), start it again (keyboard mostly works this time around, else repeat). Exit game (to launcher), plugin controller, start again, at this point it normally works.

Edit: Forgot, sometimes when exiting the game (not the launcher), the executable still keeps running so I have to send it a HUP signal for it to exit.

I'm getting both:
a) the keyboard and controller not working issue (with the "options->controller" menu not accessible); and
b) the executable not closing down too.

Unfortunately I haven't found a way to reliably recreate either - which is going to make it very tough to fix. It must be some timing/syncing issue.

The launcher only displays correctly if I use the '/steam' option - is this the same for you? I don't think I've seen the extra scrollbar before though - are you using wine or wine-staging? It could also be the Desktop Environment you're using (I use Ubuntu 18.04 - so Gnome).

Edit: I'm totally getting that scrollbar (I must have started ignoring it)
 
Last edited:
Just an FYI - I found and fixed the issue in Wine that requires the use of vcrun2015. It was accepted to the Wine master branch this morning; so will be available in Wine v4.4 (just missed v4.3 unfortunately).

It was a pretty simple bug in the end; the launcher was escaping a quote with double quotes and Wine didn't have support for that. If you're interested, the bug is here:
https://bugs.winehq.org/show_bug.cgi?id=46721

So yeah - from Wine v4.4, vcrun2015 is no longer required. I think that makes dotnet40 the only non-open source component left. Hopefully WPF can be added to Wine Mono. Maybe .NET core open-sourcing WPF will make that a bit easier.

And it looks like there might be plans to add Wine Mono to Proton at some point in the future:
https://www.winehq.org/pipermail/wine-devel/2019-March/140849.html
 
I'm getting both:
a) the keyboard and controller not working issue (with the "options->controller" menu not accessible); and
b) the executable not closing down too.

Unfortunately I haven't found a way to reliably recreate either - which is going to make it very tough to fix. It must be some timing/syncing issue.

I can't reliably recreate it either. IIRC the hassle with the controller started with Beyond v3.3 (starting the game 3 times in a row is kind of offputting). ;)

The launcher only displays correctly if I use the '/steam' option - is this the same for you? I don't think I've seen the extra scrollbar before though - are you using wine or wine-staging? It could also be the Desktop Environment you're using (I use Ubuntu 18.04 - so Gnome).


Yes it's the /steam option that makes it paint ok. I changed it at the same time, but mistakenly attributed it to wine 4.2 (not staging) :)

Here's a screenshot of how the launcher looks on kde/kwin/xorg/nvidia/archlinux:

ed-launcher-190304.png
 
Just an FYI - I found and fixed the issue in Wine that requires the use of vcrun2015. It was accepted to the Wine master branch this morning; so will be available in Wine v4.4 (just missed v4.3 unfortunately).

Kudos!

That's good news. Personally I think it's great to see how wine is getting better lately :)

So many programs are already working ok, or beginning to. The future is so bright, I've gotta wear shades :)
 
Just wondering, anyone experimented with proton?

https://www.protondb.com/app/359320

Seems to have decent luck?

Yes - but at the moment you need a custom version. I maintain the version that most of the users on ProtonDB are using. You can find the install instructions here:
https://github.com/redmcg/wine/wiki

I believe it'll work with AMD or NVidia cards as long as you're using one of the latest drivers. But integrated Intel seems to have issues.

If you run in to trouble, you can raise an issue on GitHub or just comment in this thread.
 
I am still quite content with Elite Horizons.
My system:
OpenSuse Leap 15.0
NVDIA Geforce GT 1030 with latest beta driver (installing the 'hard way' as advized by wstephenson on October 21st 2018). Not the best card, but good enough.
Wine staging 4.0

Only 2 glitches/problems:

My joystick is not seen the first time I use the launcher with wine64 EDLaunch.exe /novr /steam. Yet, when trying a second time, things work all right. So I loose a minute or two before I can actually start playing.
An irritating problem is that at certain planets/stations there is systematically this severe drop in frame rate. It mostly starts when approaching and lasts until I can drop out of super cruise. This can take half a minute sometimes. As was explained to me by Genar-Hofoen on February 4th, this is not a video card problem but has to do with EH being very busy doing all kinds of things.
 
Last edited:
Back
Top Bottom