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

There was functionality added to the 5.16 kernel (IIRC) that simplifies WINE's waiting on multiple objects. Supposedly it can improve performance for many games, I think I noticed an improvement in ED when I set it up. Not just sure if it's enabled by default in proton nowadays or if it has to be enabled by an environment variable. If you want to google it, it's known as Fsync.

What proton are you using to run the game, last time I tried to run it inside of Steam it didn't seem to work (but that was a long time ago).
 
Well anything has to be better than going from >100fps to <20fps just by taking a few steps.

I'm nearly done setting up my VM. The whole thing has moved on since I tried it, and I think I might need a PCIe USB controller - the B550 chipset only seems to have two hardware USB controllers, which isn't very convenient - I run three hubs as it is!
 
Proton 7.0.4 has Elite Dangerous in it's patch notes:
Fix Elite Dangerous and other launchers not working properly when cloned displays are present.
I use min-ed-launcher myself, but does this mean the stock launcher works better? I recall most issues with it being specific to dotnet versions on wine/proton.
 
Proton 7.0.4 has Elite Dangerous in it's patch notes:

I use min-ed-launcher myself, but does this mean the stock launcher works better? I recall most issues with it being specific to dotnet versions on wine/proton.
Just try, E-D launcher works ok for me for long. SWTOR stopped to work on latest experimental.
dotnet things are solved when you do clean fresh proton game profile. If you had installations like 3-4 years ago there, that will bring many problems.
 
I did a fresh install few days ago with wine-7.15 (on Arch Linux) and there was no need to mess around with dotnet at all.
Bash:
WINEPREFIX=/home/user/Elite wine ./Client-Installer.exe
and then
Bash:
WINEPREFIX=/home/user/Elite setup_dxvk install
Done, works for me.
I did rename the old install first to be a backup, and to save the directory "/home/user/Elite/drive_c/Program Files (x86)/Frontier/EDLaunch/Products/elite-dangerous-64/Win64" which takes a lot of space so I can just copy this directory back to the new install to reduce the amount of download.
But maybe the Steam install is now even more simple do to in comparison, no need for separate dxvk installation for example.
Remember to backup your .binds files before new install.
 
I did a fresh install few days ago with wine-7.15 (on Arch Linux) and there was no need to mess around with dotnet at all.
Bash:
WINEPREFIX=/home/user/Elite wine ./Client-Installer.exe
and then
Bash:
WINEPREFIX=/home/user/Elite setup_dxvk install
Done, works for me.
I did rename the old install first to be a backup, and to save the directory "/home/user/Elite/drive_c/Program Files (x86)/Frontier/EDLaunch/Products/elite-dangerous-64/Win64" which takes a lot of space so I can just copy this directory back to the new install to reduce the amount of download.
But maybe the Steam install is now even more simple do to in comparison, no need for separate dxvk installation for example.
Remember to backup your .binds files before new install.

I did the same in Arch, but using Lutris, and no further shenanigans were involved - didn't use the E: D install script, I use Lutris as just a prefix creator, really. Probably the same stuff you did over the command line, but I'm lazy and prefer the GUI way ;)
 
Yeah I think there was a Wine mono update that made the dotnet things work way better around 7 or so, however with stock Wine I still had some mouse capturing/centering problems in FSS/DSS that forced me to switch to proton eventually.
 
I tried to get Elite Horizons working after a fresh installation of Ubuntu 22.04 LTS, following the instructions on https://github.com/redmcg/wine/wiki/Wine.
I got no further than a blank client window. But process EliteDangerous6 is running.
Perhaps these instruction are outdated?
Pure wine is not good for gaming at all.
At least you need:
1. wine-staging patched
2. dxvk for modern (newer then 6 years old vcards) videos.
Mix it up together, add known configs DB and you got "proton" made by Steam. I would recommend to go with proton unless you exactly know what do u need to config, then wine-staging + dxvk. I use those 2 separated only for Skyrim 32 bits. All else is over proton.

And latest wines/protons already have proper mono bundled. Do not install it unless launcher not showing or you will break it.
 
Last edited:
steam's proton (i generally use experimental) works out of the box with no special configuration. granted that you are using amd open source drivers. anything else and your experience may vary.
 
