Steam Play Beta. All Games are available for Download to Linux Steam Client


(Whitehound) #21

Thank you.

I did come across this fix and another one, but decided not to mess up my PulseAudio configuration, because it works just fine with normal WINE. My guess is that one of the patches Valve applied for Proton is a still a bit experimental. I’m staying with my own WINE version for now.

Update: i’ve tried some of the fix suggestions, but only one actually worked. Adding tsched=0 in /etc/pulse/default.pa fixed it for me.

...
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect tsched=0
...

(Gharim Turen) #22

Oh yes the good old tsched just like in the beginnings from pulseaudio. Some bugs will maybe never fixed. :wink:


(Whitehound) #23

I was wondering if this might be because of Proton doing some high priority stuff on it’s own, thereby messing with PulsAudio. I do remember the tsched parameter, too, and had assumed this got solved some time ago. Vanilla WINE has no issues with sound. I haven’t had any issues from WINE 3.0 to 3.15 and Proton is base on 3.7.

By the way, I’ve made an issues thread at GitHub for EVE Online and listed the current fix with “Windows XP”-mode there. Hopefully this accelerates things a little bit and leads to EVE getting full support by Valve and a whitelisting in the future.


(Gharim Turen) #24

The official supported applictions doing no other than executing an script during the installation process (these *vdf scripts) i think. So it should not be a great problem to add EVE to the supported applications. Without feedback will that not happen i hope Valve will fix this, because she offers EVE Online as windows version so why not as linux version (runnig with Proton) either?


(Kadesh Priestess) #25

Has anyone measured advantages of using proton over stock wine (which is capable of running eve in dx11 mode, as far as i understand)? FPS? Some effects showing up, which are not drawn with stock?


(Whitehound) #26

Proton is based on WINE 3.7 and uses DXVK for DirectX11, plus some additional patches. So it’s as fast as WINE with DXVK, and a lot faster than WINE without DXVK. DXVK implements DirectX10/11 with the help of Vulkan, which makes it faster than normal WINE, because normal WINE uses OpenGL for it. Vulkan also reduces the CPU usage by a lot.

From a first test could I see that Proton renders EVE with DirectX11 without any glitches and with AA. Just as I’m used to from using my own WINE with DXVK myself.

Settings all set to high with AA at high and window blur enabled.

WINE 3.15 (DirectX11 over OpenGL) 56 fps.
image

WINE 3.15 with DXVK (DirectX11 over Vulkan) 107 fps.
image

Steam Play / Proton 3.7 (DirectX11 over Vulkan) 108 fps.
image

As you can see is Proton identical to WINE+DXVK. What surprised me is that normal WINE now actually runs with AA enabled, which previously caused the screen to turn black. This apparently has been fixed at some point.

WINE 3.15 (DirectX9 over OpenGL): 103 fps.
image


Not able to login with linux launcher
So what's about Vulkan?
EVE Launcher build 1385477 beta release for linux
Installing EVE with Wine ( Guide )
(Kadesh Priestess) #27

Thanks for the screenshots!

Yeah i understand backend changes (finding DXVK on github and vulkan fixes for nvidia drivers is what led me here).

Could it be possible that there’s some framerate cap in play for opengl, but not for dxvk (there were some issues related to eve’s “interval” setting in dxvk repo)? Graph looks like it’s capped at 60, and only last few seconds it drops below that value.

What’s framerate of eve in dx9 mode over opengl on your rig (that’s the mode I am using to play eve atm)?

Almost 2x framerate boost over stock wine looks insane. I hope debian testing/unstable rather sooner than later gets necessary prereqs - which is mostly drivers, they are 390.77 at the moment.

Proton prereqs mention llvm7 - does it mean that it has to be installed, or be installed and be default on the system?


(Whitehound) #28

I’ve added a picture for DirectX9 above.

No, the 56 fps for DirectX11 over OpenGL was not capped. The problems with DXVK and vsync was that he didn’t support the different interval settings at first and only later implemented it, and also a bug in the Nvidia driver, which got triggered under various conditions and often when vsync was disabled. But DirectX11 over OpenGL was always fine and working. The only issues it had was with AA and that it produced a black screen. This later turned into a missing or broken GUI as WINE 3.x moved on and now apparently has been completely fixed.

If you want the best experience then you need Nvidia 396.54.02, because it has all the fixes in it and you’ll have no further issues, no visual glitches and no hang ups or freezes. Nvidia has been pushing their Vulkan driver with the help of DXVK and many of the games and issue reports by players. So it has seen a lot of little fixes and updates.

I don’t know why Proton requires llvm7. I’m guessing it’s a build condition. I don’t have llvm installed as package (although I have it installed separately). It seems unusual to require a beta of llvm and not just simply the last stable version, which would be llvm6. I compile WINE myself and use GCC for it. DXVK is compiled with MINGW-GCC as per requirements. When you install the Linux Steam client will you likely not need llvm.


(Kadesh Priestess) #29

Thanks. Having dx9-level performance while using dx11 sounds awesome.

As for llvm - i thought they are using it to compile shaders or some other intermediate representation stuff. And it’s listed as runtime requirement, not as build dependency.


(Whitehound) #30

That would be for AMD probably. Nvidia provides their own shader compiler with the driver. Nvidia’s shader compiler may also be based on llvm, but since it’s included with their proprietary driver is there no need to worry about it.

