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

Have a look at: https://tecadmin.net/increase-open-files-limit-ubuntu/

I'd imagine that you would find it easier to use the nano instead of the vim editor, so replace "sudo vim" with "sudo nano".

I think you'd have to reboot for the changes to take effect.
Hello Jack,

I have done all these things and even more.
It does not change a thing.
It is why I am looking for someone who has installed Ubuntu on the system and who uses Steam to play Elite Dangerous.
Have you done so?
 
using root, look for lines like this or add lines to this file: /etc/security/limits.conf

  • hard nofile 65536
  • soft nofile 65536
edit : stupid forum formatting. the list dot is an asterisk ...

Then reboot. Check ulimit again.

Depending on how ubuntu is setup, the following line may also need to be added to two files (at the end) using root

session required pam_limits.so

At the end of
/etc/pam.d/common-session
and /etc/pam.d/common-session-noninteractive
Done all that and more. My question is: have you yourself installed Ubuntu and run Elite Dangerous via steam?
 
Hello Jack,

I have done all these things and even more.
It does not change a thing.
It is why I am looking for someone who has installed Ubuntu on the system and who uses Steam to play Elite Dangerous.
Have you done so?
No, I'm sorry I left Ubuntu many years ago. I'm on Archlinux, coincidentally the same distro that Valve ended up with.

But really ulimit is your friend, it will tell you what the hard and soft limit on file handles is. The standard way to change this limit is by using a .conf file in /etc/security, often limits.conf but this can be different depending on distro. You can use a * to indicate that it applies to any user, or a specific user name or group name. As has been noted maybe a pam module has to be enabled. I really don't know what Ubuntu does (as it does do some strange things). I'd imagine that you'd have better luck going to a ubuntu specific forum or irc channel to ask how to raise the limit on file handles.
 
No, I'm sorry I left Ubuntu many years ago. I'm on Archlinux, coincidentally the same distro that Valve ended up with.

But really ulimit is your friend, it will tell you what the hard and soft limit on file handles is. The standard way to change this limit is by using a .conf file in /etc/security, often limits.conf but this can be different depending on distro. You can use a * to indicate that it applies to any user, or a specific user name or group name. As has been noted maybe a pam module has to be enabled. I really don't know what Ubuntu does (as it does do some strange things). I'd imagine that you'd have better luck going to a ubuntu specific forum or irc channel to ask how to raise the limit on file handles.
Thanks. Perhaps I should change to archlinux to see how things work out there. But the fact that Elite won't run out of the box with Ubuntu is telling about the atomized world of linux.
 
Last edited:
Thanks. Perhaps I should change to archlinux to see how things work out there. But the fact that Elite won't run out of the box with Ubuntu is telling about the atomized world of linux.
Not meaning to be confrontative, but I'd be inclined to think that if you can't reconfigure Ubuntu to allow more file handles then maybe you'd find Archlinux taxing, as it's very command line oriented.. All distros are more or less the same functionally, but they keep messing with configurations and how to set things up. Some distros tend towards distributing older software, and some towards the bleeding edge, they all have their own distinct advantages and disadvantages.

Just ask your distro how to raise this limit as it seems that the advice we google does not apply for some reason.

Maybe there will be a stone or two more on the road, but I enjoyed Elite for many years on Linux now, though lately I've started using Windows for it, as I want more of the third party utilities integrated into my game. Once you've managed to raise the open files limit, please do check in again if you have more issues.

Edit: And the advice given about how to configure limits.conf really should work, it's how it's always been done.
 
Last edited:
Done all that and more. My question is: have you yourself installed Ubuntu and run Elite Dangerous via steam?
i stopped trying different Linux distros in 1997. I've been using debian since. ubuntu didn't exist then. so no.

setting the max open file limit shouldn't be so difficult. it's weird it's not unlimited in a modern install in the first place. i would figure something supposedly user friendly like ubuntu would not be setup in a way that makes wine not work with games.