steam's proton (i generally use experimental) works out of the box with no special configuration. granted that you are using amd open source drivers. anything else and your experience may vary.
The following are the installed packages:

libnvidia-cfg1-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-common-515/jammy-updates,jammy-updates,jammy-security,jammy-security,now 515.76-0ubuntu0.22.04.1 all [installed,automatic]
libnvidia-compute-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-compute-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 i386 [installed,automatic]
libnvidia-decode-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-decode-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 i386 [installed,automatic]
libnvidia-egl-wayland1/jammy,now 1:1.1.9-1.1 amd64 [installed,automatic]
libnvidia-encode-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-encode-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 i386 [installed,automatic]
libnvidia-extra-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-fbc1-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-fbc1-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 i386 [installed,automatic]
libnvidia-gl-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
libnvidia-gl-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 i386 [installed,automatic]
nvidia-compute-utils-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
nvidia-dkms-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed]
nvidia-driver-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed]
nvidia-kernel-common-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
nvidia-kernel-source-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
nvidia-prime/jammy,jammy,now 0.8.17.1 all [installed,automatic]
nvidia-settings/jammy,now 510.47.03-0ubuntu1 amd64 [installed,automatic]
nvidia-utils-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]
xserver-xorg-video-nvidia-515/jammy-updates,jammy-security,now 515.76-0ubuntu0.22.04.1 amd64 [installed,automatic]

Is nvidia open source?
 
Pure wine is not good for gaming at all.
At least you need:
1. wine-staging patched
2. dxvk for modern (newer then 6 years old vcards) videos.
Mix it up together, add known configs DB and you got "proton" made by Steam. I would recommend to go with proton unless you exactly know what do u need to config, then wine-staging + dxvk. I use those 2 separated only for Skyrim 32 bits. All else is over proton.

And latest wines/protons already have proper mono bundled. Do not install it unless launcher not showing or you will break it.
Is it a good idea not to install wine at all on Ubuntu and go directly to the steam window and make the choices there in 'settings'?
These at present are my installed packages:

dxvk-wine32-development/jammy,now 1.9.4+ds1-1ubuntu1 i386 [installed,automatic]
dxvk-wine64-development/jammy,now 1.9.4+ds1-1ubuntu1 amd64 [installed,automatic]
libkwineffects13/jammy-updates,now 4:5.24.6-0ubuntu0.1 amd64 [installed,automatic]
wine-staging-amd64/jammy,now 7.19~jammy-1 amd64 [installed,automatic]
wine-staging-i386/jammy,now 7.19~jammy-1 i386 [installed,automatic]
wine-staging/jammy,now 7.19~jammy-1 amd64 [installed,automatic]
winehq-staging/jammy,now 7.19~jammy-1 amd64 [installed]
winetricks/jammy,jammy,now 0.0+20210206-2 all [installed,automatic]
protontricks/jammy,jammy,now 1.7.0-1 all [installed]
 
Is it a good idea not to install wine at all on Ubuntu and go directly to the steam window and make the choices there in 'settings'?
These at present are my installed packages:
If you use steam, click on game settings and select "compatibility mode". Modern games work best with latest proton, games 5-10 years old want older protons selected (sometimes you want to try different major versions, like 7-6-5-4-3). Steam handles all, you don't need to install anything. However it has 2 versions: steam (native) and steam (runtime). Native will use what you have installed on system, runtime will get own things. Those are related to things like audio/video encoders mostly (games may use it too).

Elite just works - install Steam, run Steam-runtime, install Elite, right click it and select "proton experemental" on compatibility tab.
Some really old (6+ years old) video cards can't run dxvk. Then you should change launch string as
PROTON_USE_WINED3D=1 %command%
This will turn off dxvk.
 
I tried to get Elite Horizons working after a fresh installation of Ubuntu 22.04 LTS, following the instructions on https://github.com/redmcg/wine/wiki/Wine.
I got no further than a blank client window. But process EliteDangerous6 is running.
Perhaps these instruction are outdated?
I'm running Ubuntu 22.04 LTS as well. I just tried the instructions on that GitHub Wiki (which I maintain btw; although everyone is welcome to contribute/update) and they still seem up to date.

I installed winehq-devel by following the instructions here: https://wiki.winehq.org/Ubuntu.

Running wine64 --version shows version wine-7.19