The reason why DX11/Vulkan is as fast as DX9/OpenGL is because most of the features of DX11 have been implented directly as shaders in Vulkan. So most of the compatibility work is done on the GPU and not by the CPU. This then has the effect that it’s very fast and also explains why it needs so little CPU.


(Erasmus Grant) #31

Thank y’all so much, I got it working thru Lutris. I am currently in Transition from one location to another. I use Pop!_OS and but I am tempted to try LMDE or Debian in general. I am gonna try to get this to work on steam when I get to my next location. @Whitehound @Gharim_Turen and few other people need to be drafted(voluntold) to ISD:Star at least on the Linux side of things. Like to see a master linux thread/post that only few trusted people can touch that has all the different ways to get linux to work on all the different distros. @CCP_Falcon @CCP_Guard @CCP_Snorlax


(Whitehound) #32

You mean working for free and for Falcon? No, thank you. :smile:

Apart from this is it too early to say how stable this will all be. If we’re lucky then Steam / Proton may be the way forward. But right now is it still a few too many steps that users need to make before it works. Distros will need to pick up the new Steam as well as the more recent graphics drivers. It may work well for some of us, but others are bound to have issues and they won’t be so lucky. It’s still experimental.

Anyhow, back to Steam… The latest Steam is causing a bit of trouble. If anyone runs into it then here is what you can do to fix it.

Issue: The client won’t update the launcher properly, giving an error message regarding some failed or missing server certificate. Steam will also try to ask for an email address and wants to add a Steam account to the EVE launcher now.

My guess is this new issue is part of the progress, which Steam is making with Proton and the game.

Fix: Uninstall the game through Steam, and reinstall it again. Apply the work-around of setting Proton / WINE into “Windows XP”-mode (see steps 8-11 here).
When Proton has received a new update then make sure that you don’t have any processes of the old version left running. Check for the typical suspects such as “explorer.exe”, “winedevices.exe”, but also “eve.exe” and “execfile.exe” and terminate these should they still linger around. (A logout or a reboot will get rid of these, too.)

Result: The EVE Launcher will now start again, and show a new, first account by the name “Steam::12345678” (the number is random). One can add existing accounts again and start them as usual.


(MorsMortis Shiyurida) #33

I have tried to follow your directions but I cannot seem to find the /tmp/proton_run file to modify. I did install Steam utilizing snaps though so that may be something different. I do not seem to have the “/pfx/” to setup for my WINEPREFIX. I also don’t have any other folders within my Proton folder to be able to change. I have been able to install EVE but everytime I try to run it I get the little box that pops up and then immediately goes away. Also, I do have “wine 3.14” installed and not 3.7 if that makes a difference. Any suggestions?

erik@viking ~/snap/linux-steam-integration/common/.local/share/Steam/steamapps/common/Proton 3.7 Beta $ ls
filelock.py proton toolmanifest.vdf version
LICENSE proton_dist.tar.gz user_settings.sample.py


(Whitehound) #34

You can try using find and see if anything shows up. Try find ~/ -name wine and find ~/ -name eve.exe. The first should tell you where you have a file called wine installed, which may indicate where your WINE binary is. The second one searches for the EVE executable, which should tell you where the game was installed. From there might you be able to deduce which WINEPREFIX to use and where Proton keeps its WINE executables.


(Murdo Ranulfson) #35

This worked perfectly. I’m at 150% zoom and getting ~100 FPS in this empty system with DX11 over Vulkan with Steam.


(MorsMortis Shiyurida) #36

@Whitehound thank you. I was able to install Steam and find the folders and make the modifications as you suggested. The launcher seems really laggy and will close at times. After it closes it will not let me rerun the launcher. I have to restart my system in order to get the launcher to come back up. I could have thought that I saw something about launcher memory but I cannot find it any longer. Any suggestions?


(Whitehound) #37

Try setting WINEDEBUG=-all and DXVK_LOG_LEVEL=none as environment variables. This will reduce the amount of output, which in return seems to make the launcher run better.

When you have to restart the system, try to check if there are WINE processes already running and kill those. It sounds like they’re hanging. If so then killing them will save you a whole reboot.


(Whitehound) #38

A fair warning to all using Steam Play / Proton:

Games such as Overwatch and Battlefield have banned players for using Steam Play / Proton to play their games.

The suspect seems to be DXVK and they are currently implementing a fix to address the issue. See here and here.

So be careful which games you play with it.


(MorsMortis Shiyurida) #39

@Whitehound. So to do this I would just type this into the shell? Would that have it save or would I need to modify my .bashrc to have this setting stick? Also, when the launcher freezes and I cannot get it to close all the way I had to “$ ps aux” and look for anything that shows the EVE Launcher. Is there a better way to do this? As you can tell I’m not too savvy when it comes to this but I’m doing it none the less.


(Whitehound) #40

Those are called environment variables. They exist on most modern operating systems. I suggest you read into them.

When you’re in a shell then you can start Steam as follows:

shell$ WINEDEBUG=-all DXVK_LOG_LEVEL=none steam

When you’re starting Steam from the desktop through an icon, also known as a launcher, then edit the launcher properties and use the env command to start Steam. This is an example for Xfce4:

/usr/bin/env WINEDEBUG=-all DXVK_LOG_LEVEL=none /usr/bin/steam %U

To kill hanging process can you use the pkill-command. It works like the kill-command, only does it take a name and kills everything that matches the name. You can try pkill exefile.exe or pkill QtWebEngineProcess.exe or slightly more aggressive pkill .exe.