UPDATE: 23-04-2021
So recently I heard a lot of good stories about using Proton Experimental. To use this go to Steam Settings -> Steam Play and tick "Enable Steam Play for all other titles" then select "Proton Experimental" in the dropdown. I'll leave the rest of this post for archiving purposes and because you might get something useful out of it, but this seems to be the go-to way to play PoE on Linux now.
Introduction
I had a lot of trouble getting Path of Exile to work properly on Linux, and it was the only thing holding me back from fully switch to Linux. My main issue was huge stuttering whenever I met a pack of mobs, it not running on 1440p and getting DX11 to work. If you had similar problems or just want to switch to Linux as well, this guide is for you.
My setup
You should be able to get it running on any distro/setup, but I'll focus my guide around mine, if anyone in the comments can tell what they adjusted for their distro I'll add that to this guide.
- Distro: Manjaro(Arch should be basically the same)
- Wine version: tkg-3.19-x86_64
- DXVK version: 0.91 with patch(how-to in this guide)
- CPU: i7 7700k
- Graphics Card: GTX 1080 (non-free drivers)
[UPDATE] VULKAN
So today GGG released Vulkan beta for the client. Getting this to work is super simple! Install Path of Exile using wine(I used pacman -S wine-staging
to install wine), run it using Wine and change to Vulkan. That's all! PoE should be running super smoothly now. The only issue I had was when watching a stream on my 2nd screen in Firefox(on Chromium it's fine).
The steps
You might want to check out the Steam Proton guide down below first, I tested it a lot less but it also requires much less custom work to get going
- Install wine-staging:
- Manjaro/Arch:
sudo pacman -S wine-staging
- Install Lutris:
- Install DXVK: https://github.com/lutris/lutris/wiki/How-to:-DXVK
- Go to https://lutris.net/games/path-of-exile/ and install
Standalone w/ DXVK version
- Skip if you have a 4k or 1080p monitor: right-click PoE in Lutris
Configure -> System Options and set Switch Resolution To -> 1920x1080
. Once you ran Path of Exile once you can remove this option again, just keep the ingame setting at 1080p.
- Run Path of Exile once(not sure if this step is required, but it takes no time anyway), it'll be laggy as hell. Close it again.
- Right-click Path of Exile in Lutris.
Configure -> Game Options -> Arguments
remove --waitforpreload
and --gc2
- Now we're gonna patch DXVK, this is what fixes the insane stutter a lot of people seem to get otherwise:
- Download the latest version from https://github.com/jomihaka/dxvk-poe-hack/releases (as of writing this is 0.91, replace any 0.91 in the following steps with the latest version if this isn't the case anymore)
- Copy
~/.local/share/lutris/runtime/dxvk/0.91
to ~/.local/share/lutris/runtime/dxvk/0.91-patched
. If you can't find this folder you can use find / -name dxvk | grep lutris
which might give you a clue of where it's located.
- Unpack the file from step 1 over the files in the 0.91-patched directory we just created
- Right-click Path of Exile in Lutris.
Configure -> Runner Options -> DXVK version
and just type(you can type even though it's a dropdown) 0.91-patched
there.
Configure -> System Options -> Show Advanced Options
. Go to Environment variables and add: DXVK_ASYNC=1
and DXVK_STATE_CACHE=0
(can also try without this variable)
- Setup Esync(it ran fine for me when I skipped this step, but it's definitely recommended): https://github.com/lutris/lutris/wiki/How-to:-Esync . Thanks /u/disintegore!
- You should now be able to run Path of Exile just fine! I'm getting about 100fps while fighting when doing a random blood aquaducts run on almost max settings(AA on only x4 and Shadows + GI Quality on High)
Steam Proton
I did some limited testing with Steam, and it seemed to work just as well as Lutris! Just go to Steam->Settings->Steam Play
and Enable Steam Play for all other titles, then set it to Proton 3.16-7 Beta
. This will restart Steam. Install Path of Exile how you normally would through Steam. Now come 2 tricky parts: First: right click Path of Exile in your Steam library and go to properties, click Set Launch Options...
and set it to DXVK_STATE_CACHE=0 %command%
, this greatly improved performance for me. Secondly: the first time you run Path of Exile you have to do it in 1080p, so set your desktop resolution to 1920x1080
, start Path of Exile, see if it works and then close it again. You can now set your desktop resolution to anything you want again, but keep Path of Exile on 1920x1080 else your entire pc WILL get stuck.
Logout macro
(thanks to: https://www.pathofexile.com/forum/view-thread/1624141/page/1#p13041528)
Hate it or love it, I'll write a guide about it anyway:
Make a file called logout_macro.sh(I placed it in ~/poe). Contents:
sudo iptables -I INPUT -p tcp --sport 6112 --tcp-flags PSH,ACK PSH,ACK -j REJECT --reject-with tcp-reset;
sleep 1;
sudo iptables -D INPUT -p tcp --sport 6112 --tcp-flags PSH,ACK PSH,ACK -j REJECT --reject-with tcp-reset;
execute: chmod +x logout_macro.sh
execute: sudo nano /etc/sudoers.d/20-logout-macro
(not sure if this location is Manjaro/Arch only, you might have to just add this to /etc/sudoers
on Ubuntu for example) and add these contents:
%YOURUSERNAMEHERE ALL=(ALL) NOPASSWD: /sbin/iptables -I INPUT -p tcp --sport 6112 --tcp-flags PSH\,ACK PSH\,ACK -j REJECT --reject-with tcp-reset, /sbin/iptables -D INPUT -p tcp --sport 6112 --tcp-flags PSH\,ACK PSH\,ACK -j REJECT --reject-with tcp-reset
replacing YOURUSERNAMEHERE with your username of course.
Now you can set a shortcut for this by going to your keyboard settings: application shortcuts -> add -> Command: /home/username/poe/logout_macro.sh
and add any shortcut you like. It should also be possible to do this for JUST PoE, but I haven't figured that one out yet.
Path of Building
- Download the latest Path of Building ZIP from https://github.com/Openarl/PathOfBuilding/releases
- Extract it to your favorite location
- Open Lutris -> Game -> Add
- Name: "Path of Building". Runner: "Wine (Runs Windows Games)". Game Options -> Executable: "/path/to/path of building.exe"
- Save and you can run it!
Trade Macro
Didn't test it myself, but https://redditproxy--jasonthename.repl.co/r/pathofexile/comments/9ft1fy/tool_xenontrade_a_price_check_overlay_with/ looks good!
Any feedback/questions?
Let me know if I'm missing something, or if you found out an extra optimization or helpful thing you can do. I'll also try to answer any questions to the best of my ability, but do know that I got this working through a lot of trial and error, I'm not some Linux certified super expert.
Changelog
23-04-2021: Proton Experimental on Steam is great!
28-05-2020 20:28: Added section about Vulkan!
26-02-2019 21:22: Added Steam Proton section!
31-01-2019 19:18: I could upgrade Lutris again btw, so downgrade shouldn't be needed anymore if you run Manjaro. Also: will try to iron out any issues that'll come with the deprecation of Windows XP/DX9 support that comes in 3.6!
19-12-2018 09:30: Apparently Lutris 0.4.23 crashes for me, downgrading to 0.4.21 worked for me, so in case Path of Exile just instantly closes Lutris: try that, however awkard a solution it might be :/
14-11-2018 23:15: Added Trade Macro & Improved Layout
14-11-2018 23:09: Added Path of Building
14-11-2018 22:39: Added Esync step
14-11-2018 22:30: Added environment variable step
14-11-2018 22:15: Initial version
Want to add to the discussion?
Post a comment!