I then ran winetricks dxvk (winetricks having been previously installed with sudo apt install winetricks) and then wine64 <ED_loc>/EDLaunch.exe (where <ED_loc> is the directory path to my ED installation).

I was prompted (with a pop-up) to install Gecko (which I did) and after that everything worked as expected. I could log in and launch the game (the game having been previously installed by the Steam client).

I am using NVIDIA drivers though (which, btw, are not open source); so your problem could be an issue with the AMD driver stack you're using (but that's just a wild punt). (apologies, it looks like you're using NVIDIA too; the same driver I am).

But as others have suggested, maybe try your luck with Proton (which comes with the Steam client). I install Steam with sudo apt install steam. This version of Steam uses its own containerised runtime, against which Proton is compiled. Proton is just Valve's flavour of Wine (with features like DXVK on by default). Valve's focus being to provide the best performance for gaming (where as Wine's aim is more general; for example: running Office applications).
 
Last edited:
If you use steam, click on game settings and select "compatibility mode". Modern games work best with latest proton, games 5-10 years old want older protons selected (sometimes you want to try different major versions, like 7-6-5-4-3). Steam handles all, you don't need to install anything. However it has 2 versions: steam (native) and steam (runtime). Native will use what you have installed on system, runtime will get own things. Those are related to things like audio/video encoders mostly (games may use it too).

Elite just works - install Steam, run Steam-runtime, install Elite, right click it and select "proton experemental" on compatibility tab.
Some really old (6+ years old) video cards can't run dxvk. Then you should change launch string as

This will turn off dxvk.
How do I know that I am running Steam-runtime and not Steam-native?
So far, I am still nowhere. The only thing I get is this familiar blank window in which Elite is supposed to play (the process is EliteDangerous6 and it consumes 34% of CPU).
 
Last edited:
How do I know that I am running Steam-runtime and not Steam-native?
Dunno, I have 2 separated shortcuts.
Runtime one points:

Exec=/usr/bin/steam-runtime %U

Steam native script is like on picture:

1666377239479.png
 
I'm running Ubuntu 22.04 LTS as well. I just tried the instructions on that GitHub Wiki (which I maintain btw; although everyone is welcome to contribute/update) and they still seem up to date.

I installed winehq-devel by following the instructions here: https://wiki.winehq.org/Ubuntu.

Running wine64 --version shows version wine-7.19

I then ran winetricks dxvk (winetricks having been previously installed with sudo apt install winetricks) and then wine64 <ED_loc>/EDLaunch.exe (where <ED_loc> is the directory path to my ED installation).

I was prompted (with a pop-up) to install Gecko (which I did) and after that everything worked as expected. I could log in and launch the game (the game having been previously installed by the Steam client).

I am using NVIDIA drivers though (which, btw, are not open source); so your problem could be an issue with the AMD driver stack you're using (but that's just a wild punt). (apologies, it looks like you're using NVIDIA too; the same driver I am).

But as others have suggested, maybe try your luck with Proton (which comes with the Steam client). I install Steam with sudo apt install steam. This version of Steam uses its own containerised runtime, against which Proton is compiled. Proton is just Valve's flavour of Wine (with features like DXVK on by default). Valve's focus being to provide the best performance for gaming (where as Wine's aim is more general; for example: running Office applications).
As for Proton: alas, it doesn't work. It took quite some minutes to 'process the vulkan shaders', if that is what you mean by things against which proton is being compiled.
The only thing that in the end I get is this blank window in which Elite should be running but which remains blank, even though the process EliteDangerous6 is taking 34% of CPU.
As an alternative, I repeated your steps starting with installing winehq-devel by following the instructions at https://wiki.winehq.org/Ubuntu.
They worked and for the first time in months I managed to get Elite working on Linux again. But where do these instructions mention winehq-devel instead of winehq-stable and winehq-staging?
 
Last edited:
It took quite some minutes to 'process the vulkan shaders',
1. If you have OLD card (6+ years) then you must NOT use DXVK (variable like WINE_USE_DIRECT3D=1 must be set, google exact name, or don't even install dxvk).
2. if you have newer card, you must use dxvk.
3. any case you must use nvidia-proprietary driver. open sourced do not work for games.

For super old cards like I have 8600m from 2007 nvidia drivers are broken too, so can't play on that at all.
 
Back
Top Bottom