Elite Dangerous

Elite Dangerous

26 ratings
Elite Dangerous and GNU/Linux
By celkaris
How to play Elite Dangerous using GNU/Linux
   
Award
Favorite
Favorited
Unfavorite
warning

This should be obvious, but expect no support from anyone if you have issues using this (hopefully temporary) method.

For now you should only use this method for yourself using your own commander, in solo mode only.
Updates to this guide
* 2019 july 4th : no more need for so many manual actions ; one protontricks command and you're good to go.

* 2018 December 18th (minor) : note added on current debian testing nvidia-driver 390.87-4 state (crashes on client startup).

* 2018 December 15th (minor) : notes about winbind, vulkaninfo and compatibility.d/ location.

* 2018 December 13th : post 3.3 ED patch deployment - dotnet45 and vcrun2017 now required. Possible registry entries editing required to bypass the client CRC error ("Login failure, use the launcher").
single command now required
As of now (july 4th 2019), one single protontricks command is enough to get ED up & running :

Get winetricks and protontricks (if you're going to ask "how? where?...", just stop reading this, this isn't for you.)

wine 4.x from your distribution's packages should be enough (i used 4.0-2 from debian testing this time).


# enable steamplay for all titles (i used proton 4.2-9) # restart steam when asked to and wait for its downloads to complete # hit play once on steam (will fail, but create directory structure) protontricks 359320 -q dotnet40 win7 # hit play, and enjoy rebinding all your controls if you haven't played ED for a while :(

Up-to-date informations : https://www.protondb.com/app/359320

The instructions below are now deprecated, I keep them here, just in case somebody finds it interesting/useful.
Absolute requirements
A few things are required to get Elite Dangerous running on your favorite Operating System :

- ultra-fresh graphics driver (i use NVidia Beta 415.18.02) : https://developer.nvidia.com/vulkan-driver ["Developer Beta Driver Downloads" section]

- wine staging - see below