at least you have a pretty clear idea on what the cause of your game playing problems are and what needs to change the fix it. just a matter of how since the standard stuff apparently doesn't work.
 
i stopped trying different Linux distros in 1997. I've been using debian since. ubuntu didn't exist then. so no.

setting the max open file limit shouldn't be so difficult. it's weird it's not unlimited in a modern install in the first place. i would figure something supposedly user friendly like ubuntu would not be setup in a way that makes wine not work with games.

at least you have a pretty clear idea on what the cause of your game playing problems are and what needs to change the fix it. just a matter of how since the standard stuff apparently doesn't work.
Indeed. I too would not have expected that a well known distribution like Unbuntu appears to be set up in a way that makes it a problem to play games.
 
Not meaning to be confrontative, but I'd be inclined to think that if you can't reconfigure Ubuntu to allow more file handles then maybe you'd find Archlinux taxing, as it's very command line oriented..
This is not a problem at all, as I am quite used to the command line (and have a shell open at any time) as long as what internet tells me about it is up to date.
All distros are more or less the same functionally, but they keep messing with configurations and how to set things up.
Indeed I fear that this is the case.
Some distros tend towards distributing older software, and some towards the bleeding edge, they all have their own distinct advantages and disadvantages.

Just ask your distro how to raise this limit as it seems that the advice we google does not apply for some reason.
If you read the information in the link below, you will notice the phrase concerning the command ulimit:

'Warning: this routine is obsolete. Use getrlimit(2), setrlimit(2), and sysconf(3) instead. For the shell command ulimit(), see bash(1).'


I think there is something strange going on in the configuration of Ubuntu.
If I use the command sudo sysctl -a | grep fs.file-max, which should show the maximum number of files that can be opened by all processes, the result is this:

fs.file-max = 9223372036854775807

This can't be good.

Maybe there will be a stone or two more on the road, but I enjoyed Elite for many years on Linux now, though lately I've started using Windows for it, as I want more of the third party utilities integrated into my game. Once you've managed to raise the open files limit, please do check in again if you have more issues.

Edit: And the advice given about how to configure limits.conf really should work, it's how it's always been done.
Yes, I thought so too. But reality shows that alterations to this configuration file are not reflected (after reboot) in the command ulimit -n, which stubbornly yields the figure of 4096.
 
Last edited:
What I don't understand is why it's not working for you to reconfigure it...
Nor do I. But it seems that I am the only bloke here using Ubuntu and trying to do things via Steam. A few days ago RedMcg gave me a working solution for Ubuntu, but he only used steam to get the game installed on the PC, however he was not using steam to actually play the game.
 
Nor do I. But it seems that I am the only bloke here using Ubuntu and trying to do things via Steam. A few days ago RedMcg gave me a working solution for Ubuntu, but he only used steam to get the game installed on the PC, however he was not using steam to actually play the game.
I am running Ubuntu 22.04.1 LTS and can run ED with both Proton and winehq-devel.

I never changed my ulimit, the defaults worked for me. By running:
cat /proc/<pid>/limits | grep open

where <pid> is the Steam pid, I get:

Max open files 9216 1048576

So a soft limit of 9216, and a hard limit of 1048576.

