Please update esync versions to fix Path of Exile DX11 support

I’m a big fan of the Lutris project. Recently, I had some troubles solving the compatibility issues with Path of Exile (PoE). To solve it, I downloaded wine, applied staging patches and the specific “easy CoInitialize(Null)” fix to make a custom executable and have it running.

Since it worked, I wanted to share my build with other users, but I didn’t put the beloved ESYNC patches in my build.

Since I can’t clearly define where are the source codes or in which order you have to patch them (if there’s any), I simply tried applying the PoE patch to Lutris’ existing Wine repositories.

In specific, I went on this “esync-staging-pba” branch. I just downloaded it, tried to apply the required patches, but all of them were already there. To confirm, I compiled it locally and tried running the game with “system Wine”. The game worked as before.

I tried running the game with the available esync-3.15 runner on Lutris, but somehow it doesn’t contain the patches. (WIC factory error, art/textures… error)

I’m here to request that someone from the Lutris team please compile that branch (or similar) and release esync-3.16 so that the Path of Exile installer can be updated and have all the users benefit from playing the game with DX11, meaning DXVK support.

Thanks in advance.

If anyone’s curious:
Executable: PathOfExile_x64.exe
arguments: --nologo --nodx9ex -gc 2
optional arg: --waitforpreload (helps have the game running more smoothly from the beginning, costing a bit more loading time)
textures set on Medium to prevent memory problems (slowdown after long play time)
env. vars. basically WINEESYNC=1

1 Like

Thanks for the Lutris team for quickly compiling the new esync builds and adding them to the list. However, I’m still not able to fully play the game. The WIC Factory error is 100% gone, but the texture error is still there as soon as you load the game up:

Selection_065

I’ve tested every single esync 3.16 version available and checked that both windowscodecs patches were applied. Namely
“0001-windowscodecs-Add-support-for-32bppRGB-32bppRGBA-and” and “0002-windowscodecs-Fix-32bppRGB-to-32bppRGBA-conversion”

The patches seemed applied line for line, but line 873 was slightly different than what the patches have. I checked on my locally compiled version and the same variation is present there, so the error doesn’t seem to involve the patches not being applied.

At this point, I suspect the compile process may be a little bit different, causing that error to happen in Lutris’ Wine and not mine.

My build process is very simple and flagless (folder names supressed)

  1. Configure an esync64 folder with “configure --enable-win64” and compile it
  2. Start an LXC container to compile 32 bit binaries
  3. Configure “esync32-tools” with “configure” and compile it
  4. Configure “esync32” with “configure --with-wine64=esync64 --with-wine-tools=esync32-tools” and compile it
  5. make install with the container, shut it down
  6. make install the 32 bit version, make install the 64 bit version (esync32 folder and esync 64 folder)

I remember installed libva-dev and oss4-dev packages as extra, but there were still a couple packages I left unattended, mostly because they were legacy packages (and slightly hard to obtain source codes of in my current setup).

It would be great if someone else could confirm these esync3.16 packages work with their PoE or its just something on my side.

Thanks once again.

1 Like