- dxvk >= 0.93 ( latest tarball from https://github.com/doitsujin/dxvk/releases )

- Proton_3.16-4_Beta patched for ED ( https://github.com/redmcg/wine/releases/tag/ED_Proton_3.16-4_Beta )

- recent winetricks ( https://github.com/Winetricks/winetricks/raw/master/src/winetricks )

- winbind installed & running (on the "host" part) when you want to play the game (sorry about that, not liking those things either ; i personally disabled it on all runlevels, manually starting the service when needed)

some coffee, tea, cigarette or any (legal) recreational stuff plus some time (some downloads are quite heavy)
graphics card driver
Download nvidia beta driver installer from https://developer.nvidia.com/vulkan-driver

For example, i downloaded NVIDIA-Linux-x86_64-415.18.02.run

Back to console, uninstall (purge) your current, deprecated nvidia-driver package and all "*nvidia*" packages matching your current nvidia-driver package version.

You can use something like this to retrieve that list :

# i was previously using nvidia driver, tools + libs in 384.130-1 version dpkg -l '*nvidia*'|grep ^ii | grep 384.130 | tee $HOME/nvidia-uninstalled.txt

Uninstall those packages manually or use dpkg and awk

Still in console, run the nvidia driver you manually downloaded as root.

once installed, restart your x server (xdm, slim, gdm, whatever)

running nvidia-settings will allow you to confirm the upgrade :



you also have to install some vulkan libraries & tools :

# (from debian "non-free" repository) sudo apt-get install libvulkan1 libvulkan1:i386 mesa-vulkan-drivers vulkan-utils

Following command should output a bunch of informations and supported extensions :
vulkaninfo
wine-staging
wine-staging is required

I'm now using wine-4.0-rc1 (Staging)


first uninstall (purge) your wine debian packages :

sudo apt-get --purge remove wine winetricks

then install wine from winehq repository :

sudo dpkg --add-architecture i386 wget https://dl.winehq.org/wine-builds/Release.key -O - | sudo apt-key add - sudo echo 'deb https://dl.winehq.org/wine-builds/debian/ stretch main' > /etc/apt/sources.list.d/wine.list sudo apt-get update sudo apt-get install wine-staging sudo apt-get install --install-recommends winehq-staging

for other distributions, you can visit https://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/ for instructions.
winetricks
again, a recent version of this tool is required (the use of winetricks is one of the reasons we upgraded wine for).

Download the "winetricks" script (warning: this is a quick&ugly shortcut, normally you would also want extra files provided along with this script (bash-completion, manpage, ...) ; feel free to install it properly :)

mkdir $HOME/bin wget https://github.com/Winetricks/winetricks/raw/master/src/winetricks -O $HOME/bin/winetricks chmod 751 $HOME/bin/winetricks

Proton 3.16-4 Beta ED
Proton 3.16-4 Beta was patched by redmcg ( github.com/redmcg ) for Elite Dangerous support ; we'll add it to your steam installation.

url : https://github.com/redmcg/wine/releases/tag/ED_Proton_3.16-4_Beta

# on some distributions/installations, instead of ~/.steam/compatibilitytools.d/ # you must use ~/.local/share/Steam/compatibilitytools.d/ # once you extracted this tarball you can check if it worked as expected # using steam steamplay settings (see following screenshot) : # "Proton 3.16-4 Beta ED" (note the "ED") should be listed there. # if in doubt, create one directory, and create a symlink for the other mkdir $HOME/.steam/compatibilitytools.d wget "https://github.com/redmcg/wine/releases/download/ED_Proton_3.16-4_Beta/Proton_3.16-4_Beta_ED.tar.gz" -O $HOME/Proton_3.16-4_Beta_ED.tar.gz cd $HOME/.steam/compatibilitytools.d/ tar zxvf $HOME/Proton_3.16-4_Beta_ED.tar.gz

Now, RESTART STEAM

Open steam settings, select "Steam Play" tab, and chose Proton 3.16-4 Beta ED
(note the "ED" part)


then :

cd $HOME/.steam/compatibilitytools.d/Proton 3.16-4 Beta ED/ cp user_settings.sample.py user_settings.py

disable ESYNC : edit user_settings.py so it looks like this :

user_settings = { #logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name #"WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module", "DXVK_LOG_LEVEL": "info", #Enable DXVK's HUD # "DXVK_HUD": "devinfo,fps", # "DXVK_HUD": "fps", #Use gl-based wined3d for d3d11 and d3d10 instead of vulkan-based dxvk # "PROTON_USE_WINED3D": "1", #Disable d3d11 entirely # "PROTON_NO_D3D11": "1", #Disable in-process synchronization primitives "PROTON_NO_ESYNC": "1", }

Back to the steam client, hit Play on Elite Dangerous, to ensure the WINEPREFIX directory structure is created (game will not start, or not in good shape at this point).

You can instead manually create compatdata/359320/pfx/ if you know its desired location (i ended up doing this to restart from scratch after some failures while putting this guide together).

install dotnet45 and vcrun2017 into WINEPREFIX using winetricks
We'll install dotnet45 and vcrun2017 into ED's WINEPREFIX :

# (one single line, of course) WINEPREFIX="/home/yourusername/.steam/steam/steamapps/compatdata/359320/pfx" $HOME/bin/winetricks dotnet45 vcrun2017

Note that i entirely removed the compatdata/359320/ directory, prior to executing those commands, finally starting steam.

I also had vcrun2012 installed using winetricks (should not be required anymore, to be confirmed).
dxvk >= 0.93
get latest dxvk tarball from https://github.com/doitsujin/dxvk/releases
(i used 0.93)

mkdir -p $HOME/share/dxvk cd $HOME/share/dxvk/ wget https://github.com/doitsujin/dxvk/releases/download/v0.93/dxvk-0.93.tar.gz tar zxvf dxvk-0.93.tar.gz

we'll now inject dxvk's modified DLL files into ED's WINEPREFIX :

cd $HOME/share/dxvk/dxvk-0.93/ # (next line is one single line of course ; steam guide editing still generates fixed-width content at a width made for 320x200 resolutions :p) WINEPREFIX="/home/yourusername/.steam/steam/steamapps/compatdata/359320/pfx" $HOME/bin/winetricks --force setup_dxvk.verb
login failure and CRC error










if you get the login failure error dialog once you hit play on EDLauncher, you have to update a registry key for MachineGuid, the one that's used by the client (wine32 uses one MachineGuid value to start the launcher and wine64 another for the app initially) :

WINEPREFIX="/home/yourusername/.steam/steam/steamapps/compatdata/359320/pfx" ~/.steam/compatibilitytools.d/Proton\ 3.16-4\ Beta\ ED/dist/bin/wine64 regedit

- Navigate to HKLM/Software/Microsoft/Cryptography

- Copy Value for MachineGuid key

- Navigate to HKLM/Software/Wow6432Node/Microsoft/Cryptography

- Paste Value
audio & winecfg
WINEPREFIX="/home/yourusername/.steam/steam/steamapps/compatdata/359320/pfx" winecfg

on the Audio tab, set all i/o devices to pulseaudio (with wine staging you can now use your audio devices directly, haven't tried that yet).

set mode to Windows 7 ; this is required and has to be run as the last wine action you'll take.

If you don't use pulseaudio, well ... you should :)
play & fine-tune game settings
we do not need any custom launch options anymore.

you should now be able to play ED by hitting the play button on your steam application.
(You may get two rundll32 errors, just continue)

I personally had to switch the Mouse pointer rendering mode in game settings from os cursor to '<render something>' otherwise mouse cursor would be semi-hidden while on dark backgrounds.

I first lowered all video features/settings to their minimal values and slowly increased them ; i play at 60 fps using this setup :

Debian GNU/Linux stretch 9.6 (stable flavor)
Linux 4.9.0
intel core i7-2600K cpu @3.40GHz
16GB RAM
GeForce GTX 1050 Ti (4GB)
Nvidia proprietary drivers 415.18.02 (it just works so i did not upgrade it recently, especially seeing some reports of problems from users using later versions).



notes
Mose of those commands could be rewritten in a more compact form, or even scripted to semi-automate the whole thing, just requiring you to confirm dotnet and VCredist installations.

Such a script could probably also "guess" where your Elite installation is, thus not requiring you to edit the script once, but .. as you can see i did not take the time to do it this time.

I may consider doing it if the process changes too often.

For the record, packaged nvidia-driver 390.87-4 (from debian testing) crashes on gane client startup during shaders preparation, while manually installed (binary installer) 415.18.02 works perfectly at 60fps all settings maxed out.
thanks
Thanks to following teams and individuals for making this possible ; we're getting really close to get "transparent" support for GNU/Linux for everybody without the need for manual actions :

- wineHQ

- Vulkan API

- Graphics card manufacturers (i can only speak for NVidia, as i don't use AMD gfx cards anymore)

- dxvk

- redmcg ( github.com/redmcg ) for his wine fork and active contribution

- winetricks

- Valve/Steam for providing a GNU/Linux steam client & integrating wine/proton into it

13 Comments
AZRAEL-II Jan 29 @ 12:05pm 
linux mint 22.1 with an intel Arc A750 GPU, doesn't works anymore (crash on Planetary Generation),tested on Proton 6.3-8, it worked for like... 3 minutes then crash.
Every other proton version (even the GE ones) doesn't work
Lаmdаrer Apr 2, 2022 @ 12:54am 
its just click and play with Proton 7.0-1
dss Jun 29, 2019 @ 6:08pm 
Probably worth pointing out that as from Proton 4.x, the custom Proton and DXVK installations, vcrun2017, and wine-staging are no longer required.

It's not quite ready for the Steam Play whitelist though: you do still need to install dotnet (I used 40 rather than 45, but I don't think it matters), and it's best to use the latest winetricks from Github for this. Although the game ran without the cryptography registry tweak, I did it anyway. It seems more stable since I did, but that may be coincidence.
faa1976 Feb 8, 2019 @ 12:47am 
Thanks for the guide!!! Everything is working. But there is one BUT. My joystick Logitech Extreme 3D Pro in the game is defined as a regular gamepad. The same joystick works correctly in X3 Reniuon under Ubuntu. The wine control utility also correctly identifies this device.
Nattydread Jan 14, 2019 @ 1:17pm 
@cfelkaris, Thanks I'll give it a shot!
celkaris  [author] Jan 14, 2019 @ 8:18am 
Nattydread Jan 14, 2019 @ 3:24am 
Hi, I don't have a steam key for ED, but instead have an account as I was a kickstarter backer. Is there a way to install ED on linux without the steam key?
Blood Vipre Dec 16, 2018 @ 12:04am 
@celkaris : No, I haven`t even tried. Just thought the whole idea was so absalutely right off it. Its a welsh slang saying from where I`m from... Just means that its flipping amazing..... Amazing, that it can be done. So brilliant that its just out of this world.
celkaris  [author] Dec 14, 2018 @ 6:17am 
@Blood Vipre : did it work for you, is that what you mean ?