Proton uses Esync by default, which uses a lot of file handles. This is likely why vanilla wine works for you (which doesn't use Esync) but Proton doesn't.

Here's a guide that might help:

Or to disable Esync, see (specifically PROTON_NO_ESYNC):
 
I am running Ubuntu 22.04.1 LTS and can run ED with both Proton and winehq-devel.

I never changed my ulimit, the defaults worked for me. By running:
cat /proc/<pid>/limits | grep open

where <pid> is the Steam pid, I get:

Max open files 9216 1048576

So a soft limit of 9216, and a hard limit of 1048576.
The command cat /proc/2739/limits gives:
Max open files 4096 4096 files

I might reinstall (K)Ubuntu and see if that changes things. It is very surprising that the command cat /<pid>/2739/limits gives a so different result from yours.


Proton uses Esync by default, which uses a lot of file handles. This is likely why vanilla wine works for you (which doesn't use Esync) but Proton doesn't.

Here's a guide that might help:

Or to disable Esync, see (specifically PROTON_NO_ESYNC):
 
Last edited:
I am running Ubuntu 22.04.1 LTS and can run ED with both Proton and winehq-devel.

I never changed my ulimit, the defaults worked for me. By running:
cat /proc/<pid>/limits | grep open

where <pid> is the Steam pid, I get:

Max open files 9216 1048576

So a soft limit of 9216, and a hard limit of 1048576.

Proton uses Esync by default, which uses a lot of file handles. This is likely why vanilla wine works for you (which doesn't use Esync) but Proton doesn't.

Here's a guide that might help:

Or to disable Esync, see (specifically PROTON_NO_ESYNC):
A fresh install of Kubuntu 22.04 LTS did the job. For me it is unclear why these limits were there in the first place in my previous, quite fresh installation of exactly the same distribution.
As for the game: via Steam with Proton Experimental, the performance is not impressive. Many frame drops. Winehq-devel does a better job, but still frame drops. And Windows thus far does the best job with no frame drops at all.
Today I changed to Gregorious Eggrol, alas with no improvement. The graphics quality settings in Elite are exactly the same as in Windows, yet frame drops remain.
 
Last edited:
A fresh install of Kubuntu 22.04 LTS did the job. For me it is unclear why these limits were there in the first place in my previous, quite fresh installation of exactly the same distribution.
As for the game: via Steam with Proton Experimental, the performance is not impressive. Many frame drops. Winehq-devel does a better job, but still frame drops. And Windows thus far does the best job with no frame drops at all.
Today I changed to Gregorious Eggrol, alas with no improvement. The graphics quality settings in Elite are exactly the same as in Windows, yet frame drops remain.
if you're not getting effectively windows performance while in steam in linux for elite then you still have something not configured / working properly. A modern-ish graphics card with current software drivers should have mature vulkan support and extremely low overhead in converting dx11 to vulkan in elite. Granted, odyssey does it's hardest to make the game perform poorly, i'm not seeing anything suspicious looking at the VR frame time graphs.

there are too many variables though between your setup and something like mine to draw any conclusions any further on what could be causing your poor performance.

I would suggest though, that you move to a distro that is current and not run something that is intended for long term support of old established software. Linux gaming is something that benefits significantly from running near the bleeding edge still and has seen numerous recent performance related improvements (both in kernel and userspace). You should try something that is a rolling - evergreen dist that apt dist-upgrade (or similar) can just keep you current indefinitely. At the very least something that uses the 6.x kernel and similarly recent versions of mesa and such.

edit: also probably a good idea to look into the kernel boot argument to add to grub to disable all the spectre etc mitigations unless your gaming machine hosts remote users/access as well (and those users hate you). Since those mitigations will impact performance (especially on older hardware) for absolutely no reason at all in single user setups. Most distro built kernels will have these compiled and turned on by default. Such software based mitigations will hurt intel setups pretty significantly from yesteryear's generations.
 
Last edited:
if you're not getting effectively windows performance while in steam in linux for elite then you still have something not configured / working properly. A modern-ish graphics card with current software drivers should have mature vulkan support and extremely low overhead in converting dx11 to vulkan in elite. Granted, odyssey does it's hardest to make the game perform poorly, i'm not seeing anything suspicious looking at the VR frame time graphs.

there are too many variables though between your setup and something like mine to draw any conclusions any further on what could be causing your poor performance.

I would suggest though, that you move to a distro that is current and not run something that is intended for long term support of old established software. Linux gaming is something that benefits significantly from running near the bleeding edge still and has seen numerous recent performance related improvements (both in kernel and userspace). You should try something that is a rolling - evergreen dist that apt dist-upgrade (or similar) can just keep you current indefinitely. At the very least something that uses the 6.x kernel and similarly recent versions of mesa and such.

edit: also probably a good idea to look into the kernel boot argument to add to grub to disable all the spectre etc mitigations unless your gaming machine hosts remote users/access as well (and those users hate you). Since those mitigations will impact performance (especially on older hardware) for absolutely no reason at all in single user setups. Most distro built kernels will have these compiled and turned on by default. Such software based mitigations will hurt intel setups pretty significantly from yesteryear's generations.
I have been playing this game happily nearly four years now, on standard distributions like OpenSuSe en Ubuntu, with the hardware that has not changed since then. Few frame drops occurred with the graphics settings during that time and clearly bleeding edge should not be necessary now.
Four years ago Steam was no more than a means to get the game downloaded. Things went wrong when I started to use its proton and even Glorious Eggroll does not change that. Could be that kernel boot arguments are now such that standard distributions like OpenSuSe en Ubuntu have made themselves unfit for playing the game, but to me that looks improbable.
I wonder what the experience of RedMcG is.
 
I have been playing this game happily nearly four years now, on standard distributions like OpenSuSe en Ubuntu, with the hardware that has not changed since then. Few frame drops occurred with the graphics settings during that time and clearly bleeding edge should not be necessary now.
Four years ago Steam was no more than a means to get the game downloaded. Things went wrong when I started to use its proton and even Glorious Eggroll does not change that. Could be that kernel boot arguments are now such that standard distributions like OpenSuSe en Ubuntu have made themselves unfit for playing the game, but to me that looks improbable.
I wonder what the experience of RedMcG is.

So you had better linux gaming performance playing elite in the past than you are currently getting?

That would just be a massive red flag that you have something setup wrong or are doing things in a way that is no longer relevant (like running the game outside of steam etc). When it comes to playing games in linux thru proton/wine, there should be no area of regression outside of perhaps some old version of wine allowing a game to run that a newer one is not. But if it runs in a current version, it should be running as good or better than any old version. And if you are actually using dxvk with shader caching working correctly and esync/fsync ...it should be very near if not better than native windows depending on the game.

It seems like maybe you have some practices / assumptions (changes to configurations or installation / execution steps) you are using when running the games that are conflicting with how things should be run now that stem from best practices as they existed years ago. Especially if you are having issues with game performance using steam's proton (from within steam on steam's installed games) and think that 'the problem started when using steam's proton to run games'. Since the advent of using steam's proton to run (and install and autoconfigure prefixes) windows games vs rolling your own wine setup has basically been the catalyst for linux being a viable gaming platform (mostly thanks to it's inclusion of dxvk and vkd3d - which is not included in regular wine).

Things installed by steam and run within steam the way valve has designed it to be used with no deviation generally just works. And it works well with elite that way. But the majority of games just work that way ...with the ones that dont being an ever decreasing minority. Assuming your distro is current and hardware acceleration is enabled and working.

You only get into questionable territory when using proton/wine on running things external to steam. Lutris does a semi-good job at making that easier, but you are as likely to come across unusable wine/proton builds that conflict with a particular game there than you are mis-configured options or improperly set environment variables.

But even those games that i dont have thru steam, it is often a better experience to add and run installers thru steam than do it externally (even using steam's proton but thru something like lutris or command line manually). I have GoG's launcher (galaxy app) accessible thru steam to play games from that service (like no man's sky, etc) and it works great. It's all even easier on the steam deck but on my regular pc i have it setup similarly. The less i have to resort to lutris to run non-steam stuff ..the less issues i've had with games bugging out, not running. Just gotta get star citizen to get on board ...though i'm not missing much by that game not running or only running with special hacked versions of the anti-cheat they use.

The only major stickler is epic games. I believe i still use lutris to launch the epic launcher to run games from that service. But i have borderlands tiny tina on that and it runs very well there. Considering my graphics card is a lowly 5700xt. Whenever using a non-steam launched setup, i run winetricks to make sure dxvk and vk3d3 are installed at the latest versions ....otherwise you may find yourself using the stock wine method for emulating dx ...which is slow and crappy.

tldr: it doesn't make sense that steam would be playing elite with worse performance now than you experienced in the game in linux from years ago unless this is your first time playing odyssey in linux. And i would only look into the difference in performance between linux and windows once whatever is causing your linux now vs linux then regression handled.
 
Last edited:
So you had better linux gaming performance playing elite in the past than you are currently getting?

That would just be a massive red flag that you have something setup wrong or are doing things in a way that is no longer relevant (like running the game outside of steam etc). When it comes to playing games in linux thru proton/wine, there should be no area of regression outside of perhaps some old version of wine allowing a game to run that a newer one is not. But if it runs in a current version, it should be running as good or better than any old version. And if you are actually using dxvk with shader caching working correctly and esync/fsync ...it should be very near if not better than native windows depending on the game.

It seems like maybe you have some practices / assumptions (changes to configurations or installation / execution steps) you are using when running the games that are conflicting with how things should be run now that stem from best practices as they existed years ago. Especially if you are having issues with game performance using steam's proton (from within steam on steam's installed games) and think that 'the problem started when using steam's proton to run games'. Since the advent of using steam's proton to run (and install and autoconfigure prefixes) windows games vs rolling your own wine setup has basically been the catalyst for linux being a viable gaming platform (mostly thanks to it's inclusion of dxvk and vkd3d - which is not included in regular wine).

Things installed by steam and run within steam the way valve has designed it to be used with no deviation generally just works. And it works well with elite that way. But the majority of games just work that way ...with the ones that dont being an ever decreasing minority. Assuming your distro is current and hardware acceleration is enabled and working.

You only get into questionable territory when using proton/wine on running things external to steam. Lutris does a semi-good job at making that easier, but you are as likely to come across unusable wine/proton builds that conflict with a particular game there than you are mis-configured options or improperly set environment variables.

But even those games that i dont have thru steam, it is often a better experience to add and run installers thru steam than do it externally (even using steam's proton but thru something like lutris or command line manually). I have GoG's launcher (galaxy app) accessible thru steam to play games from that service (like no man's sky, etc) and it works great. It's all even easier on the steam deck but on my regular pc i have it setup similarly. The less i have to resort to lutris to run non-steam stuff ..the less issues i've had with games bugging out, not running. Just gotta get star citizen to get on board ...though i'm not missing much by that game not running or only running with special hacked versions of the anti-cheat they use.

The only major stickler is epic games. I believe i still use lutris to launch the epic launcher to run games from that service. But i have borderlands tiny tina on that and it runs very well there. Considering my graphics card is a lowly 5700xt. Whenever using a non-steam launched setup, i run winetricks to make sure dxvk and vk3d3 are installed at the latest versions ....otherwise you may find yourself using the stock wine method for emulating dx ...which is slow and crappy.

tldr: it doesn't make sense that steam would be playing elite with worse performance now than you experienced in the game in linux from years ago unless this is your first time playing odyssey in linux. And i would only look into the difference in performance between linux and windows once whatever is causing your linux now vs linux then regression handled.
I changed to Arch Linux, which was an interesting exercise because of all the shell commands that I had to type in. Certainly it is a do it yourself system. But at the end I was surprised to see how fast I managed to get internet, Xorg, nvidia and KDE working.
But the performance of Elite Horizons, using steam is even worse than in Kubuntu 22.10.

If you have Elite Horizons working on your Arch Linux system, I would be glad to know what steps you have taken to get to the point that you are fully satisfied about the game.

I get the impression that something completely different is going on here.
I remember that once I read here that it is not only the power of the graphics card and the configuration of it in linux that decides the performance of the game. The problems always arise at crowded stations. Now the rendering of a few ships more will not exhaust the graphics card, but the amount of information about these ships that has to be transferred over internet will slow down the game.
 
I changed to Arch Linux, which was an interesting exercise because of all the shell commands that I had to type in. Certainly it is a do it yourself system. But at the end I was surprised to see how fast I managed to get internet, Xorg, nvidia and KDE working.
But the performance of Elite Horizons, using steam is even worse than in Kubuntu 22.10.

If you have Elite Horizons working on your Arch Linux system, I would be glad to know what steps you have taken to get to the point that you are fully satisfied about the game.

I get the impression that something completely different is going on here.
I remember that once I read here that it is not only the power of the graphics card and the configuration of it in linux that decides the performance of the game. The problems always arise at crowded stations. Now the rendering of a few ships more will not exhaust the graphics card, but the amount of information about these ships that has to be transferred over internet will slow down the game.

I use debian. And really haven't done much to get things working, but i dont use Nvidia either, i use amd. I haven't purchased nvidia since moving to linux in the late 90's since nvidia has historically never had good open source support. Though back then I used Matrox and 3dfx. In any case, i'm just using my own build of the latest kernel (no outside tree code in use) and open source amd drivers and steam. Everything just works with no additional tweaking really needed (for elite anyway). I dont even play with trying to overclock the gpu or such things ...just whatever the defaults are as set by the amd firmware that gets loaded.

for steam in linux, are you installing a native pkg or are you using some kind of flatpak type installation mechanism? Last i heard there were performance concerns from flatpak steam installs compared to normal native installs.

Do you see performance regressions in solo mode compared to windows or just in multiplayer with other players active in your session?

With nvidia, have you checked to make sure your nivdia drivers aren't doing anything weird like underclocking or limited your gpu where as your windows driver is not ? Do you have any other games to compare and not see linux regressions compared to the same game in windows or is it across the board with any game?

Given your trying different distros and such if you see performance regression across the board, i'd have to think that the linux nvidia driver is either configured to not perform the same as in windows (or simply can't) or you are getting unlucky with your userspace configuration (seems less likely at this point given the variety).

A tool to view gpu clock rate while playing (at the least) should make it apparent if the issue is nvidia driver centric (you would see higher clock rates in windows vs linux). Also, might be good to look at your cpu freq at the same time. Since it's possible to set a cpu governor like powersave/conservative that restricts the cpu frequency. A proper setup should show similar frequencies reached in windows vs linux. That would at least rule out linux being handicapped by the driver or kernel.
 
Ok, I want to record latest thing I dealt with to play ED on my "new" laptop with i5 CPU, double video card and arch linux (so later on google will back me here):
1. On double-GPU need to have special soft to deal with. For Nvidia good thing is "prime-run", to use with steam make game launch option "prime-run %command%".
2. There is "gamemoded" program which boosts things, at least changes CPU government.
Add to /etc/environment the line: "GAMEMODERUNEXEC=prime-run", then replace in steam "prime-run" by "gamemoderun"
However, by default new linuxes on new intels use "intel-pstate". So my CPU has 800 Mhz and 4500 Mhz 2 values only by it. Playing ED in gamemode gives 95C heat.
To fix that I added at /etc/default/grub kernel parameter "intel_pstate=disable" (https://silvae86.github.io/2020/06/13/switching-to-acpi-power/) which gave me maximum 2500 Mhz now but 70C flying space IF this file https://github.com/FeralInteractive/gamemode/blob/master/example/gamemode.ini
modified to use "ondemand" instead "perfomance" and should be placed at ~/.config/

Update:
"intel-pstate=passive" and leaving all default (without gamemode used at all) for kernels greater then 5.11 works good - capped fps and around 80C temperature.
 
Last edited:
Back
Top Bottom