Hello All
Written: Aug 31 2018
The new Proton wrapper from steam play is pretty amazing, thank you valve. If you want to run ESO in linux using this software but are using the standalone (AKA non steam) version. Then this is how i did it and it works perfectly.
Please make sure you have all the minimum requirements for Proton 3.7 met. Like Nvidia driver 396, Ubuntu 18.04 or equivalent under the hood. And ofcourse make sure Proton is installed by activating steam play beta etc.
Step 1: Proton will naturally go looking for steam, so you need to trick proton by faking steam. Done like this.
cp -r /home/dje4321/.steam/root/steamapps/common/Proton\ 3.7/dist/share/default_pfx ~/.proton
- this copies the default proton prefixes and places a copy of them in your home folder call ".proton"
- Adjust the names of the folder appropriate to your setup.
Step 2: Launching a .exe file with environment variables appropriate for eso64.exe
PROTON_NO_ESYNC=1 mesa_glthread=true vblank_mode=0 STEAM_COMPAT_DATA_PATH=/home/remi/.proton/ /media/remi/Games/Steam/steamapps/common/Proton\ 3.7\ Beta/proton waitforexitandrun /media/remi/Games/Zenimax\ Online/The\ Elder\ Scrolls\ Online/game/client/eso64.exe
- Steam_compat_data_path is the variable that tell proton where your steam is .. in our case ~/.proton
- PROTON_NO_ESYNC=1 mesa_glthread=true vblank_mode=0 are the known working launch option taken from
here.
- Again adjust the file paths and folder to your system
Step 3: The local client files will get saved here, this is where you do your addons and stuff.
/home/remi/.proton/pfx/drive_c/users/steamuser/My Documents/Elder Scrolls Online/ESO_BUILD_BRANCH
Step 4: Make sure you launch the ESO launch in the same environment but independently, this is to let the ESO launch do it's thing like updating the game.
STEAM_COMPAT_DATA_PATH=/home/remi/.proton/ /media/remi/Games/Steam/steamapps/common/Proton\ 3.7\ Beta/proton waitforexitandrun /media/remi/Games/Zenimax\ Online/Launcher/Bethesda.net_Launcher.exe
Written September 7th 2018
After more tweeking and research. ESO on linux has improved even more.
Here are some good links to ensure your system is up to date.
Level1tech a good place to start for gaming on linux in generalSteam community Proton testing grounds Check if your game is workingAnother community Proton compatibility websiteYet another resource for game compatability - LutrisOfficial Steam Proton Minimum Requirements -- IMPORTANT -- Like Seriously!LLVM package site, not listed on the requirements but it's needed.How to get Vulkan Support for older AMD cards -- Courtesy of @kenjitamura The Ubuntu Kernel update utility, Update yourself to the latest stable kernel.
My personal update, ESO is running flawlessly now with no tweeking launch parameters, And my performance is better by about 5% than it was under windows. And the visuals are better as well, see my description in another post about that above.
Written Sepember 26th 2018
I started running wine 3.16 staging with the new DXVK 0.80 and got ESO to run with this command line.
DXVK_HUD=fps,version WINEPREFIX=/home/remi/.proton/pfx/drive_c /opt/wine-staging/bin/wine64 /media/remi/Games/Zenimax\ Online/The\ Elder\ Scrolls\ Online/game/client/eso64.exe
The performance is WAY better.. I got about a 10-30FPS improvement but the best part is that the FPS fluctuations in general are much more stable. My performance in linux now absolutely out performs what i was getting in windows. This is not a PRO linux statement but rather just a reflection about how crappy my windows installation had become after so many years.
That command line above is for the standalone/Non-steam version of ESO. But you can get the same sweetness for Steam ESO as well if you just run Windows steam through Wine. With a command something like.
env DXVK_HUD=fps,version WINEPREFIX=/home/remi/.wine/pfx/drive_c /opt/wine-staging/bin/wine64 /media/remi/Games/Steam/Steam.exe
Pretty darn sweet. I hope my command line is understandable, if not please ask and i will clarify.
Written October 3 2018
This is probably going to be my last update on this thread. After about a month now of playing and learning how to manipulate Proton along with Wine and DXVK, i've learned you can pretty much mix and match those three layers just about any way you want, And using the windows version of Steam (launch through Wine usually) is a thing of the past. There is a few Environment variables i want to highlight here.
STEAM_COMPAT_DATA_PATH=
This variable for proton is what wine is calling a Prefix (WINEPREFIX=). If you want to use proton to launch a non-steam game you are going to have to tell proton where it's fake C Drive is. As an example here is how i launched the Standalone version of ESO on my PC.
STEAM_COMPAT_DATA_PATH=/home/remi/.esopfx/ /media/remi/Games/Steam/steamapps/common/Proton\ 3.7\ Beta/proton waitforexitandrun /media/remi/Games/Zenimax\ Online/The\ Elder\ Scrolls\ Online/game/client/eso64.exe
Same result using WINE instead of proton.
WINEPREFIX=/home/remi/.esopfx/pfx/drive_c /opt/wine-staging/bin/wine64 /media/remi/Games/Zenimax\ Online/The\ Elder\ Scrolls\ Online/game/client/eso64.exe
WINEPATH=
Proton comes with a older version of WINE, but you can instruct proton to use whatever version you want by telling it where you WINE binaries are located. As an example with Hellblade: Senua Sacrifice, this line is entered as a launch parameter from the steam game properties.
WINEPATH=/opt/wine-staging/bin
DXVK_HUD=fps,version
This is a DXVK environment variables that generates on HUD on screen telling you what version of DXVK you are running and what your FPS are. This is useful imo. Here is an example i use for Hellblade again. Once again entered into the game properties as launch options from steam.
DXVK_HUD=version %command%
It's all pretty darn cool in my opinion. Here is one last example using all the above variables. Running a non-steam game but you wan to keep that steam overlay (friends list etc), And you rather use a more updated version of Wine, And you want to inject a FPS counter that you can trust.
env STEAM_COMPAT_DATA_PATH=/home/remi/.esopfx/ DXVK_HUD=fps,version WINEPATH=/opt/wine-staging/bin /media/remi/Games/Steam/steamapps/common/Proton\ 3.7\ Beta/proton waitforexitandrun /media/remi/Games/Zenimax\ Online/The\ Elder\ Scrolls\ Online/game/client/eso64.exe
remilafo
ps: Next i will be working on implementing and trying things like SweetFX and reshade.me to enhance the visuals of ESO, but historically these wrappers have MAJOR issues with Wine.
ps update: Sweetfx doesn't work. It conflicts with DXVK. Im sure it can be figured out but given the visual improvement running VULKAN (via DXVK) i don't think sweetfx is needed.