Due to the region lock, I cannot play PoE2 Steam version directly. Below is how I managed to run the official website version with the nonguix containered Steam.
First we need to install the game. The manifest is simply
(use-modules (guix) (gnu packages) (gnu packages base)) (define-public poe2-locales (make-glibc-utf8-locales glibc #:locales (list "en_US" "ja_JP" "zh_CN" "zh_TW") #:name "poe2-locales")) (concatenate-manifests (list (packages->manifest (list poe2-locales)) (specifications->manifest '("coreutils" "wine64-staging" "winetricks" "sed" "gawk" "nss-certs" "grep"))))
Invoke it is as simple as
#!/usr/bin/env bash set -ex exec guix shell \ --container --emulate-fhs \ --network \ --share=/dev/snd/seq \ --preserve='^DISPLAY$' --preserve='^XAUTHORITY$' \ --expose=$XAUTHORITY \ --expose=/sys/class/input \ --expose=/sys/devices \ --expose=/sys/dev \ --expose=/sys/bus/pci \ --preserve='XDG_RUNTIME_DIR' \ --expose="$XDG_RUNTIME_DIR/pulse" \ --expose=/dev/dri \ --share=$XDG_DATA_HOME/guix-sandbox-home=$HOME --no-cwd \ -m manifest.scm
Note that I shared my guix-sandbox-home
with it, because I'm using Steam's Proton Experimental to play it. Download the installer from the official website and put it under this directory.
Inside the container,
WINEARCH=win64 winecfg
To create prefix with 64-bit architecture (which is by default, but just in case). We don't have to change anything in the winecfg
, and the window can be closed immediately.
According to (Lutris 2024) , we need riched20
and usp10
from winetricks
. According to (PathOfExileWiki 2016), the former is "a library required for the launcher window to appear correctly", and the latter is "a library to fix Unicode symbols like the newlines not displaying correctly". I believe these libraries are only needed for the real launcher, so install them at any time you like, just before running the launcher (which start downloading things). Install them is as simple as winetricks <the-library-name>
. Note that you can also put the libraries that winetricks
is trying to download into the cache directory it was trying downloading to, if you happen to download them from other sources.
Then
wine PathOfExile2Installer.exe
It will pop up the installer, and if you click option it allows you to choose where to install the game. I'd recommend pick a directory path that contains no space and no parentheses. After that, it will unpack the game launcher into that path and probably start it.
The game launcher will start the actual downloading process after downloading a start-up chunk (around 20MB). That is around 80GB, but the CDN is really fast on my site.
A caveat I met is that if you restart the main executable again, it will somehow download things to the current directory, which is very likely not what you want. However, all downloaded stuff can be just moved into the actual game directory (or anywhere you want I believe), so It's not a big problem except re-download a little bit.
After the long-wait, the game downloading process finally finished. Don't launch the game immediately. As I said above, I recommend to use Steam's Proton Experimental to play the game.
Open Steam, and Click "Add a Game", "Add a Non-steam Game…" and choose the PoE2 shortcut to create a launch option.
The actual launch option is a little bit different though.
- In TARGET, put simply
PathOfExile.exe
. - In "START IN", put
/home/<user>/.wine/drive_c/path/to/poe2
- In Launch Option, leave it empty or put anything you want.
The last thing is, go to this launch option's "Compatibility" page, toggle on "Force the use of a specific Steam Play compatibility tool", and choose "Proton Experimental".