Proton: Path of Exile (238960)

Created on 22 Aug 2018  ·  311Comments  ·  Source: ValveSoftware/Proton

It gives a dialog saying "Failed to create WIC factory" followed by a bunch of reference count errors. The behaviour matches this bug in the Wine bug tracker.

Game compatibility - Unofficial

Most helpful comment

Let's not turn this into a support forum for PoE on all different versions of Wine. This is about Proton...

All 311 comments

The game comes further with DX9 but then has a lot of other issues, and bad performance.
From the winehq.org bug it looks like there's only very small changes needed to get the DX11 version running fine!

It runs with DX9 but performance is indeed bad and it crashes frequently. In one hour-long session I had it crash four or five times. I've tried getting the DX11 version work on Wine and DXVK but after applying that CoInitialize patch it freezes at a black screen on startup. I was hoping Proton might do something differently and make it work.

According to this it only needs one line change in wine nowadays, not sure how much it affects other games

Note that PoE isn't whitelisted so I doubt if we get any official support just yet.

I was recently ironing out a process to get PoE running for more people and posted those steps here

The gist is that PoE runs great with DX11 (DXVK) with a shader patch. Right now Proton is just running it in DX9 mode that doesn't work for very many people. We need to dig into this new configuration they've provided and figure out how to get DXVK enabled and how to inject custom patches.

I realize it isn't whitelisted but was hoping to raise interest in the game by opening the issue. Maybe if we can figure out the problem here it will result in the game being whitelisted sooner.

PoE does not run great with DX11 for me. In fact it does not run at all. The furthest I've got is avoiding all the outright crashes on startup, but the game only hangs at a black screen (it actually only renders a single black frame), eating 100% of CPU time. I don't know if it's trying to load something in the background but even after an hour of waiting it hasn't gotten anywhere. Using Lutris, PlayOnLinux or plain Wine does not make a difference. The DXVK async patch does not make a difference. Trying to use Wine's builtin D3D 11 implementation errors out with "Failed to create deferred context".

I've tried using WINEDEBUG, DXVK_LOG_LEVEL, even gdb, but so far I'm completely clueless about what's wrong. If you have any ideas for what I should check I'd love to hear it.

@DataBeaver What is your OS, graphics card model and graphics card driver version?

Debian unstable, GTX 980, 396.51. The Lutris DXVK howto mentions that 396.45 is missing a Vulkan extension; I figured if that was the case with this version as well, DXVK would simply fail to initialize. I've tried a few different builds of Wine 3.13 and 3.14, both staging and not. Staging does not seem to make a difference as long as the CoInitialize patch is present.

@DataBeaver That is a Maxwell chip that supports Vulkan & DX11 so there's likely a software/configuration problem somewhere. Are you using a version of the driver that comes with the NVIDIA control panel? If so, does it indicate any problems?

You mean nvidia-settings? I have it installed and can't find any problem indicators. I can also successfully run vkmark (https://github.com/vkmark/vkmark) so Vulkan appears to be working.

My experience with PoE DX11 (AMD Radeon RX470) and wine is very good with following prerequisites applied:

  • Must have: WIC patch (CoInitialize)

  • Variant 1: DXVK 0.70 - strong shader compilation stuttering at first until cache ready, but then very stable and good performance (with occasional shader compilation when entering new areas)

  • Variant 2: Patched DXVK 0.65 with shader hack (https://github.com/jomihaka/dxvk-poe-hack) to avoid stuttering - some glitches and flickering during compilation but no stuttering and good performance
    DXVK_USE_PIPECOMPILER=1 DXVK_USE_PLACEHOLDER_SHADERS=1 DXVK_HUD=1 WINEPREFIX=/mnt/storage/wine/poe wine64-staging-3.13 PathOfExile.exe --nologo

I could be interesting to port the hack to the new DXVK 0.70 config system and maybe allow to activate it for very stuttering games when no cache is ready.
EDIT: Or a much better and simpler implementation as suggested here https://github.com/doitsujin/dxvk/pull/564#issuecomment-413160155

I downloaded the Unigine Heaven benchmark (https://benchmark.unigine.com/heaven) and it works with both DXVK and Wine's builtin D3D 11 support. So whatever the issue with Path of Exile is, it seems to be specific enough to affect only some programs but not others.

By applying the patchset d3d11-Deferred_Context from wine-staging Wine's builtin D3D 11 implementation now behaves the same way as DXVK. In other words, it hangs on a black screen at startup.

After yet more staring at logs and scouring the web I found out that the windowscodecs-* patches from wine-staging are also necessary. The game now launches up to the login screen at least, with both DXVK and Wine's D3D 11. I'll report when I've had time to actually play it and test stability and performance.

Why the Lutris approach didn't work for me when it does for many others is still a mystery.

I don't even get the dialog to pop, and DX11 should be possible to use based on my LLVM install.

I ran PoE under regular old Wine a couple years back, but it involved a lot of tweaking. Excited to figure out how to get it working again inside Proton.

Let's not turn this into a support forum for PoE on all different versions of Wine. This is about Proton...

I didn't have a lot of time to test stability yet but I ran a few maps and didn't see any problems.

I did some more investigation to find the minimal set of changes required to get the game working. It boils down to this (with Wine 3.14 as a starting point):

  1. The CoInitialize patch. I created my own version which handles the call in a smarter way: https://gist.github.com/DataBeaver/5e1f1a256c7f1abb339831fc2b72a5db

  2. windowscodecs-32bppPRGBA from wine-staging. It pulls in most of the other windowscodecs-* patches as dependencies, but I verified the game does not work without this particular patchset.

  3. DXVK. Wine's own D3D 11 lacks support for deferred contexts, but using DXVK bypasses this issue. The placeholder shader hack is optional.

Looking at the Wine source tree included in Proton as a submodule, it does not include either the CoInitialize or windowscodecs patches. The base Wine version is fairly old (3.0-rc1 according to git tags) so I don't know if something else would be required on that version as well. DXVK is included and although it's version 0.65 I have no reason to believe it wouldn't work.

I downloaded the proton source and applied the patches that @DataBeaver is talking about. After the CoInitialize and windowscodec patches the game works flawlessly with DX11. However the 0002 winecodec patch failed but after applying it manually it wasn't a problem.

@c0r73x any chance you could share your Proton dist build? I'm trying to build it with the PoE patches myself, but I'm hitting build errors with winegcc...

@c0r73x thanks, I can confirm that works for me too. Appreciated!

@c0r73x Thanks for sharing! Makes testing easy.

Unfortunately that build is only partially successful for me.

PoE will load and run with DX11 (DXVK) now, but the coinitialize patch isn't working as well as the old replacement shaders patch. I get lots of stuttering and freezing with this in Steam, whereas the shader patch has PoE running near flawlessly in Lutris+DXVK for me.

EDIT: Tried again with different driver version but still no luck with the shader stuttering. I'm also getting some odd graphics behavior with the in-game item filter and atlas now.

EDIT: The other version (shader patch + DXVK + Lutris) is otherwise still working great for me. I can't figure out why the Proton configuration has such worse performance.

@tainium did you try to disable steam overlay?

@c0r73x Yes.

@tainium Ok, I applied the shader patch to dxvk in proton and you are right. The game runs much better with it. The microstutter form playing necro with alot of pets is gone :p

Here is the patched dxvk files if anyone wants it https://mega.nz/#!nnBylIpB!0KNQwsTf48V861IoFGPBtbZ_sZtX4LRDSA3FdEampnM

@c0r73x Thanks for the new patch, will test it ASAP. Yeah, its like the coinitialize patch definitely enables DXVK and better performance than without it, but the full shader patch takes performance a step up.

@c0r73x Confirmed, that's a huge improvement - thanks! Since you have builds working, any chance you could comment on #494? Then I can stop bugging you for builds :)

As confirmed by @DataBeaver the game needs the windowscodecs patch series from staging to work, probably because textures are stored with some uncommon image formats in the data files. I'm not sure if CoInitialize is really needed: I see the same crash with or without it if windowscodecs is missing.

With DXVK and windowscodecs, I can play sessions as long as multiple hours, memory usage settles around 2.7G RAM. The original wined3d with DX9 goes up above 3.5G memory usage (in less than one hour), then starts missing textures and text characters, then usually crashes in the loading screens. So IMHO, falling back to DX9 support is no option.

Proton should include the windowscodecs patch series. I'd prefer if these would be upstreamed to vanilla wine because it is a quite big patchset and would make rebasing Proton to later wine versions more difficult.

Well it was fun while it lasted. Then Delve introduced fancy new graphics features...

I had PoE running well in both Lutris w/DXVK and SteamPlay before the update. Both environments updated the game but then failed to launch. The game starts up with the gear logo but then (mostly)freezes and never loads any actual 3d graphics. I have to either remote in to my machine and kill the process or do a hard reboot. So far none of the launch options seems to make any difference.

Ideas?

I'll try cleaning out any artifacts of our patches to test with a clean environment and then perhaps re-patch.

Same for me. I was planning to start the league on Windows anyway, so I'll do some more debugging in a week or two unless someone beats me to it.

@tainium Pressing Ctrl+Alt+Esc should bring up the skull mouse pointer to kill a window.

It will at least launch in DX9 mode, if you can get there. Deleted these two areas to get back to DX9:
steamapps/common/Proton*
steamapps/common/compatdata

Anyone have the time, opportunity and energy to build and share a patched version of the latest Proton?

I'm going to try rebasing Proton onto Wine 3.14 but it will take a while setting the environment up... You can follow my https://github.com/kakra/wine to see the update.

I already rebased the esync patches but the full-screen hacks are more difficult.

@tainium How far do you come with the launch? I've no problem to come to the login mask with dx11.

EDIT: with wine-staging 3.13

The game starts up with the gear logo but then (mostly)freezes and never loads any actual 3d graphics. I do see the 'login mask' overlay but cannot interact with it due to the freezing. Still trying various fixes and tricks until @kakra saves us all :)

I can load up and click login via the patched DVXK @c0r73x provided a while back. In the queue now, position 28000 :P

@GregSutcliffe Can you please share more about your configuration so that we can find the problem?

Same here as for @GregSutcliffe. 3D is OK, waiting in the queue.

  • wine-staging 3.13 with WIC patch
  • dxvk 0.65
  • AMD Radeon RX 470 (POLARIS 10)
  • Mesa drivers from git
info:  AMD RADV POLARIS10 (LLVM 8.0.0):
info:    Driver: 18.2.99
info:    Vulkan: 1.1.70

@tainium Sure, let me know if I missed anything.

Archlinux, kernel 4.17.11-6 using CK kernel
Nvidia-ck 2:396.51-2 (GeForce GTX 970)
Mesa 18.1.6-1
Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
16Gb Ram
Proton / DXVK as per @c0r73x

Made it to Lioneye's, seems to be OK - usual stutter on loading new textures but otherwise playable

With my current wine patches I can play PoE... But I have to wait at the login screen for the hard disk to calm down, otherwise it crashes.

@kakra I'd be happy to test if you have a package you can distribute. So far I've had no luck with any tricks to get DX11 working.

@tainium I could offer you precompiled Gentoo packages... Not sure if they would work on your system... It's a matter of "tar xf" them. OTOH, you could use your distribution's package build system to add my patches to your official distribution packages.

I was having the same issue about gears not moving and the game hanging my PC. Edited my production_Config.ini file for the game and changed directx_version= to 9, borderless_windowed_fullscreen=false, fullscreen=false. From here I verified that the game would load for me, changed to direct9ex, that worked, and then changed to directx11, and that now works in windowed mode (not tried changing back to fullscreen yet but been itching to play all day so that comes first).

using c0r73x's proton build and patched DXVK as provided earlier in the thread, nvidia-396 drivers on a 1050 Ti.

edit: Fullscreen, Fullscreen windowed and changing resolutions all seem to be a culprit here. So long as I am windowed and set the resolution I want in the config file the game handles perfectly fine.

I'm definitely seeing memory issues, I've had to restart 3 times during the run to act 2, as the framerate drops after 3-5 zones. What launch options are people using?

EDIT: Probably just got lucky for a while, same issues eventually showed up but seemed to take longer to appear.

@GregSutcliffe I was using --gc 2 for a time and getting similar issues, I've sinced turned this off and it seems to have alleviated that problem. I've had a crash on the Weaver fight but judging by the PoE reddit that could just as easily be a client problem right now. Other than that, --waitforpreload is enabled.

Fullscreen, Fullscreen windowed and changing resolutions all seem to be a culprit here. So long as I am windowed and set the resolution I want in the config file the game handles perfectly fine.

I can't make the game to work in a resolution other than native (1920x1080 in my case). Whenever I try to change resolution in the config file it just hangs on startup, no matter what combination of 'windowed', 'fullscreen' or 'windowed fullscreen' I choose. What's your config options for those? Smaller resolutions really help with performance so I'd like to have that back.

@TrueNeutralDesu I've just experimented with changing the resolution to something bigger and yeah, exact same problem. I was playing at 1920x1080, but it doesn't take up enough space on my desktop and I wanted to try it at 2560x1360, but the exact same hangup issues have appeared.

@presidentbiggles FTW...this is the only working solution for me. Thanks for sharing. I'll post to POE forums. I have exactly the same experience that you've described. Note that I'm referring to my Lutris config rather than Proton that refuses to do anything other than DX9.

@presidentbiggles thanks, yeah, I see the same, removing it isn't helping much.

it seems that PoE started to work with Lutris since yesterday (after lustris update) with DX11/DXVK 0.71.
So the game should work with DX11 on steam also

Lutris is not steam. It uses user made scripts and custom patched wine builds. PoE will not run on proton until the CoInitialize patch is added. 

it may run in dx9 slow, but it's a slow stuttery mess.

@GloriousEggroll The CoInitialize patch is not enough: My build includes it but PoE won't start (at least this is true for DX11 mode). You also need the windowscodecs patches from staging which I will add soon to my build.

@kakra you're right i forgot to mention that. also the dxvk poe hack patch + config works incredibly well for reducing stutter

I realize this has been answered before elsewhere but I can't find the link. What are the plans for proton to incorporate some of staging's wide array of patches? Is PBA included with esync? Or is proton itself a fork of wine /staging with considerations for inclusions based on stability?

@ryanmusante proton is a fork of wine with custom patches by valve. esync is included, pba is not.

@GloriousEggroll btw, thank you for your YouTube videos and many tutorials. I first found you when I was troubleshooting grim dawn on archlinux many moons ago.

@GloriousEggroll @tainium Here's my updated build which enables PoE to run with Proton: https://github.com/kakra/wine/releases/tag/wine-proton-3.7-unofficial-1

This now includes the windowscodecs patches.

PoE seems to be very sensitive to window size changes. Also, I recommend to wait for the hard disk to calm down before logging in. I had 60 fps at FHD and around 30-35 fps at 4k. Similar to The Witcher 3 the game chokes every few seconds (looks like frame drops or slow downs, not visible in the fps graphs, it may be related to esync but it's not really an issue for playing, the stutters due to shader compilation are much more apparent, tho this flattens out after some minutes of gameplay). I had success with disabling the Steam overlay and setting my window manager to remember the window size. If it freezes, hit Ctrl+Alt+Esc, wait some seconds for the skull mouse pointer to appear, then kill the window by clicking it. The patches include pulseaudio updates that allow you to switch to your headset from within the game (Proton games can see each pulseaudio device separate with this).

If you want to use the shader-hack version of DXVK you have to copy it to the prefix on your own, DXVK is not included in this build (and won't be). It simply reuses the DXVK version that Proton provides.

@ryanmusante PBA causes major slowdowns for me in many games. Probably it's not working well with the nvidia binary blob. From some very unscientific tests esync seems to cause fps choking in some games for me, TW3 and PoE included. But I didn't cross-check that yet.

@kakra The issue I have with PoE and with many of the other titles, is deciding whether or not to use steam-native or to stick with steam runtime libraries. For some games, it seems like steam-native gives a performance boost while for others, there is an incompatibility which prevents the game from loading.

https://wiki.archlinux.org/index.php/Steam/Troubleshooting#Steam_native_runtime

What is the recommendation for proton and is this only an issue for people running Arch?

@ryanmusante I'm not sure how this is an issue here, as the runtime is wine-proton for PoE. OTOH, at least in Gentoo I had no longer any issue with this. You can use the official Steam runtime and set STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 to prefer host libs over steam-provided libs.

@GloriousEggroll @tainium Here's my updated build rebased to Wine 3.12. It includes the refined CoInitialize patch by @DataBeaver for running PoE in DX11 mode:
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.12-unofficial

PoE performance may be a little better. Windows resizing was not tested this time.

@tainium Here's a (sort of) crappy recording of PoE in my wine proton_3.7 rebased to 3.12 build. Did something change in DXVK shipped with Proton? Because I see shaders loading very late, it results in black models.

Other than that, there's the bug of not being able to login at first try (usually sometimes but everytime when recording, maybe IO related), and of course the usual stutter in the city. Once preloading and shaders finished, it runs pretty well (given I could only do software encoding and played at 4k, recording is downscaled to FHD due to high CPU usage otherwise). Without recording, the game stutters calm down much faster. Usually there's no problem with lags after leaving the city and entering an area.

https://youtu.be/7atm6lGioGs

Also, there's an FPS dip every few seconds which I only experienced lately. I think this is since I integrated esync into my own build (which was previously based on vanilla wine 3.14). I don't think that's shader related...

(the gears logo always stutters a lot)

Path of Exile - crashes after ~15m gameplay

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1447.
@zaggynl posted on 2018-09-14T15:33:31:

Compatibility Report

  • Name of the game with compatibility issues: Path of Exile
  • Steam AppID of the game:238960

System Information

I confirm:

  • [V ] that I haven't found an existing compatibility report for this game.
  • [V] that I have checked whether there are updates for my system available.

Steam debug log: https://gist.githubusercontent.com/zaggynl/6d55e984035244ec54274db14a2f77ea/raw/f2ab23db3dace4c6032ffb6aa6389a03ad364240/poe_log_zaggynl

Symptoms

Game crashes to desktop after about 15m of playtime
PoE settings:
http://i.imgur.com/8C2p65Y.png
http://i.imgur.com/9TlwF2U.png

@kakra kakra

GloriousEggroll tainium Here's my updated build rebased to Wine 3.12. It includes the refined CoInitialize patch by DataBeaver for running PoE in DX11 mode:
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.12-unofficial

PoE performance may be a little better. Windows resizing was not tested this time.

Tried this by renaming current dist and dropping this one in my Proton Beta folder but PoE errors on launch and asks if to switch to DX9.

@zaggynl Do not drop the existing folder... It contains DLLs not shipped with my version. Make a copy-backup instead. This particular error occurs because DXVK is missing then, I guess. PoE is not compatible with wined3d-DX11 as far as I can tell.
__EDIT__: As noted by @DataBeaver at this is true for my build.

PS: You should switch PoE to DX11 mode before playing.

PoE works with Wine's D3D11 (as of Wine 3.14) after the patchset d3d11-Deferred_Context from wine-staging is applied (in addition to the patches mentioned previously).

@DataBeaver Maybe but that patchset is not in my build currently... And it's even not 3.14

All right, just wanted to note that in a more general case it works with wined3d.

PoE appears to work well with this Lutris install script (needs Lutris account): https://lutris.net/games/path-of-exile-standalone-w-dxvk/installer/edit
No crashes in about 45m of playing.
PoE launch arguments: --waitforpreload --nologo --nodx9ex --gc2
changed Wine arch. to 64 bit
changed Runner to esync-nopulse 3.15
DXVK to 0.72

Game will not start using dx11.

Will work fine under dx9 using Proton. But there are constant crashes. Once the game hits between 3-3.2 gb memory usage it will crash which for me us usually only two zones.

My favourite game and I can't play it. :(

@TheVE please read above. If you compile the Proton version that @kakra linked then it will work with DXVK just fine.
Compiled it a day ago and it works on Archlinux with Nvidia drivers.

@Janhouse I've tried the precompiled version from @kakra but get a hard lockup when the gears show up. Not sure what to do next.

Running Solus, 1700x, RX480 on latest mesa.

@TheVE, compile yourself because I don't think that it is portable. Not sure. Also try deleting PoE config file in the wine prefix.
Also I only used the custom Proton. I kept the Valve distributed DXVK version.

@TheVE Please look if you see something in dmesg when it locks up... You may need to SSH into the machine. If it is something not portable due to processor optimization I used, it should show up there. Otherwise it may be related to the graphics driver which is NVIDIA proprietary here... I'm seeing such a lock up once in a while, too. Kill the game with Ctrl+Alt+Esc (a skull mouse pointer should show up after a few seconds, then click the game window). Solution to this lockup here was to use windowed full-screen and not resize the window while in-game (use the config file). A window manager that can force window position/size may help.

@kakra I did notice that if I use windowed mode it mostly crashes, maybe Gnome resizes it at some point? I just use borderless windowed fullscreen and it works fine.

Also if it freezes and you don't have that fancy ctrl+alt+esc shortcut, you can switch to other tty with Ctrl + Alt + F2, log in there and kill from there. It doesn't switch immediately (takes about 40 sec) but it does get there eventually.

@Janhouse Sorry, actually I meant borderless windowed fullscreen. ;-)

I'm using ctrl+alt+esc since 20 years now, it should work out-of-the-box, I don't think this is some special KDE feature (I also used it in plain X and fluxbox/openbox). But it takes also around 40 seconds to appear when PoE locked up.

But I just found that Gnome may be overriding ctrl+alt+esc with another function... If switching to console works, then that's the way to go. :-)

EDIT: Just tested, Ctrl+Alt+Esc just calls xkill... So you may get the fancy kill cursor by defining a global shortcut that runs xkill.

EDIT2: It's actually a KDE shortcut I'm using since years (it may have been a global default shortcut in SuSE linux back in the old days, not sure)... Here's how to achieve something similar in Ubuntu:
https://www.maketecheasier.com/kill-unresponsive-application-in-ubuntu/

@kakra, on Gnome there is problem that after killing frozen PoE, gnome session crashes as well. :disappointed:

@kakra, on Gnome there is problem that after killing frozen PoE, gnome session crashes as well.

What a nice feature... :-)

I'm a bit of compiling noob but it appears I might not be able to do it on Solus?

checking whether gcc -m32 works... no configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries. make: *** [makefile:17: build/wine32] Error 1
I can't find the dev libraries I need.

@TheVE another option is to install standalone PoE through Lutris. Then you can just use GUI to install compiled wine "esync-3.15" (with esync and pba and PoE patches) and also choose recent DXVK version.
It actually has install script available so most of it will happen automatically.
It also helps installing Windows Steam version if you wish. Or you can run PoE without steam, you just have to write to PoE tech support in forums to have e-mail address assigned to the account to be able to log in within the game.
I suppose it is also easier to set up PoE Trade Macro and Path of Building using Lutris.

@TheVE You need 32-bit devel libs, you should look up the documentation of your distribution how to do that, and the wine wiki also has some hints (but don't use the configure instructions there, my makefile should do that properly). But I don't think that building yourself would fix the freeze as it sounds like the known problem. You would have an optimized build for your CPU, tho, then, which can have visible performance benefits in wine.

I've updated my build which should improve things but the freeze after window resize is probably still there:
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.16-unofficial-1

EDIT: Doh! I was playing with user_settings (WINEDEBUG & DXVK_LOG_LEVEL "info")... renaming the file did the trick - so it kinda was a logging issue after all, hah! Thanks for being my rubber duck, I guess :)

EDIT2: well scratch that, it happened again. Seems to be after a random ammount of time, I was able to play a good 1h without it appearing.

Hi @kakra, I tested your last build and got it working, thank you very much. FPS between 40~140 when idle (with some stutter) on a GTX1060.
Problem is, after a few minutes of playing, it starts to drop frames massively whenever I move the mouse cursor. If I click or hold to walk (and dont move the cursor), it keeps steady FPS. However, if I move the cursor, it tanks hard and goes as down as 13 FPS. Maybe some logging code? I looked on the POE wiki for a way to maybe force hardware cursor, but didn't find any. This is on Ubuntu 18.04.1 btw, with a standard Kensington USB mouse.

@RodrigoHahn Yes, logging is a performance killer... Absolutely turn it off if not debugging problems. :-)

The stutter is related to shader compiling. There's a hacked DXVK variant which makes shader compilation asynchronous but it results in black 3D models until the shaders are done. I've never tried it because I don't like the idea of this (black 3D models) but everyone who tried reports it helps the stutters.

@kakra the new build is working great for me, thanks very much.

DXVK 0.80 has a new caching system for the shaders which has helped at lot, at least for me. With your proton and that version of DXVK it's almost flawless, at least until the garbage collection makes me restart PoE (after 5 zones or so, not too bad)

Thanks!

@GregSutcliffe Yes, I just noticed this morning there's DXVK 0.80 available and will test it later this week. I've seen occassional crashes during loading screens in Shadow of Tomb Raider with this version which weren't reproducible on a second try, tho.

@GregSutcliffe BTW: I'm currently working on patches improving latency when running under a kernel that supports MuQSS (that's the CK or PF patchsets), maybe even integrating Wine with Feral's GameMode.

@kakra as it happens, I also run the CK kernel. Happy to test dev builds.

@GregSutcliffe I've already posted PRs to GameMode which provide better support for running your whole Steam client under GameMode so it would also catch Wine games. But I think internal wine components should be treated differently, not everything should run with the same high scheduling priority. So the GameMode PRs already remove the Steam client itself and wineserver from being handled by GameMode. My current Proton build you downloaded has support for putting the wineserver into SCHED_FIFO mode, but I'm currently working on a more automatic activation (where you don't need to configure something manually aside from installing GameMode and don't need to run the whole Steam client under GameMode, and wineserver uses SCHED_ISO instead which is an unprivileged operation).

@GregSutcliffe Here's a preview of my SCHED_ISO changes:
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.16-unofficial-2

@DataBeaver @TheVE @Janhouse Here's another update... Additionally to the previous, it also includes PBA and d3d11-Deferred-Contexts. This enables playing without DXVK but it has a lot more issues that way (inconsistent FPS, visible short freezes).
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.16-unofficial-3

Hi @kakra, just reporting: I've disabled FXAA on the NVIDIA XServer Settings app, and I've been able to play for 3+ hours today, no crashes nor annoying frame drops.

@RodrigoHahn You mean you removed "enable FXAA"? If you had that enabled, it force-enabled FXAA in all games (as an enhancement for games that don't have such an option). It does more harm than good, I'd recommend against using it anyways and instead resort to application-specific overrides. If you don't enable this setting, games can still enable FXAA on their own. So it's not a blacklist switch as which you may have perceived it.

Since my build also includes esync, I recommend checking LIMIT_NOFILE and maybe raise it to prevent game crashes after some amount of time. You should see something like eventfd: cannot open file or similar in your Steam logs if that happened (it's somewhere in /tmp/dumps probably).

@kakra Yeah, I must have enabled it when first tinkering with Proton. I've stumbled on it when looking to unbork my steam interface fonts, which were all blurry. Disabling it made'em nice and crisp again.
As for LIMIT_NOFILE, i'll check when I get home later today. Thanks again.

@kakra I might be out of luck playing POE. :(

Crashes on the gears at game start. Sound continues in the background. But system is unresponsive. Cannot ctl+alt+esc or switch tty.

I can ssh into the machine but cannot get actions to show on the system. Looking at dmesg it is some sort of GPU crash?

`[ 102.096105] [drm] dce_get_required_clocks_state: clocks unsupported disp_clk 896973 pix_clk 592000

[ 1036.359130] [drm:amdgpu_job_timedout [amdgpu]] ERROR ring gfx timeout, last signaled seq=298090, last emitted seq=298092

[ 1036.359133] [drm] GPU recovery disabled.`

@TheVE Okay, this is a graphics driver issue probably related to the updated Vulkan stack within DXVK/Wine. Some ideas:

  1. Could you enable GPU recovery somehow?
  2. If you're using DXVK: Have you looked for similar issues in the DXVK project? Maybe it helps to upgrade/downgrade DXVK or fiddle with the DXVK settings.
  3. I'll follow up with an updated wine-proton build which allows running without DXVK - you could try that. Performance looks pretty good with that (uses PBA and DX11 Deferred Contexts).

Doing a clean build here will take some minutes...

@TheVE Here's the updated build:
https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.17-unofficial-2

You may also want to check Feral's GameMode and run the game in GameMode enabled.
https://github.com/FeralInteractive/gamemode

BTW: Valve has updated Proton to officially include DXVK 0.80 (including a required hotfix). You may want to let Steam verify the Proton files (to restore the current Beta including the DXVK update), then re-apply my build ontop of that.

@TheVE I had the same problem before. I recompiled wine, dxvk, tried all kinds of things and it failed. And then I created new wineprefix. That solved the problem.
I did not change wine or dxvk, just started new wineprefix and that solved the problem for me. I don't run PoE from Steam and with Proton, I run standalone game with Wine and it works great without crashes or memory problems. It can run whole day without crashes or slowdowns. But I also tested Steam version some days ago by compiling Proton from @kakra repo and it also seemed to work fine.

@Janhouse This is a known issue if you switch between different wine versions in the same prefix: It can leave wrong DLL redirects behind, e.g. if you used staging with CSMT enabled, then went back to vanilla, the DLL redirect is still in place and uses an possibly outdated CSMT wined3d API.

I don't think this is the case here for @TheVE as the prefix of the game is private and created by Steam. Unless @TheVE tried to run custom (non-proton) wine versions in the prefix, the prefix should be clean and fine.

@Janhouse In the end, the question to ask it: Was it really the same problem you had? I mean with the same dmesg output? Or was it just freezing at the logo due to some other issue?

It could have been other issue but I think it is still worth trying to
recreate the prefix.

On Tue, 2 Oct 2018 at 12:12, Kai Krakow notifications@github.com wrote:

@Janhouse https://github.com/Janhouse This is a known issue if you
switch between different wine versions in the same prefix: It can leave
wrong DLL redirects behind, e.g. if you used staging with CSMT enabled,
then went back to vanilla, the DLL redirect is still in place and uses an
possibly outdated CSMT wined3d API.

I don't think this is the case here for @TheVE https://github.com/TheVE
as the prefix of the game is private and created by Steam. Unless @TheVE
https://github.com/TheVE tried to run custom (non-proton) wine versions
in the prefix, the prefix should be clean and fine.

@Janhouse https://github.com/Janhouse In the end, the question to ask
it: Was it really the same problem you had? I mean with the same dmesg
output? Or was it just freezing at the logo due to some other issue?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/58#issuecomment-426204309,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_Ql-tECUxcN2a-6fMtLnx2BsFLLQJ9ks5ugy4IgaJpZM4WHKFm
.

@Janhouse Don't get me wrong: The tip is worth mentioning and worth trying. I just wanted to point out the exact meaning of "same issue". ;-)

@TheVE To recreate the prefix, move the "pfx" folder in compatdata/GAMEID out of the way, maybe move the complete GAMEID folder out of the way. The game id can be found in the title of this issue.

Beware that it probably includes configuration data... So don't simply remove it.

@TheVE wrote:

I might be out of luck playing POE. :(

Crashes on the gears at game start. Sound continues in the background. But system is unresponsive. Cannot ctl+alt+esc or switch tty.

I can ssh into the machine but cannot get actions to show on the system. Looking at dmesg it is some sort of GPU crash?

`[ 102.096105] [drm] dce_get_required_clocks_state: clocks unsupported disp_clk 896973 pix_clk 592000

[ 1036.359130] [drm:amdgpu_job_timedout [amdgpu]] _ERROR_ ring gfx timeout, last signaled seq=298090, last emitted seq=298092

[ 1036.359133] [drm] GPU recovery disabled.`

Please look here:
https://github.com/doitsujin/dxvk/wiki/Driver-support

@kakra Hmm. I'm on Mesa 18.1.6 but LLVM 6.0.1. Maybe I'll have to wait for LLVM 7.

Also, noob question: To disable DXVK do I just use "PROTON_USE_WINED3D11" in launch options?

Cheers.

//edit. Deleting the prefix did not help.

@TheVE Noob answer: Yes... You're not quite as noob as you thought, hmm? ;-)

@kakra Thanks for all your help. But so far no luck using Proton. I also tried Lutris before without luck and gave it one last shot just now.

Lutris works using:

esync-staging-pba-nopulse-3.17-x86_64 (I just got the newest one and haven't tried any others).
DXVK disabled (system still hangs if enabled) - Tried DXVK 0.80 and it still hangs.

Frame rates are only around 30fps with dips. But I can play! So I'll stick with this for now.

@TheVE Did you edit user_settings.py.sample or did you actually copy that to user_settings.py and edited the copy? Does it still show the GPU hang in dmesg? That would mean DXVK is still enabled...

Also, I'm not including the full staging patchset but only selected patch series. That may make a difference. I wonder which series would be missing in my build then.

Are you on recent graphics driver version? I'm pretty sure DXVK at some
point required quite new driver version (at least for Nvidia). And if You
are not on rolling release distro like Arch or using some custom bleeding
edge repository for graphics drivers then that could be the problem for
DXVK not working. Or maybe "esync-staging-pba-nopulse-3.17-x86_64" uses the
old PoE patch and that somehow affects it?

On Wed, 3 Oct 2018 at 04:19, Kai Krakow notifications@github.com wrote:

@TheVE https://github.com/TheVE Did you edit user_settings.py.sample or
did you actually copy that to user_settings.py and edited the copy? Does
it still show the GPU hang in dmesg? That would mean DXVK is still
enabled...

Also, I'm not including the full staging patchset but only selected patch
series. That may make a difference. I wonder which series would be missing
in my build then.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/58#issuecomment-426481932,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_Ql_sZ_9W6EJ2VsD6V4BMEzKRayCdBks5uhBCwgaJpZM4WHKFm
.

Sorry to interrupt, but I'm more interrested in when I can play Path of Exile through Steamplay using DX11 without any tricks? Should I expect a fix soon either from GGG or from Valve? Tried DX9 and have great stuttering which is a common problem I guess, pretty much the only thing I miss going from windows.

@CTJansson, probably when PoE patch is included in wine-staging (it might be a "hack" and thus never included) and when Valve will upgrade to recent wine-staging and DXVK version.
I could be wrong but it might also require recent graphics driver version at least for Nvidia cards, and if Valve focuses on supporting Ubuntu which has older drivers then it could be a while. This is why Valve allows using custom Proton builds.
Also you never know when GGG will break it again by releasing some fancy updates. :)

As time goes on more and more older games should start working with Proton but new, frequently updated games could be a problem.

TL;DR

@CTJansson I don't think this game is on the priority list for Valve because it provides a (apparently not so) working DX9 layer. It's not that it wouldn't work at all. And then it needs the CoInitialize hack which is not going into official wine, which is also not part of staging, it's a hack (one of many that Valve is currently carrying in the Proton branch) which is one more patch to take care.

Then, I'm sure Valve surely has one or another eye on all these issues. But it's a whole lot of information in a lot of issues that need to be watched. And without the knowledge of the community, Valve may even have a hard time to figure out what to fix and how. It's not like that you put a wish here, and then one month later the game will magically work without anyone commenting on it, or trying solutions, reporting back, working on patches.

There's a temporary solution here you can use to make it work (actually, there are multiple but only few can actually be used as a Proton replacement). It's not a trick, it's just how it works until the issue receives official attention from Valve. And while it has become somewhat noisy here because the game is quite popular, it probably has a workable solution already at hand that Valve "just" needs to pick, test, and apply.

GGG OTOH is probably not very interested in getting the game officially running on Linux. Their user base is primarily Windows, their technology is Windows, that's where the money comes from... They could have made a fix which initializes the engine differently (a vast amount of games works without that, so it's not inherent to some common video or audio engine), so we wouldn't need the CoInitialize patch at least - but they didn't. If they want to do something into that direction, my wish would be to port the engine to Vulkan instead of some fancy new DirectX stuff. It would make the game work almost automagically with Proton then, and probably even with near-native performance.

@Janhouse I'm pretty sure that it is more likely to get the new games running than the old ones. There are the very old ones (DX9) which already work on a very solid WineD3D implementation. And then there's DXVK for DX11 which is in very good shape (the WineD3D implementation lacks behind a lot). And then there will be VkD3D somewhere in the future for DX12 which will probably also work very well then. So there's a gab with the somewhat older DX10/DX11 titles, and there's a problem with DRM-protected titles. Also, I don't see that Valve pays a lot attention to staging, it's not their business to clean up staging. So when a hack needs to be included to get a game running, there's no requirement for having that in staging. Actually, Proton uses exceptionally few patches that come from staging.

Also I don't see where the point is in focusing on older drivers. Everything I see actually focuses on very bleeding edge drivers - be it the NVIDIA vulkan dev drivers or the AMD drivers which require bleeding edge LLVM and Mesa to work correctly. This will take time to settle down but I'm sure that is not too far away. You cannot magically make something work with lacking feature support in the drivers by focusing on old drivers in some distribution - and current Windows titles use a lot of such features. It's the distributions and the driver makers which need to deliver for the next stage.

Given the time when Proton was released based on wine-3.7 I'd imagine that Proton development lacks behind by two or three months. So by the time it was released, we were at - I don't know - wine-3.14? wine-3.12? It's likely they are already working on a new Proton version based on a somewhat recent wine version, probably something around the current version. Looking at the flow of patches in the wine list coming from people involved with Proton, it looks like there's currently a lot of patch integration going on still with patches related to stuff from the Proton 3.7 branch. So it's likely there will be a freeze more sooner than later to the current wine version. I'd guess the next Proton would be based somewhere around 3.14 - 3.18. Wine 3.14/3.15 was one of the more difficult rebases when I rebased my Proton branch (so the version boundary looks not too wrong). And then re-integration of patches and hacks would start, also paying attention to the issues here in the tracker. It will probably then take 2-3 months again to release that version to the Steam distribution channels.

@CTJansson We have to keep in mind that it's not as simple as getting one game running. I'm pretty sure that my own Proton branch won't work with a lot of games, probably including even whitelisted ones. But it works very well for the games I play. But that's just not good enough in Valves position: They want to enhance the list of supported games without sacrificing what is already supported. And it has to pass some compatibility tests and quality tests, too. For the next version, I'm pretty sure we have to wait at least until the graphics stacks improved and activity settles down a bit (which would also mean there's not much left that a "moving target" like PoE could break).

So if you want to play games now that are not in the official whitelist, you have to work with some tricks. :-)

But still, sorry for the noise. I already questioned myself if these elaborated discussions should be carried out somewhere else. Anyone has an idea or opinion in that?

But still, sorry for the noise. I already questioned myself if these elaborated discussions should be carried out somewhere else. Anyone has an idea or opinion in that?

@kakra we could move to the Path of Exile forums? https://www.pathofexile.com/forum/view-thread/8980 or even start a Proton-specific thread?

Here's a fix for the CoInitialize problem which gets rid of the CoInit hack for Path of Exile:
https://github.com/kakra/wine/commit/f716887123418f1e14fa6c06aad9e854335f6eaa

Anyone knows if this would be good enough to suggest wine upstream?

@kakra Your patch is interesting and I tested it, it works.

Now I'm trying to understand why it helps to coinitialize in CoInitializeSecurity. Any idea?

In the ole trace now we see similar traces like this one:

(...)
0061:trace:ole:CoInitializeEx ((nil), 0)
0061:trace:ole:CoInitializeEx () - Initializing the COM libraries
0061:trace:ole:RunningObjectTableImpl_Initialize 
0061:trace:ole:apartment_construct creating new apartment, model=0
0061:trace:ole:apartment_construct Created apartment on OXID 600000cafe
0061:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
0061:trace:ole:CoInitializeEx ((nil), 2)
0061:warn:ole:enter_apartment Attempt to change threading model of this apartment from multi-threaded to apartment threaded
0061:fixme:heap:RtlSetHeapInformation 0x110000 0 0x247fe5c 4 stub
0062:trace:ole:DllMain 0x7e160000 0x2 (nil)
0062:trace:ole:CreateConnectionPoint (0x1a2558 {9bfbbc02-eff1-101a-84ed-00aa00341d07} 0x1a2594)
0062:trace:ole:CoInitializeEx ((nil), 2)
0062:trace:ole:apartment_construct creating new apartment, model=2
0062:trace:ole:apartment_construct Created apartment on OXID 6000000062
0062:trace:ole:apartment_get_or_create Created main-threaded apartment with OXID 6000000062
0062:trace:ole:CoCreateInstance (rclsid={cacaf262-9370-4615-a13b-9f5539da4c0a}, pUnkOuter=(nil), dwClsContext=00000001, riid={ec5ec8a9-c395-4314-9c77-54d7a935ff70}, ppv=0x2c2fb44)
0062:trace:ole:CoCreateInstanceEx ({cacaf262-9370-4615-a13b-9f5539da4c0a} (nil) 1 (nil) 1 0x2c2fac0)
0062:trace:ole:CoGetTreatAsClass ({cacaf262-9370-4615-a13b-9f5539da4c0a},0x2c2fa4c)
0062:trace:ole:create_classes_root_hkey L"\\Registry\\Machine\\Software\\Classes" -> 0x80
0062:trace:ole:apartment_addref 6000000062: before = 1
0062:trace:ole:apartment_release 6000000062: after = 1
0062:trace:ole:CoGetClassObject CLSID: {cacaf262-9370-4615-a13b-9f5539da4c0a},IID: {00000001-0000-0000-c000-000000000046}
0062:trace:ole:apartment_addref 6000000062: before = 1
0062:trace:ole:COMPOBJ_DllList_Add L"C:\\windows\\system32\\windowscodecs.dll"
0062:trace:ole:apartment_getclassobject added new loaded dll L"C:\\windows\\system32\\windowscodecs.dll"
(...)

When I looked at fixme+ole it looked like the game only ever calls CoInitializeSecurity but not CoInitialize(NULL). So I reverted the hack and moved the call to CoInitializeSecurity which would otherwise be a no-op in current wine (it is a stub only, does nothing):

0061:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!

Now, the game calls CoInitializeSecurity early enough which in turn then calls CoInitialize(NULL) and everything is fine. I have a slightly updated fix in the queue already. But that doesn't functionally change anything, it only touches logging.

I'm not sure how "correct" this patch is, clearly CoInitializeSecurity() should have some more side effects than just calling CoInitialize(). But since it's "only" about security and Wine mostly acts as a single-user OS layer (it's not running as root, it's jailed into the current user only), I think it's simple enough to do it that way. At least I've added the most simple checks according to MS docs: Some parameters must be set in specific ways.

Without the hack I now see DOOM complaining about the apartment not being initialized. But this is probably just a similar fix. Other than that, that game works.

But looking at your trace and at wine source (and how it used the functions), it looks like we should not call CoInitialize() from CoInitializeSecurity()... The caller should always invoke both functions one after the other... Is it something about threads maybe?

@kakra Just a heads up, your makefile provided with your recent tagged releases try to run clean rules on makefiles that don't exist on a fresh build.

@wacossusca34 Yes, I know. It should be fixed with the next push... It should work if you run "make configure" first. Let me know if it doesn't...

my experience:
it works with dx9 and dx9ex - but it uses the 32 bit mode and it crashes once the game hits 4 GB of RAM what is usually after 1 hour of player. there is a 64 bit version available yet, but i could not get it starting using this version.

@SurfingNerd It works with my Proton build linked above. I'll update this soon to be rebased onto official Proton 3.16 (actually, it's done including updates to wine-3.19, I'm still testing and want to work on some additional optimizations). The original Proton still lacks the CoInit hack and some windowscodecs patches to actually init DX11 successfully, You also need DXVK to run it because the game uses DX11 deferred contexts (my build includes those, so you could run without DXVK but it's slower at least for me).

@edmondo Meanwhile, I reverted my updates to CoInitializedSecurity() because it seems wrong. I'm using the original refined hack again instead.

@kakra Same here. The refined hack seems to be the "best" workaround at the moment: If apartment is not initialized, initialize it.

I've gone through the microsoft documentation and I share the same feeling that CoInitialize inside CoInitializedSecurity() seems the wrong thing to do.

What I'm quite surprised and don't understand, is why do the coinit inside the Security call "fixes" the problem later? It's somehow unexpected for me (and I'm not sure if I understand my traces correctly).

My best guess is that in the wine code, a CoInit call is missing somewhere in the other sub-systems because it is ref-counted. Shortly before the game expects an initialized apartment, it is uninitialized and ref-counted to 0. It looks like this is related to DX code somehow. I'd guess that it should be ref-counted to at least 1 at this stage, so it's missing an init somewhere before.

@SurfingNerd Also, the DX9 code (not sure if in wine or the game) seems to leak memory because the 64 bit version stays below 2.7G of RAM usage for me.

Does someone tried this solution? I think it helpful
https://bugs.winehq.org/show_bug.cgi?id=42695#c15

@teh-monad, PoE already works fine with wine-staging and DXVK as long as you include the coinitalize patch. Other patches seem optional.
Have played it for sessions up to ~12 hours without any problems.
It does crash on resolution change (window resize/switching to/from fullscreen) but if you don't touch it then it works great.
Additionally I included the DXVK placeholder shader patch to not lag the game while new shaders are computed.
Overall I get similar performance as on Windows.
PoE Trade tool also works but You have to open and close it's settings window every time You start it.

@Janhouse Still quite new to Linux, but how do I get this patch to work with lutris? Only played native games thus far so I'm trying to learn Lutris.
Wine version is WineHQ devel (3.19) and DXVK 0.90, so I basically just need the patch.

@CTJansson, I read somewhere that in Lutris that the included wine-staging with esync patches that can be obtained within Lutris includes all the necessary patches for PoE. (Under Lutris > Manage runners > Wine versions)
img1

Then just select DXVK 0.90 if Your drivers support it and You should be OK.
img

I also have some additional variables set up but those are probably not needed.
img2

I installed PoE in Lutris using their provided install recipe.

I now run the game without Steam or Lutris but it certainly was a lot easier through Lutris initially. I hope these fixes will be added to Proton eventually, would be great if one of the top games from Steam would run on Linux without any tinkering. :smiley:

@Janhouse Thanks for the help on Lutris, _but this doesn't seem to fix the DX11 crash on startup?_
EDIT: Seems I was missing the vulkan mesa drivers, works now!

@CTJansson try setting up a new prefix. If it crashes on startup after logo video then there is a chance it is a broken prefix. I had to do it after wine upgrade at some point.

i've gotten poe working in proton (3.16) but can't get directx 11 to work cause of the wic factory error.
am i able to appy the wic patch even though i installed steam through the manjaro repository, and if so how do i apply it? i don't like crashing every 2 maps :/ thanks in advance..

@Janhouse I would prefer if it run by native wine.

once proton's wine is patched with the dx11 patch, it still errors out because wine isn't compiled with libpng. Source: I compiled proton with the patch in a debian vm via docker per the readme. Other various game patches I tried for different games working as intended.
missing-lib-png

@GloriousEggroll same error on debian. wine use libjpeg62, but debian have only libjpeg62-turbo

@GloriousEggroll Wine 4.0 RC1 needs a lot fewer windowscodecs patches now. I only applied those and skipped the dependencies from the definition files:

e74377fe898 - windowscodecs: Fix 32bppRGB to 32bppRGBA conversion. (2 hours ago)
03c433b87ab - windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter. (2 hours ago)
2de3f6ecde9 - windowscodecs: Add support for converting to 8bppIndexed format to IWICFormatConverter. (2 hours ago)
c0c2f98c062 - gdiplus/tests: Add some tests for GdipInitializePalette. (2 hours ago)
01c3008d70a - gdiplus: Implement GdipInitializePalette. (2 hours ago)

@kakra I'm trying to dig those patches up from staging so that I can inform the staging guys and see about getting them merged into mainline, I'm having trouble locating this one:

2de3f6ecde9 - windowscodecs: Add support for converting to 8bppIndexed format to IWICFormatConverter. (2 hours ago)

do you happen to know what patchset it was from?

-edit-
nevermind I found it under the gif encoder wincodecs sub patchset.

@GloriousEggroll I'll push my wine-4.0-rc1 proton branch soon (after a bit of cleanup). If you like to, I'd invite you to look at and test some of the patches. There's also a bunch of selected staging patches in there which could maybe be upstreamed.

Edit: Some of those patches I listed are already queued at https://source.winehq.org/patches/

@kakra thanks I've been able to make a custom proton build with slightly modified versions of the patches (basically just modified to patch cleanly into proton). I also informed the other wine staging guys about trying to get windowscodecs-32bppPRGBA upstreamed as those are the only two patches missing that arent queued up already. Worked like a charm along with DataBeaver's CoInit patch

Hi guys,

I haven't checked all the post in this "mega" issue. Sorry about that...
My simple question - will be it possible to play PoE on Linux with Steam's Proton without patching/hacking and so on ?

Thanks!

@presianbg Yes, I'm using lutris, with tkg-3.21, dxvk-0.93, state-cache active, it's stuttering at first but the more dxvk can cache it will become more and more enjoyable, I have a vega 56 gpu with a ryzen 1700, and the fps is everything between 30 and 90, with some minimal stuttering, but I would say I average 50fps.
If I would use a rank I would rank this game gold in terms of lutris/protondb ranking.

EDIT: sorry didn't read you wanted to play on proton, you can run lutris, install PoE through wine with steam, then use tkg-3.21 and dxvk-0.93

@CTJansson Are you using this script? I am running this with a Fury X on DXVK 0.93, and so far I've gotten through Act 4 without a single crash except for when trying to resize the window. It's keeping a solid 60 FPS without skipping a beat. If it wasn't for the window resizing crash and the occasional audio crackle, I would say this Lutris script is Platinum.

Unfortunately, Proton is unable to launch the DX11 version, and the DX9 version crashes frequently. I have managed to reduce the number of crashes with the following launch options set through Steam: --waitforpreload --nologo --nodx9ex --gc2 --noasync.
However, it still crashes with the texture error messages after a few map transitions.

FYI, the texture error messages after map transitions are happening to people on Windows, as well. There's about 3-4 posts in the PoE forums about it. I don't think that's specific to WINE or DX9, since there were people using dx11 with it, as well.

Kind of weird, then, that the automated workarounds in the standalone DX11 Lutris script seem to fix it. 25 hours in now and not a single crash on my system (except when resizing the window).

@meowmeowfuzzyface no I don't, I manually setup my Lutris PoE config with tkg-3.21, enabled dxvk and so on, not sure if I use e-synct tho. That script you linked uses tkg-3.19, both contains the CoInt patch for PoE so that doesn't really matter, also my config has dxvk state cache activated.
Gold/Platinum for sure, with state cache active it will be stutter at first but less the more it caches.

As long as the CoInt patch is not inside Wine we wont be able to run PoE on proton without tweaking your own proton branch I guess. You can still run the steam version through wine and apply tkg-3.21 and dxvk, this way you don't use proton but people will see you play PoE in friendslist and steam will log your hours played.

so as i read trough this issue, there is actually no working stable config for proton atm?
if i am wrong, i am thankfull if someone can post the steps to archive it.
edit: any chance something changed with 3.16.5 ? :dancer:

I initially installed Steam to play Linux compatible games.

Here's my setup that works:

Ubuntu 19.04

1) Install steam: sudo apt install steam -y
2) Enable Steam Play
3) Install Path of Exile through Linux Steam
4) Follow this guide for installing requirements https://github.com/tainium/PoE-Lutris-DXVK (skip the standalone install, Path of Exile is already installed :) )
5) Install "Wine" runner "tkg-3.2.1-x86_64" (or whatever the latest may be, this works as of this post)
6) Install "Wine Steam" runner with previously chosen wine version
7) In the Lutris menu bar select Game -> Add
8) Use the settings in the screenshots

screenshot from 2018-12-18 03-17-32

screenshot from 2018-12-18 03-17-39

screenshot from 2018-12-18 03-17-52
(select whatever DXVK you installed)

You may have to launch it a few times to get all the Steam client updates (mine crashed a few times, but finally updated.) I run Lutris from the terminal so I can see the output and catch any errors.

Once steam is launched through Lutris, you can set you Steam directory and launch the game.

Might be a more simple solution, but this worked for me.

Note: My Path of Exile was already fully updated through Linux Steam client.

so does this mean in dxvk 93+ we don't need the old dxvk patch anymore?

and does anyone understand the resize/resolution problem? i really wish i could play with more than 1920x1080

With the state cache in DXVK you usually don't need the shader hack anymore in DXVK... It works fine here, the stutters will go away after some minutes of playing, it even works in 4k resolution for me. To change the resolution, you need to trick the game into starting with a bigger window right from the start. Full screen modes may not work properly. You can edit the config file to switch to a higher resolution and windowed mode.

ahh good to know :)

when ever i edit my production_Config.ini to something else than 1920x1080 my game does not load after the ggg-logo - very strange.. does it need a certain 16:9 ratio for fullscreening?

windowed mode works fine as you said.

Well, I used KDE KWin rules to force the window into remembering the last size and position, I've then maximized the window on my 4k monitor and quit the game (which took about 2 minutes because the graphics stack gets stuck somehow when doing that). After restart: Tada, full resolution.

The game runs at around 40 fps (at least with my proton build). Despite "dynamic resolution", I've only seen it downscale only very rare (maybe 3 times over a period of 1 year of playing).

Here's my display config:

[DISPLAY]
adapter_name=GeForce GTX 1050 Ti(#0)
borderless_windowed_fullscreen=false
directx_version=auto
dx11_antialias_mode=1
dx9_antialias_mode=1
dynamic_resolution_fps=30
fullscreen=false
global_illumination_detail=0
light_quality=1
max_PS_shader_model=ps_4_0
max_VS_shader_model=vs_4_0
maximize_window=true
post_processing=true
resolution_height=2077
resolution_width=3840
screen_shake=true
screenspace_effects=2
screenspace_effects_resolution=1
shadow_type=hardware_7_samples
texture_filtering=4
texture_quality=0
use_dynamic_resolution=true
vsync=false
water_detail=1

My proton build could fix a few problems with handling window placement upon start of some games. So you may want to give it a try if you still see problems. You can download a binary version of it, just unpack into your existing proton folder (do not remove the folder first, my binary build does not contain all of the proton tooling yet).

My proton build: https://github.com/kakra/wine-proton

the stutters will go away after some minutes of playing

so ive tried my lutris setup with the 0.94 version now and without the async-hack with the following options:

  • tkg 3.21 + Esync + dxvk 0.94
  • DXVK_STATE_CACHE=1
  • DXVK_HUD=fps,version,memory

i played 30 minutes but i feel like the game keep slowing down / freeze very often is my cache not ready?

does the dxvk cache persist through restart of my system?
maybe i have to switch back to the 0.91 dxvk + async hack

The cache persists between reboots but you may need to remove it if you applied hacks before. I had problems in other games with incorrect or slow rendering, even crashes, until I cleared the cache so it could rebuild. If you are playing with nvidia, you may also need to clear the nvidia shader cache.

I think the cache should be in a subdirectory of the game exe... (unless you play with proton, Steam will place the cache in a shared shader cache directory)

since months there exists now a custom fix for the problem, will it ever make it into proton ?? or impossible for some reason ??

@SurfingNerd You can play in DX9 mode, it doesn't show the problems that DX11 mode shows. Also, the fix you probably mean is not a fix but a hack, that hack is technically incorrect and may show very wrong behavior with other games. I think this was already discussed here. And I don't think Valve wants Proton to become another version of Lutris, i.e. with custom builds and install scripts for every second game. At least not at this stage.

Also, I'm not sure if you noticed what happens in the backgrounds... A lot of needed patches for this game have already been upstreamed to wine and will appear in 4.0. A "Proton 4.0" (if it comes but I'm pretty sure) will already have a lot of the patches needed to run this game, or in other words: Fewer patches/fixes are needed then. This game needed a lot of individual fixes aka commits, maybe around 50 back then. That's down to around 3 now. And I think the "CoInit" hack is one of the last remaining hard parts. If you want to accelerate this, please help in making the hack a proper fix. Thanks. :-)

@kakra thx for your answer :) yeah i was playing already delve leage until in DX 9.0, but it has a memory leak. i dont know if this leak is a bug in one of the Proton libraries, or in Path of Exile. it seems connected to models or textures. it crashed pretty soon in the delve or in maps with a lot if variations. (like Beyond + abyssal), or just in the town because a lot of players are passing by. so every loading screen counts. Proton 4.0 sounds very promissing, i guess i will wait for it :)

@SurfingNerd The problem is DX9 mode being 32-bit. Memory management is different in wine because it needs to map the Linux stuff into the address space, too. If you're using pulseaudio, you may have more luck by reducing the shared memory footprint of it, I outlined it here:
https://github.com/kakra/wine-proton/blob/rebase/proton_3.16/README.md#hints-to-32-bit-users

But don't expect Proton 4.0 to include the CoInit hack needed for DX11... I think this game has low priority as it has a somewhat working DX9 mode.

This memory problem also exists in other 32-bit titles, like the original Skyrim which freezes due to this very often, especially if you added mods.

I'm currently working on shaping my Proton variant into a stand-alone tool which you could then choose to run PoE with instead of the official version. Until then you could just extract my version of Proton over your Proton folder. PoE runs just fine with it (and other title listed in the README I linked). You can find a pre-compiled version of it so you don't need to take the hassle of setting up a build environment.

If you go to "Library -> Tools" and add "Proton" to your Steam library, you should also be able to easily revert to the official version by verifying files. Or just extract the dist.tar.gz again that comes with Proton.

iam curious regarding the shm of pulseaudio, does shrinking the memory have any other sideeffects? i notice when play PoE after 1-2 hours my sounds goes crackling until i toggle the device inside the game client

@evilch3n I experienced no side-effects so far - as long as you don't make it too small. The default is 64 MB which is huge in 32-bit space with many sound streams opened.

@duckartes your solution doesn't have anything to do with proton though, you install steam and enable it but then you never touch it again and use winesteam 0.o

You can play in DX9 mode, it doesn't show the problems that DX11 mode shows.

@kakra "Out of memory crash" "Failed to create thread crash" on every single map change says i can't :/

and the dx11 version doesn't even get past the "cant create WIC factory"+segfault

@nonchip It works with my proton version: https://github.com/kakra/wine-proton/blob/rebase/proton_3.16/README.md

Download the tar.xz from the release page and unpack it within your existing Proton 3.16 Beta folder. PoE will work then in DX11 mode.

@kakra thanks, trying that now. btw you know the compatibilitytools.d trick? gets rid of the need to murder the official install (and get murdered by its updates), for example https://github.com/redmcg/wine/ does this for their unofficial elite dangerous patch

EDIT: tried your version, "failed to create WIC factory". am I doing anything wrong here? running it with PROTON_FORCE_LARGE_ADDRESS_AWARE=1 PROTON_NO_D3D11=0 PROTON_NO_ESYNC=0 %command% --nologo

EDIT: omg fail i forgot to restart steam after switching the proton version, nevermind, works fine now, thanks much :3

EDIT: tried your version, "failed to create WIC factory". am I doing anything wrong here? running it with PROTON_FORCE_LARGE_ADDRESS_AWARE=1 PROTON_NO_D3D11=0 PROTON_NO_ESYNC=0 %command% --nologo

@nonchip where do you put these?

@nonchip Yes, I'm working on that "trick". Meanwhile you can craft such a directory yourself until everything can build from scratch in my repo. See https://github.com/kakra/wine-proton/projects/3

@humunuk right click on the game, properties, general, set launch options.

it's documented as just appending parameters but if you include the string %command% in it it actually allows you to specify the whole command line (and that string is replaced by the game executable).

@kakra I actually did that by copying your patched wine over the "helper files" directory provided by the elite dangerous patch project. obviously doesn't work for that game anymore now but hey maybe valve will wake up at some point and realize specifying the proton version per game might be a smart idea... if not i'll look into whether i could just tweak the proton launcher script to switch different $WINEs depending on the game id.

EDIT: "look into" means "a few hours after waking up the next morning i'm done" apparently: https://gitlab.com/nonchip/hydron

@nonchip I think Steam already uses a specific Proton version per game... That is unless you enable the global override switch to use always the tool you specify. So the infrastructure is already there but the user doesn't have control over that except "the default or the override".

@nonchip from https://gitlab.com/nonchip/hydron:

NOTE: to use a "vanilla" version you have to put it into your compatibilitytools.d manually since steam has a habit of uninstalling Proton versions it thinks could be "unused"...
see the docs, but tl;dr: make install is your friend.
Alternatively you might (I didn't test that) be able to copy a previously installed vanilla version from steamapps/common.

You can actually go to your Steam lib, choose "Tools" from the library dropdown, search for Proton and force-install each version.

@kakra

So the infrastructure is already there but the user doesn't have control over that except "the default or the override".

well to me that doesn't really make a difference sadly since i want to run custom versions (as evidenced by e.g. this very issue :stuck_out_tongue: ) but interesting they do it "behind the scenes"... i guess just another instance of "oh the average user wouldn't know what to do with it so why give the people who want it the option" aka "stupid user mode" that's sadly so easy to start thinking in when you get that amount of actually VERY stupid questions a project as big as steam has to deal with each day...

You can actually go to your Steam lib, choose "Tools" from the library dropdown, search for Proton and force-install each version.

oh very good to know, i'll add that to the readme, thanks :smile_cat:

i guess it might suffer from the dist.tgz problem though? I did have a version lying around that i never used and it actually wasn't able to unpack itself and instead expected steam to do that upon first using it.

@nonchip Look into the proton python script, it should be supposed to unpack the dist upon first use. It may fail some pre-condition, tho. I already looked into the inner workings while planning to create my own tool. But it will take some more time because it's just a spare time project - and unless something doesn't bother me too much I don't feel the urge to fix things. ;-)

The unpack magic is build around comparing the version file... Maybe that was still around for you?

@kakra oh i see, that might have happened, yes. i'll add support for steamapps/common/Proton* then

...done. i'll added a note linking to this thread and the fallback support to that folder, but with a "might not work if steam messes with it" warning :stuck_out_tongue:

@nonchip Unpacking starts here:
https://github.com/ValveSoftware/Proton/blob/4a5f7064b3a7f20cc7206db946d5f8a47b8ca7e7/proton#L145

So as long as you start through this wrapper, it should unpack the dist. That is unless dist/version already exists (and some other pre-conditions). It will go to the upgrade path otherwise.

@kakra i do that, yup. only reason i don't trust the path as much is valve specifically says steam won't touch the comptools folder, which implies it might do stuff to common in the future, in which case i want people to know.

that said steam also used to do stuff (rm -rf to be precise) to ~ for a while, so ... yeah :P

@nonchip This doesn't happen if you do backups - because Murphy. ;-)

You could explicitly check for Proton */dist/version to see if that version is bootstrapped already.

So wine have support for DX11/10. But POE do not work with this and need personal patch like the wine team doing for another applications?

Also, most of games from big companies work perfectly with dx11 without any tricks.

EDIT: "look into" means "a few hours after waking up the next morning i'm done" apparently: https://gitlab.com/nonchip/hydron

Steam beta just updated with a new feature allowing per-application Proton version override.

https://www.pathofexile.com/forum/view-thread/2319193 PoE is ending support for the dx9 client in March. It would be nice if Steam rolled the CoCreateInstance() fix into proton, proper.

@kakra Thinking about the WIC issue, I find this new patch in wine interesting:
https://github.com/wine-mirror/wine/commit/77c3761ad4e557f9fa311299e77746bf225a575a

EDIT: I also see progress in the wine bug report. Did the game client fixed the WIC issue?
https://bugs.winehq.org/show_bug.cgi?id=42695

@kakra Thinking about the WIC issue, I find this new patch in wine interesting:
wine-mirror/wine@77c3761

No, it's unrelated.

EDIT: I also see progress in the wine bug report. Did the game client fixed the WIC issue?
https://bugs.winehq.org/show_bug.cgi?id=42695

Yes, it was patched in game client. Now we only need to fix an issue in WIC itself.

@nsivov @edmondo

@kakra Thinking about the WIC issue, I find this new patch in wine interesting:
wine-mirror/wine@77c3761

No, it's unrelated.

I was also aware of the patch and wanted to try it. Thanks for pointing out it is unrelated. Saves me some time. ;-)

EDIT: I also see progress in the wine bug report. Did the game client fixed the WIC issue?
https://bugs.winehq.org/show_bug.cgi?id=42695

Yes, it was patched in game client.

Does this mean we longer need the CoInit hack?

Now we only need to fix an issue in WIC itself.

Is that the windowscodecs patches from staging?

Or vice-versa?

@nsivov I guess it's this patch:
https://source.winehq.org/patches/data/157299 which obsoletes the CoInit hack?

@kakra it is.

@nsivov Thanks, then I'll drop the CoInit hack from my branch and try this one instead. It didn't apply cleanly to my code (there's conflicting lines with the windows activation/minimize patches from @zfigura). I'll report back, and will be pushing my proton branch with the next wine update to 4.1.

I can confirm that the CoInit hack can now be dropped with latest Wine. So we are left with the following windowscodecs patches which seem to be still needed (at least with DX11):

windowscodecs: Fix 32bppRGB to 32bppRGBA conversion.
windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.
windowscodecs: Add support for converting to 8bppIndexed format to IWICFormatConverter.

I'm not sure if all these are needed.

PoE seems to be OK with Proton 3.16-7 beta. Here a screenshot:
238960_screenshots_20190216172301_1

Right, the fix is at Valvesoftware/wine@72f375e. For d3d11 mode, I'm only aware of two issues - one for COM initialization, that was fixed by game devs, and another one for WIC missing features, that's the commit I just mentioned.

For me it does not start (shows the grinding gear games animation) and then hangs. The mouse is moving super slowly if at all. Once I got the menu screen afterward, but it looked like it was only half drawn. I checked my CPU load and none of the 6 core was loaded more that 30%.
You mention d3d11 mode - what is the other mode and how can I toggle them? Or is that dx9 and dx11 is the one that I should be using anyway?

Another mode is d3d9, I don't know how to enable that manually, could be some configuration file. When it used to crash starting in d3d11 by default, next launch it was asking to switch to d3d9.

You can change it in the config file using a text editor. The gist is: The 64-bit binary is d3d11 mode, the 32-bit binary is d3d9 mode (and as such suffering from early memory exhaustion which explains a lot of the stability problems reported with d3d9 mode).

Alternatively, you may just launch the 64-bit mode directly by replacing %command% in the Steam launch options with the full path to the 64-bit exe file. I didn't test that, tho.

Actually it works \o/. I had to lower the desktop resolution. It was 2560x1440 and in full hd it works. Thanks!

the dxvk/wine(lutris) version also suffers from a resolution bug (See: https://github.com/doitsujin/dxvk/issues/813)

i dont know how to help/fix/anything with this resolution bug but i wish it would be gone

I just tried Path of Exile with Steam Play (Proton 3.16-7 beta) and I managed to play this game with little to no problems, the only minor problem was that the servers could not show ping in the server list.

I just did what this guy did (the comment section mention how he made it work with an Nvidia card. I have an AMD card and I managed to make it work with the same steps which are:

  1. Under Library (hover over to gain the menu)
  2. Go to Tools
  3. Search and find the Proton version to your liking (those available) and install it.
  4. (Optional) Set Launch Options for the application - "PROTON_NO_ESYNC".

And the application shows me using DX11.
I don't know what's the point of having a setting with a list of versions if Proton is not properly installed. But this made the game work, makes me what Wine version steam was using before I did this.

Launched using Proton 3.16-7 Beta, I didn't receive any errors on launch. However after the intro video, it appears to lock up at the loading screen with the two gears.

In the logs, I was getting "17388.661:0028:0077:err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions." amongst other things.

Launched using Proton 3.16-7 Beta, I didn't receive any errors on launch. However after the intro video, it appears to lock up at the loading screen with the two gears.

Could also be the resolution bug you should check that out too

Launched using Proton 3.16-7 Beta, I didn't receive any errors on launch. However, after the intro video, it appears to lock up at the loading screen with the two gears.

In the logs, I was getting "17388.661:0028:0077:err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions." amongst other things.

I had the same problem, so I removed the wine/proton version from steam (WINEPREFIX) and let steam recreate it again (the WINEPREFIX).
Got it to get past the loading screen.

@matty-r The ICMP message just says that gateway pinging in the lobby doesn't work: The game won't display ping times to the gateways and wouldn't auto-select one. This needs either the wine binary installed with CAP_NET_RAW (which won't work here because Proton is user-installed, not system-installed), or it needs a patch from staging. You could also try allow the system creating icmp-echo-request packages from user sockets by setting:

sysctl net.ipv4.ping_group_range="0 65534"

This game works flawlessly for me on 3.16-7 + mesa 18.2.2 now, without any launch options or tweaks. I have multithreading and dynamic resolution turned off in the in-game options because I read some people had crashing with those. Everything is on high settings and it's running great. Played 10+ hours so far without a single crash.

It is worth mentioning that the game initially failed to launch with 3.16-7 selected, but it started working after I manually installed 3.16 Beta in my Steam library under the Tools section. I'm not sure what was the problem before manually installing, since the Proton 3.16 Beta folder already existed under steamapps/common. Maybe it had trouble updating?

Anyway, people might want to give that a try. Even if you have 3.16-7 selected for all titles, try installing 3.16 Beta manually under Tools and then run the game again.

It is worth mentioning that the game initially failed to launch with 3.16-7 selected, but it started working after I manually installed 3.16 Beta in my Steam library under the Tools section. I'm not sure what was the problem before manually installing, since the Proton 3.16 Beta folder already existed under steamapps/common. Maybe it had trouble updating?

After this step the game starts up but can't get past the grinding gears, music plays but the game hangs and the system slows down.

Maybe its the resolution thingy ive noticed with lutris/dxvk

  • Ubuntu 18.04
  • Nvidia 415
  • Default Monitor resolution 3440x1440
  • intel i7 4th gen

@evilch3n I was getting stuck at the exact same spot. Not sure if you've tried this, but changing my screen resolution to 1920x1080 before launching the game fixed that for me. Not ideal, but at least it is running.

@tcfunk damn iam so stoked for the next league and had high hopes the proton/steamplay option might allow linux ultrawide support for poe :/

Seems like adding -w 1920 to the launch options worked also. A little more convenient than switching resolution manually before launch.

Seems like adding -w 1920 to the launch options worked also. A little more convenient than switching resolution manually before launch.

there must be more, the option does not help me - problem persists. (also tried -w and -h together)
i just might stay with lutris and the hacked dxvk/PKG builds then

Just a thought, but maybe try and run it in with wine desktop? Not sure if you can do it in proton but I usually fixes problems like that in wine.

Just a thought, but maybe try and run it in with wine desktop? Not sure if you can do it in proton but I usually fixes problems like that in wine.

that didn't change something, but thanks for the idea - now i can play PoE in a windowed mode without having to edit the production_Config.ini everytime i want to change from full to windowed etc.

I used to have the same hanging issue as some after the GGG intro movie, but that turned out to be because I was an external monitor. Could also have been the resolution. Works fine directly on my laptop. Not sure if it's relevant, but my external monitor is through thunderbolt.

Anyway, the game runs fine if I use my Intel GPU, but not if I run it with my NVIDIA GPU (GeForce GTX 1070 Mobile Max-Q). I'm using bumblebee with primus_vk (so vulkan works) and here's the logs I get: https://gist.github.com/jeromegn/ddd2b0c7eb5cd47be4310f63b96ec3c9

Running like this: ENABLE_PRIMUS_LAYER=1 PROTON_LOG=1 optirun %command% (that first env var is to enable vulkan)

Essentially, I'm getting a unhandled page fault read access error. Any ideas? I tried with both 3.16 -7 and -8.

What I see happening is the screen goes black and shows the PoE cursor for a few seconds, then exits.

Seems like adding -w 1920 to the launch options worked also. A little more convenient than switching resolution manually before launch.

since that didnt work for me i just created a production_Config.ini with height/width etc.
Its working now but the FPS/Stutters are really bad. Seems like every animation/mobcreation/etc. mini-freeze my PC.

Baffling for me is the fact that the most graphic options dont have any positive or negative impact on the performance 8x/4x/no MSAA or medium/high-textures etc.

Last League i played on a lutris/wine/dxvk-pipeline hack combination and almost had 100 fps constantly, but this league i cant get it done not with lutris nor with proton. Iam open for ideas.

I've been using wine-staging with dxvk, and I've had pretty smooth performance. Are you using the 64-bit client? The 32-bit client runs really poorly for me.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                    
 6780 evilchen  20   0 3771876 1,541g 268696 R 207,9  9,9   2:30.56 PathOfExile_x64    

Yes looks like its the 64-bit client.

edit: standing in oriath gives me 20 fps, hideout be like 80, gameplay is 0-20. Ive tried to track if my CPU or GPU or SSD hits any limits but theres plenty of room for every component.

edit2: for what i can see is. the gpu memory allocated is much much lower than the last patch. before it was arround 3,5GB now its it 1.8GB after idling in a fully crowded town.

Setting borderless_windowed_fullscreen=false fixed my issue btw. I can now play PoE with my nvidia GPU w/ bumblebee and vulkan.

Edit: Nevermind, only works with DX9 and Proton 3.7.8, I set that in there.

For me the freeze of the GGG loading screen seems to coincide with the printing of "2019/03/15 16:07:41 1543730 [I PathOfExile_x64Steam.exe 41] Sending steam user info request: ...." to the console.

Yea not working for me on latest proton play.

Running virtually flawless for me but for some reason when I launch the game it will crash steam, then when I restart steam and re-launch the game it works fine...not really sure what's going on there (happens like clockwork).
Besides the shader stutter I'm getting a solid 70 - 80 FPS, everything on max (except Shadow + GI is on high). On windows I get 140 FPS constant. I didn't need to change any settings in Proton, just install and play.

I know with emulators you can download shader caches to avoid stuttering along through games while you build the shader cache. Would it be possible for Valve to distribute such caches for these games?

  • Sys-info
  • Proton Version: 4.2-1
  • Kernel: 4.15.0-46-generic
  • Driver/LLVM version: NVIDIA 418.56

I have a problem. After the game starts and load my character, it gives error window (screenshot) when I try to move. It's impossible to play.

Proton: 4.2-1
Kernel: 5.0.4-arch1-1-ARCH
Distro: Archlinux x86_64
Video: NVidia GTX 660, drivers 418.56

I have a problem. After the game starts and load my character, it gives error window (screenshot) when I try to move. It's impossible to play.

Proton: 4.2-1
Kernel: 5.0.4-arch1-1-ARCH
Distro: Archlinux x86_64
Video: NVidia GTX 660, drivers 418.56

PackCheck should fix this.

For me Path of Exile worked seemingly flawless on 3.16-8 beta but when I try it with 4.2-1 it crashes after a minute or two of playing, without any error message or popup. It just crashes straight to desktop.

Proton: 4.2-1
Kernel: 5.0.4-arch1-1-ARCH
Distro: Antergos Linux x86_64
WM: i3-gaps
CPU: Intel i5-4590 3.7Ghz
GPU: Nvidia GTX 770 (418.56)

*edit
Now it happens with 3.16-8 as well

Hello @JasonLighthunter, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

No crashes on 4.2-1 here, played quite a lot! Ubuntu 19.04, RADV 19.0.1

@kisak-valve
This time I could play the game for quite a while (15 minutes or so) and got a error popup. Forgot to make a screenshot, unfortunately.

steam-238960.log

For me Path of Exile worked seemingly flawless on 3.16-8 beta but when I try it with 4.2-1 it crashes after a minute or two of playing, without any error message or popup. It just crashes straight to desktop.

Proton: 4.2-1
Kernel: 5.0.4-arch1-1-ARCH
Distro: Antergos Linux x86_64
WM: i3-gaps
CPU: Intel i5-4590 3.7Ghz
GPU: Nvidia GTX 770 (418.56)

*edit
Now it happens with 3.16-8 as well

same here, i will try to start it with log-command next time ill play

I had the same problem stuck on wheels and then froze... Have any of you looked at your memory usage? that is what one of the problems is for sure, mine was capped and I have 4gb of ddr4 which is trash but its not enough to play well NOT with them increasing memory and requirements.. so back to windows I go until I get more RAM. If anyone has less memory and it's working fine please let me know!

I just want to add another data point to the bug where this game does not run on resolutions > 1920 x 1080. When I launch this using my native resolutions (2560 x 1440 or 3440 x 1440), the game will get to the grinding gear games logo and then freeze my system when the animation finishes. Changing my system resolution to 1920 x 1080 on both of my monitors allowed the game to launch to the main screen. Let me know if I need to provide any logging for the crash to help along a fix!

My system information:
Proton version: 4.2.2 (this happened on old 3.1x versions as well)
Kernel: 5.0.5-200.fc29.x86_64 (this happened on 4.x kernels as well)
GPU: Nvidia 1070ti using driver version 418.56
Distro: Fedora 29 x86
CPU: Ryzen 2700X
Misc: Using KDE as a desktop environment

The game seems to be crashing for me on startup (no window comes up or anything). Here is the log if anyone could provide insights:

steam-238960.log

At a glance it looks like an issue loading the Vulkan driver, but I have confirmed Vulkan to be working with other games.

Hello @CubeTheThird, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Here is my system information.

You're running Steam with the Steam runtime disabled, so you or your distro's package maintainer for Steam is responsible for resolving any missing dependencies including libvulkan.so.1. Please retest with steam-runtime or verify you have the vulkan-icd-loader and lib32-vulkan-icd-loader packages installed.

@kisak-valve I have done a few runs with the mostly the same specs as before:
Some runs where short (5 minutes or so, mostly the last two, which involved the areas from the Delve expansion (which were fine two days earlier)). but other runs lasted more than an hour.

Proton: 4.2-2
Kernel: 5.0.6-arch1-1-ARCH
Distro: Antergos Linux x86_64
WM: i3-gaps
CPU: Intel i5-4590 3.7Ghz
GPU: Nvidia GTX 770 (418.56-6)

I have compiled a zip of reports with notes, logs and 2 screenshots of errors. hope these are useful.
path_of_exile_reports.zip

Ah it seems I was indeed missing the 32bit version of the library. I wasn't even aware PoE required it, though I'm not sure why I didn't have it installed by default. Thank you for the help.

Is it even possible to run on windowed mode with a custom resolution? Any resolution other than 1080 crashes my desktop.

Is it even possible to run on windowed mode with a custom resolution? Any resolution other than 1080 crashes my desktop.

I just want to add another data point to the bug where this game does not run on resolutions > 1920 x 1080. When I launch this using my native resolutions (2560 x 1440 or 3440 x 1440), the game will get to the grinding gear games logo and then freeze my system when the animation finishes. Changing my system resolution to 1920 x 1080 on both of my monitors allowed the game to launch to the main screen. Let me know if I need to provide any logging for the crash to help along a fix!

My system information:
Proton version: 4.2.2 (this happened on old 3.1x versions as well)
Kernel: 5.0.5-200.fc29.x86_64 (this happened on 4.x kernels as well)
GPU: Nvidia 1070ti using driver version 418.56
Distro: Fedora 29 x86
CPU: Ryzen 2700X
Misc: Using KDE as a desktop environment

the most resolution fixes are solved with the latest version of dxvk, ive tried it with lutris and every resolution for me worked super fine, even the performance got quite a boost. Guess you have to wait for proton to implement the latest changes

this helped me to finally start POE in ubuntu 19:
$ sudo apt remove xserver-xorg-video-intel
i don't know why this fixed it, but it seems to run fine so far.

this helped me to finally start POE in ubuntu 19:
$ sudo apt remove xserver-xorg-video-intel
i don't know why this fixed it, but it seems to run fine so far.

Don't quote me on this, but I'm pretty sure those are the old Intel drivers. I would assume you either had your graphics drivers set to them instead of newer ones or instead of drivers for a dedicated card.

Well, you could be right, but I didn't manually install or set any drivers, I don't even know how without research. Its just vanilla ubuntu 19, which came out like a month ago.

System Information

  • GPU: NVIDIA GeForce GTX 750 Ti
  • CPU: AMD Ryzen 5 1500X (8) @ 3.500GHz
  • OS: Linux Mint 19 Tara x86_64
  • Driver/LLVM version: Nvidia 430.09
  • Kernel version: 4.15.0-48-generic
  • Proton version: 4.2-3

Symptoms

steam-238960.log

Randomly freezes wine-application after alt-tabbing/casting/pointing cursor on item. Cures only with killing Steam and PoE processes in Process Monitor.

Hey guys, I am not a programmer, but i am having the same problem, and i didn't understand any of your solutions, please do help me i did try EVERYthing i could understand on the web even formatted my laptop

Path of Exile random crashes

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2795.
@MrPaj posted on 2019-06-10T21:05:25:

Hi,

Path of Exile running is randomly crashing while I am fighting.
Sometimes I can play for hours without issues, other times it happens every 10 minutes.
If you need any logs, please let me know which ones. Below details of my specs

Thank you

Proton 4.2.6
CPU: AMD Ryzen 5 2600X Six-Core Processor
Debian GNU/Linux 10 (buster) (64 bit)
Kernel Version: 4.19.0-5-amd64
Driver: NVIDIA Corporation GeForce GTX 1060 6GB/PCIe/SSE2
Driver Version: 4.6.0 NVIDIA 418.56
RAM: 16056 Mb

Path of Exile is having a _lot_ of random crashes on Windows too right now, they've made some big changes in the latest update! I don't think it has anything to do with Proton, it was stable before PoE 3.7. https://www.pathofexile.com/forum/view-forum/patch-notes

Path of Exile is having a _lot_ of random crashes on Windows too right now, they've made some big changes in the latest update! I don't think it has anything to do with Proton, it was stable before PoE 3.7. https://www.pathofexile.com/forum/view-forum/patch-notes

The problem seems to happen only the map the Descent in act9. After5~10 minutes killing mobs the game crashes.
I can play other areas for hours without problems
Is there any way (logs or something) to confirm if the issue is only related to Proton or a problem of the game itself?

Thanks

I have a laptop with Intel HD 520 and NVIDIA 940MX (driver 430.26). Using Steam's proton 4.2-7, the game runs with the Intel card. It also runs with the NVIDIA only with PROTON_USE_WINED3D=1.

When using NVIDIA without that option, the game often crashes as soon as I login, but sometimes a little later, showing a popup displaying "CreateShaderResourceViewEx". Sometimes it crashes without any message.

Log for a crash with CreateShaderViewEx steam-238960.log
Log for a crash without message 1-steam-238960.log

I have a laptop with Intel HD 520 and NVIDIA 940MX (driver 430.26). Using Steam's proton 4.2-7, the game runs with the Intel card. It also runs with the NVIDIA only with PROTON_USE_WINED3D=1.

When using NVIDIA without that option, the game often crashes as soon as I login, but sometimes a little later, showing a popup displaying "CreateShaderResourceViewEx". Sometimes it crashes without any message.

Log for a crash with CreateShaderViewEx steam-238960.log
Log for a crash without message 1-steam-238960.log

I am getting the same crashes, specifically the CreateShaderViewEx which is interesting because sometimes I can click ok on it and keep playing just fine. Act 9 / Act 9 the descent have been particularly bad. Othertimes just loading into the game it closes, or when I'm running around killing things.
Driver: NVIDIA Corporation GeForce GTX 970
Driver Version: 4.6.0 NVIDIA 430.26

I have a laptop with Intel HD 520 and NVIDIA 940MX (driver 430.26). Using Steam's proton 4.2-7, the game runs with the Intel card. It also runs with the NVIDIA only with PROTON_USE_WINED3D=1.

When using NVIDIA without that option, the game often crashes as soon as I login, but sometimes a little later, showing a popup displaying "CreateShaderResourceViewEx". Sometimes it crashes without any message.

Same problem here.
NVIDIA Geforce 920M (driver 430.26)

I noticed that the game crashes often times when there's a lot going on, like 25+ enemies on the screen and such.

I'm on AMD.

I noticed that the game crashes often times when there's a lot going on, like 25+ enemies on the screen and such.

I'm on AMD.

for me dynamic resolution was the culprit, without it i have like 90% less crashes

Okay, I got a very bad memory problem.

Every map you go to, creates a new instance of that map, and after going through a few maps, my memory usage increases considerably. If I play the game for too long, it'll eventually freeze and kick me back to the login screen with An unexpected disconnection occurred.

Now while monitoring the system resources, I found out that this happens due to the game not having any memory left to use, the system RAM is at 100% usage.

It seems that reducing the texture quality and disabling dynamic resolution scaling reduces the memory consumption by a lot.

Hello all

i get fmod-failed-to-initialize-error-code-59 if the sound driver is OSS (Open Sound System) can someone confirm this?

My problem happens when PoE closes...

Game runs fine enough. But when I exit the game, 2 processes of $HOME/.local/share/Steam/ubuntu12_32/steam spike up to 100% CPU usage.

They've stayed that way overnight a few times, they don't seem to eventually end unless I manually SIGKILL, which in turn closes steam down. If I exit steam, they stay running and steam doesn't close. Gameoverlay is disabled, and this doesnt seem to happen with other games.

(arch, stock proton 4.11-5, amd ryzen 1700 + vega64)

My problem happens when PoE closes...

Game runs fine enough. But when I exit the game, 2 processes of $HOME/.local/share/Steam/ubuntu12_32/steam spike up to 100% CPU usage.

They've stayed that way overnight a few times, they don't seem to eventually end unless I manually SIGKILL, which in turn closes steam down. If I exit steam, they stay running and steam doesn't close. Gameoverlay is disabled, and this doesnt seem to happen with other games.

(arch, stock proton 4.11-5, amd ryzen 1700 + vega64)

I get this on a lot of games. Launching the steam game as bare bone as possible seems to help, there is commandline arguments to not launch the friends view, the browser and other shenanigans.

Is there a way to toggle the shader pre-caching? Twice today Path of Exile's downloaded 6GB shader pre-caching content. Only game that does this, still.

Add Path of Exile to Proton

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3161.
@hollowsaibot posted on 2019-10-21T20:38:58:

Hi Valve/Proton team,

last month I could play Path of Exile "without" problems on Linux (Ubuntu 19.04) but trying updates and upgrades 4 nvidia and ubuntu 19.10 everything went to hell.
The thing is that I could play normally. I am not sure if the title was allowed to run on Steam with Proton and is just now that it's needed to "force all titles to play with", but please, check this title to be playable with Steam.

Additionally, one month ago the pre-content cache for shaders started every day for this game (downloading 6.3 GB before starts) but now (some weeks ago) the game doesn't create shaders cache. I think that this functionallity is useful, specially if you have a nvidia 1050ti and the fps are on the limit. Please check that too.

Regards,

Hello @hollowsaibot, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

steam-238960.log
Hi,
I installed 19.10 from zero this time, the driver autoinstalled is the nvidia-435 it seems that the game works (still has fps falls, I test it quick) and the Shader Pre-Caching (Steam > Settings > S.Pre-Cach.) is still 0 MB for now)

If any improvement can be done for that will be welcome. If you have any question, you can tell me.

Regards,

Anyone else having huge issues running this game? I'm running Manjaro 18.1.0 with Proton 4.11-8 with an NVidia 1060 and the game loads fine and all, it just takes upwards of 1-2 minutes to load into new areas. Also, some of the new areas don't load and seeing new content causes stuttering. I've seen reports of users doing customizations to work around this 'shader loading' issue, but is there any incoming fix coming from Proton? I think most of us would prefer to avoid installing custom pieces of software just to get a single game working

The --waitforpreload launch option vastly improved new area load times for me. It takes longer to startup but areas load pretty much instantly after that.

Due to the frequent updates, the shader stuttering will probably never go away. It does get much better after a few hours of play, though.

Hi, POE is not working for me with proton version 4.11.8. It worked fine with 4.11.7.
I use Fedora 31 win an nvidia 1050 ti.

Here's the proton log file:

======================
Proton: 1573156648 proton-4.11-8
SteamGameId: 238960
Command: ['/home/red/.local/share/Steam/steamapps/common/Path of Exile/PathOfExileSteam.exe', '--nopatch']
Options: set()
======================
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
esync: up and running.
78040.038:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b430000: builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78040.059:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78040.061:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\wineboot.exe" at 0x7f05bcc40000: builtin
78040.065:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78040.067:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f05bca80000: builtin
78040.068:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f05bcad0000: builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78040.248:000c:000d:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78040.250:000c:000d:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\services.exe" at 0x400000: PE builtin
78040.252:000c:000d:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78040.253:000c:000d:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f1323670000: builtin
78040.253:000c:000d:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f13237b0000: builtin
78040.254:000c:000d:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f1323590000: builtin
78040.255:000c:000d:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78040.257:000c:000d:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\userenv.dll" at 0x7f1323550000: builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78040.306:000f:0010:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78040.307:000f:0010:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\plugplay.exe" at 0x400000: PE builtin
78040.310:000f:0010:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78040.311:000f:0010:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f849ebc0000: builtin
78040.311:000f:0010:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f849ed00000: builtin
78040.312:000f:0010:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f849eae0000: builtin
78040.319:000f:0010:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78040.373:0016:0017:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78040.373:0016:0017:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\winedevice.exe" at 0x400000: PE builtin
78040.375:0016:0017:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78040.376:0016:0017:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f7a5ec50000: builtin
78040.376:0016:0017:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f7a5eda0000: builtin
78040.377:0016:0017:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f7a5eb80000: builtin
78040.378:0016:0017:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ntoskrnl.exe" at 0x67a00000: PE builtin
78040.387:0016:0017:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78040.406:0016:0019:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7f7a5e500000: builtin
78040.407:0016:0019:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7f7a5e4d0000: builtin
78040.407:0016:0019:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7f7a5e6b0000: builtin
78040.407:0016:0019:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\setupapi.dll" at 0x6a700000: PE builtin
78040.407:0016:0019:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\drivers\\winebus.sys" at 0x7f7a5eb30000: builtin
78040.671:0016:0019:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65000000: PE builtin
78040.671:0016:0019:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x6bec0000: PE builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78040.740:001e:001f:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78040.741:001e:001f:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\winedevice.exe" at 0x400000: PE builtin
78040.743:001e:001f:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78040.745:001e:001f:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f65d3740000: builtin
78040.745:001e:001f:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f65d3890000: builtin
78040.747:001e:001f:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f65d3660000: builtin
78040.748:001e:001f:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ntoskrnl.exe" at 0x67a00000: PE builtin
78040.759:001e:001f:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78040.774:001e:0021:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\drivers\\mountmgr.sys" at 0x7f65d3620000: builtin
78040.791:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7f05bbe90000: builtin
78040.793:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f05bbdb0000: builtin
78040.795:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7f05bbaf0000: builtin
78040.795:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7f05bbb30000: builtin
78040.795:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x68a40000: PE builtin
78040.797:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78040.797:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65000000: PE builtin
78040.797:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shcore.dll" at 0x64940000: PE builtin
78040.898:000a:000b:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x6bec0000: PE builtin
78040.901:000a:000b:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x7f05bc050000: builtin
78040.909:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\steam.exe" at 0x7eb10000: builtin
78040.915:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71240000: PE builtin
78040.916:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7ea20000: builtin
78040.916:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7ea60000: builtin
78040.917:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7e8d0000: builtin
78040.918:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7e800000: builtin
78040.919:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fdc0000: PE builtin
78040.921:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7e5a0000: builtin
78040.921:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7e5e0000: builtin
78040.921:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65200000: PE builtin
78040.928:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x68c40000: PE builtin
78040.928:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shcore.dll" at 0x64b40000: PE builtin
78040.929:0008:0009:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x7dbc0000: builtin
78041.039:0008:0009:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x6c0c0000: PE builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Setting breakpad minidump AppID = 238960
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198070664852 [API loaded no]
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
78041.070:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78041.071:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\explorer.exe" at 0x400000: PE builtin
78041.073:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78041.074:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7efddfcf0000: builtin
78041.074:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7efddfe40000: builtin
78041.075:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7efddfb50000: builtin
78041.076:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7efddfa60000: builtin
78041.076:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78041.079:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7efddf7b0000: builtin
78041.079:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7efddf7e0000: builtin
78041.088:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b420000: builtin
78041.089:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\explorer.exe" at 0x400000: PE builtin
78041.092:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71040000: PE builtin
78041.093:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7f90f18a0000: builtin
78041.093:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\advapi32.dll" at 0x7f90f19e0000: builtin
78041.094:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7f90f16f0000: builtin
78041.095:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7f90f1610000: builtin
78041.095:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fbc0000: PE builtin
78041.098:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7f90f1350000: builtin
78041.098:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7f90f1390000: builtin
78041.185:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65000000: PE builtin
78041.185:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x6bec0000: PE builtin
78041.195:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\setupapi.dll" at 0x6a700000: PE builtin
78041.195:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\winex11.drv" at 0x7efddf460000: builtin
78041.212:0008:0025:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\setupapi.dll" at 0x6a900000: PE builtin
78041.212:0008:0025:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\winex11.drv" at 0x7d770000: builtin
78041.220:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x68a40000: PE builtin
78041.221:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shcore.dll" at 0x64940000: PE builtin
78041.222:0026:0027:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x7efdde920000: builtin
78041.229:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\oleaut32.dll" at 0x6a100000: PE builtin
78041.229:0026:0027:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\actxprxy.dll" at 0x960000: PE builtin
78041.281:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65000000: PE builtin
78041.281:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\imm32.dll" at 0x6bec0000: PE builtin
78041.291:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\setupapi.dll" at 0x6a700000: PE builtin
78041.291:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\winex11.drv" at 0x7f90f1010000: builtin
78041.310:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x68a40000: PE builtin
78041.311:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shcore.dll" at 0x64940000: PE builtin
78041.313:0028:0029:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\shell32.dll" at 0x7f90f0570000: builtin
78041.319:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\oleaut32.dll" at 0x6a100000: PE builtin
78041.319:0028:0029:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\actxprxy.dll" at 0x750000: PE builtin
ERROR: ld.so: object '/home/red/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
78041.355:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b430000: builtin
78041.373:002f:0030:trace:loaddll:load_native_dll Loaded L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\PathOfExileSteam.exe" at 0x400000: native
78041.377:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x71240000: PE builtin
78041.378:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\sechost.dll" at 0x7ea80000: builtin
78041.378:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\ADVAPI32.dll" at 0x7ead0000: builtin
78041.387:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\gdi32.dll" at 0x7df30000: builtin
78041.388:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\msvcrt.dll" at 0x7de60000: builtin
78041.393:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\version.dll" at 0x7dc00000: builtin
78041.393:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\user32.dll" at 0x7dc40000: builtin
78041.393:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0x68c40000: PE builtin
78041.397:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0x6fdc0000: PE builtin
78041.397:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\ole32.dll" at 0x65200000: PE builtin
78041.397:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\shcore.dll" at 0x64b40000: PE builtin
78041.397:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\SHELL32.dll" at 0x7e0a0000: builtin
78041.398:002f:0030:trace:loaddll:load_native_dll Loaded L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\steam_api.dll" at 0x3b400000: native
78041.401:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\WS2_32.dll" at 0x7dbd0000: builtin
78041.407:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\WLDAP32.dll" at 0x7db60000: builtin
78041.409:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\dbghelp.dll" at 0x7d320000: builtin
78041.412:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\msacm32.dll" at 0x66640000: PE builtin
78041.412:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\WINMM.dll" at 0x7d250000: builtin
78041.416:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\bcrypt.dll" at 0x7d120000: builtin
78041.416:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\CRYPT32.dll" at 0x7d160000: builtin
78041.417:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\Normaliz.dll" at 0x62180000: PE builtin
78041.418:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\OLEAUT32.dll" at 0x6a300000: PE builtin
78041.420:002f:0030:err:module:import_dll Library dxgi.dll (which is needed by L"C:\\windows\\system32\\d3d11.dll") not found
78041.421:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\vulkan-1.dll" at 0x7d110000: builtin
78041.422:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\winevulkan.dll" at 0x7d0d0000: builtin
78041.422:002f:0030:err:module:import_dll Library d3d11.dll (which is needed by L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\PathOfExileSteam.exe") not found
78041.422:002f:0030:err:module:import_dll Library dxgi.dll (which is needed by L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\PathOfExileSteam.exe") not found
78041.423:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\IMM32.dll" at 0x6c0c0000: PE builtin
78041.424:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\IPHLPAPI.DLL" at 0x7d0a0000: builtin
78041.426:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\usp10.dll" at 0x7d040000: builtin
78041.426:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\winsxs\\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef\\COMCTL32.dll" at 0x6e8c0000: PE builtin
78041.429:002f:0030:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\winspool.drv" at 0x7cff0000: builtin
78041.429:002f:0030:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\COMDLG32.dll" at 0x6b8c0000: PE builtin
78041.429:002f:0030:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\PathOfExileSteam.exe" failed, status c0000135
78042.448:0016:001a:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\drivers\\winebus.sys" : builtin
78042.448:0016:001a:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\setupapi.dll" : builtin
pid 167530 != 167528, skipping destruction (fork without exec?)

Hello @red667, err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\red\\.local\\share\\Steam\\steamapps\\common\\Path of Exile\\PathOfExileSteam.exe" failed, status c0000135 in your log sounds like https://github.com/ValveSoftware/Proton/issues/823#issuecomment-552137632. You may get lucky by trying to run the game with Proton 4.2 and then switching back to 4.11.

HI @kisak-valve , I think you are right, bit I also found the log line:

79493.858:002e:002f:err:module:import_dll Library dxgi.dll (which is needed by L"C:\\windows\\system32\\d3d11.dll") not found

So directx is not running which which is required for the game to run.

I already ran the game with Proton 4.2 and it works. But switching back to 4.11.8 renders the same issue again.

You could try adding WINEDLLOVERRIDES="dxgi=n" %command% to the game's launch options.

Thanks! That works.

My current launch options to make the game work are:
DXVK_STATE_CACHE=0 PROTON_NO_ESYNC=0 WINEDLLOVERRIDES="dxgi=n" %command%

Does anyone else have the bug where the green buttons do not display any text on them? Apart from that the game seems to work correctly.

After some testing/tweaking, the game is running OK. I wouldn't play Hardcore mode, but it's playable enough for Standard. The following launch options seem to work best for me:

gamemoderun %command% --waitforpreload --nologo --nodx9ex --garbage-generation 2

Arch Linux, i7-2600, GTX 1060, Nvidia 440.59, Proton 5.0-1

The gamemoderun command is for Feral's GameMode.

There are still some issues with FPS drops, as well as high frame times and lag spikes.

My problem happens when PoE closes...

Game runs fine enough. But when I exit the game, 2 processes of $HOME/.local/share/Steam/ubuntu12_32/steam spike up to 100% CPU usage.

They've stayed that way overnight a few times, they don't seem to eventually end unless I manually SIGKILL, which in turn closes steam down. If I exit steam, they stay running and steam doesn't close. Gameoverlay is disabled, and this doesnt seem to happen with other games.

(arch, stock proton 4.11-5, amd ryzen 1700 + vega64)

Same issue for quite a while. I must SIGKILL the two processes for them to terminate.
It does not depend on option used to launch the game.
(Debian testing, proton 5.0-4, GTX 1070Ti with Nvidia driver 440.64)

Now that you mention it, I was having the same problem with games using dxvk 1.5.5 on regular wine. I switched to 1.5.4, and the problem went away. (I noticed it with Guild Wars 2 and Path of Exile.)

Missing images in Path of Exile when using Ubuntu 20.04

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3861.
@robert-olofsson posted on 2020-05-13T16:20:45:

Compatibility Report

  • Name of the game with compatibility issues: Path of Exile
  • Steam AppID of the game: 238960

System Information

  • GPU: Radeon RX Vega M GH (Intel hades canyon nuc)
  • Driver/LLVM version: whatever is in ubunutu 20.04 (20.0.4,
  • Kernel version: 5.4.0-28-generic
  • Proton version: Proton 5.0, version-file say: 1588350139 proton-5.0-7-rc3

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x ] that I have checked whether there are updates for my system available.

Symptoms

Missing pictures in game. Most visible on the startup screen where the current info images
are missing and in the game the minimap do not show extras on top of it.

Reproduction

Start game. look at login screen

Starting from console I see a few log lines like:
0024:err:wincodecs:PngDecoder_CreateInstance Failed reading PNG because unable to find libpng12.so.0

Look around and notice that modern ubuntu uses libpng16 and does not have an easy libpng12. It is available in a PPA though and installing it solves the issue.

Would be good to build with a more modern libpng.

Hello @robert-olofsson, the Steam runtime provides libpng12, so it's odd that Proton isn't picking up the library from there. Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report. There may be a hint in the extended diagnostic section.

Path of Exile: CreateShaderResourceViewEx: Invalid parameter

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3868.
@Opencode-foss posted on 2020-05-14T17:53:31:

Compatibility Report

  • Name of the game with compatibility issues: Path of Exile
  • Steam AppID of the game: 238960

System Information

  • GPU: i7-4790K Intel HD Graphics
  • Driver/LLVM version: Intel Open Source Technology Center Mesa DRI
    Intel(R) HD Graphics 4600 (HSW GT2)
    3.0 Mesa 20.0.6
  • Kernel version: 5.6.11-arch1-1 x86_64
  • Link to full system information report as Gist: systemreport.txt
  • Proton version: 5.0-7

I confirm:

  • [ I confirm] that I haven't found an existing compatibility report for this game.
  • [ I confirm] that I have checked whether there are updates for my system available.

steam-238960.log

Symptoms

When I am loading into a game it crashes and gives me a CreateShaderResourceViewEx: Invalid parameter exception.
Found it log file: "[CRIT Client 192] [D3D11] CreateShaderResourceViewEx: Invalid parameter."

Reproduction

Hello @Opencode-foss, looking at your log, DXVK failed a vram allocation when it hit a 1.5GB limit:

err:   DxvkMemoryAllocator: Memory allocation failed
err:     Size:      6553600
err:     Alignment: 4096
err:     Mem flags: 0x1
err:     Mem types: 0x1
err:   Heap 0: 1472 MB allocated, 1019 MB used, 1529 MB allocated (driver), 1536 MB budget (driver), 1536 MB total

Thank you @kakra the quick response. How do you increase your vram limit on Intel Graphics on Linux.

Thank you @kakra the quick response. How do you increase your vram limit on Intel Graphics on Linux.

@Opencode-foss You meant @kisak-valve probably...

Just tested out the Vulkan renderer, but I'm crashing after player selection. Seeing a lot of this message in the log:

fixme:dbghelp:elf_search_auxv can't find symbol in module

Full log:
steam-238960.log

I'm using proprietary Nvidia drivers in my case (version 440.82). If more info is needed, please let me know.

Just ran the game with the new vulkan renderer. It runs smoother than before.
But I had to change my launch options.

For me these launch options are working:
PROTON_USE_D9VK=1 WINEDLLOVERRIDES="dxgi=n,b" %command%

I didn't need to set the D9VK, but I added some others flags to enable cache and some optimization (using vulkan with a MX150):
gamemoderun __GL_SHADER_DISK_CACHE=1 __GL_SHADER_DISK_CACHE_PATH='<random_path>' ENABLE_VKBASALT=1 __NV_PRIME_RENDER_OFFLOAD=1 WINEESYNC=1 DXVK_USE_PIPECOMPILER=1 STAGING_SHARED_MEMORY=1 WINEDLLOVERRIDES="dxgi=n,b" %command%

However, the WINEDLLOVERRIDES="dxgi=n,b" %command% worked fine for me

Render works fine, ~50% fps boost on Vulkan.

Vulkan renderer wont work for me, it crashes at blckscreen

Path of Exile does not launch with Proton 5.0-8

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3969.
@Dragallur posted on 2020-06-11T07:43:23:

Path of Exile appears for a moment in my processes but then it just disappears and does not launch. (Using Ubuntu 18)

OS: Arch Linux x86_64
Kernel: 5.6.12-3
GPU: Intel HD Graphics 5500

Experiencing crashes (around 10-15 min of gameplay while using the vulkan renderer) and with this at log of the Client.txt:

[CRIT Client 200] [VULKAN] vk::FragmentedPoolError::FragmentedPoolError: vk::Device::allocateDescriptorSetsUnique

OS: ArchLinux
Kernel: 5.7.2-zen1-1-zen
GPU: AMD 5700 XT
Proton 5.0.9

i cant get PoE to run with the new vulkan renderer and amdvlk

as soon as i set the VK_ICD_FILENAMES to /usr/share/vulkan/icd.d/amd_icd64.json the game wont start, it gives my some createSwapChain error

anyone else got this? or maybe even a fix for that?

edit: the radeon vulkan layer has many bugs and graphic-glitches and the map wont render

Crashes when I switch to the new Vulkan renderer, Freezes for about 10 seconds and cuts to a black screen before closing

Tried several different launch options and combinations of what people previously in the tread used.
Tried Proton 5.0-9 and 4.11-13 with the same error in the end.

Please see below for system gist and an error log from proton
System Gist
https://gist.github.com/jackarsnel/b7b4d962f4f86a0b8d52fde7a8b79342
Error Log
https://pastebin.com/4pKU146b

What ultimately worked for me (on Nvidia graphics mind you), I use these launch options:
--waitforpreload --gc 1
(not sure if the garbage collector affects it, but the preload seems to work better).
In the game menu (before selecting a region) I switched the texture settings to medium, which is recommended for the beta Vulkan renderer by the game devs, and _then_ set it to Vulkan. After the change is saved, I save and quit the game, and re-opened (making sure the settings persist) before actually logging in and choosing a character.

@CubeTheThird note that garbage collection option is actually -gc, not --gc. And -gc is a short equivalent of --garbage-generation option. See more here: https://pathofexile.gamepedia.com/Launch_options.

So since using the Vulkan renderer, if I don't play PoE in awhile, the processing Vulkan shaders step in the Steam launch will take awhile. (Other games don't take nearly as long, say, No Man's Sky.) Is this expected?

I tried on a fresh install, just to see if that would speed things along, and it took about 2 hours to process vulkan shaders. I don't remember it taking nearly this long a few weeks ago. Something change? (Ryzen 5, 1600, Nvidia 1050ti, 450.57 drivers)

Same for me. Now Path of Exile recompiles shaders every time I log in Steam. It takes literally hours.

Below is the screenfetch info.

OS: Ubuntu 20.04 focal
Kernel: x86_64 Linux 5.4.0-42-generic
DE: GNOME 3.36.4
WM: Mutter
CPU: Intel Core i7-3770K @ 8x 3.9GHz [67.0°C]
GPU: GeForce GTX 980
RAM: 8664MiB / 15972MiB

This is what I'm getting almost every time when starting Steam. It takes about 2 hours to process.

Screenshot from 2020-08-15 11-32-11

@evenfrost you can skip this part. Then it will be processed while running the game. Might be some lags while it processes for the first time. But after a while all you need is processed.

The issue is it takes a significant amount of resources of my PC (so I assume PoE will be pretty laggy to play during this) and happens almost every time I start Steam.

PoE isn't very laggy once you get into it, if you skip the processing step. (My current gripe is about patching and how long that takes, but that's also an issue on the standalone client.)

For some reason I can't skip the shader cache compiler in the beginning.
If I click skip the menu does go away and path of exile starts, but the process doesn't stop and completely nukes my cpu.
I have a Ryzen 9 3950x and it uses 100% of every core for about half an hour

Edit: even after I close steam, it continues building the shader cache

game crash after the 3.11.2 patch
here is my proton log
https://pastebin.com/DHJEBBh2

Hello @DragoonZ, err:steamclient:create_win_interface Don't recognize interface name: SteamUser021 looks like a line of interest in the log. Related: #3886

Yes, the game now crashes after the 3.11.2 patch right when first opening the window. The window opens, stays black for a second and then the game terminates. This is my crash log:
https://pastebin.com/BvJv0HvN

Note that this right at the bottom of the file seems to be the common demoninator:

18666.066:0284:0288:fixme:dbghelp:elf_search_auxv can't find symbol in module
18666.071:0284:0288:fixme:dbghelp:elf_search_auxv can't find symbol in module
18666.072:00b8:00bc:trace:seh:call_stack_handlers handler at 0x7b46bf10 returned 1
18666.072:0284:0288:trace:seh:__regs_NtGetContextThread 0x40: eax=01ccbc58 ebx=7ffdf000 ecx=00000000 edx=02bffc8c esi=02bffdf0 edi=02bffdfc
18666.072:0284:0288:trace:seh:__regs_NtGetContextThread 0x40: ebp=02bffca4 esp=02bffab8 eip=0082ad46 cs=0023 ss=002b flags=00210202
18666.072:0284:0288:trace:seh:__regs_NtGetContextThread 0x40: ds=002b es=002b fs=0063 gs=006b
18666.072:0284:0288:trace:seh:__regs_NtGetContextThread 0x40: dr0=00000000 dr1=00000000 dr2=00000000 dr3=00000000 dr6=00000000 dr7=00000000
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0082ad46).
18666.077:0284:0288:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:

I'm running the game using Vulkan. Maybe this is different with DX11 and somebody can tell us how to force using DX11 through a config file or something. I hope we can get this resolved soon, this is a huge bummer that the game no longer works, especially a week before such an awesome league.

Edit: It's weird that @jackarsnel had the same error message back in June.

Brand new installation for me. 5.09 proton, 5.9 from glorious eggroll crashes, too. Anyone try stock wine or wine-staging?

Log attached...
steam-238960.log

Sorry. Hardware profile: https://gist.github.com/garpu/2131323653d75ab871afd0bbd081487b

ETA: Proton-alyx worked for me.

Hello @DragoonZ, err:steamclient:create_win_interface Don't recognize interface name: SteamUser021 looks like a line of interest in the log. Related: #3886

thanks!
works fine with the patched build https://github.com/stevenlafl/Proton/releases/tag/proton-5.0-7-alyx-2

I still get the crash although I don't think its actually using the alyx version. Is ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/ the correct directory for the flatpak?

I can select the version here.
Screenshot from 2020-09-11 05-40-20

But oddly once steam restarts the checkbox for "Enable steam play for all other titles" unchecks itself. Top of game log still reads 5.0.9.

steam-238960.log

Hello @effinjdent, your log says that proton-5.0-9 is being used instead of what you expected. Maybe check the per-game Steam Play settings?

Hi @kisak-valve , will this bug be fixed in future proton release? Or this should be cared about by game dev themselves?

@kisak-valve I am saying that option, when I check it with the alyx selected, literally unchecks itself after steam restart.

The issue here is that the game updated steamworks to a version that Proton's Steam forwarding library hasn't been taught about yet. This happens semi-regularly and Proton needs to be taught about each new version. We should expect this to be resolved at some point with a Proton update.

@effinjdent, you've encountered https://github.com/ValveSoftware/steam-for-linux/issues/6043.

Is there a workaround for that? Reading that link is pretty depressing.

Even the Proton GE versions wont make the game launch, as @effinjdent said, this is very depressing, specially when the new league is at the corner :(

I set the override for Path of Exile to proton-5.0-7-alyx-2 and then the game works here!

I can confirm proton 5.0-7 alyx works, however performance is worse than 5.0-9 was used to

can valve push a fix before the new league start?

proton-5.0-7-alyx-2 doesnt work completely. It crashes on a Niko map (when finding sulphite) with a err:steamclient:create_win_interface Don't recognize interface name: SteamClient020

Edit: Looks like my crashes are unrelated to Niko and sulphite.

Path of Exile 3.11.2 crashes on launch

Issue transferred from https://github.com/ValveSoftware/Proton/issues/4188.
@Storm-Engineer posted on 2020-09-12T23:53:59:

Path of Exile just released a large patch that required re-downloading the whole game because it changed how it stores data. (Info: https://www.pathofexile.com/forum/view-thread/2933680)

Since then, the game crashes on start. I've tried several different versions of Proton, but it always crashes. Before the patch I was using 4.11-GE-1. Below are the terminal outputs for all the versions I tried. Apart from the 4.11 version, they contain stack traces.

poe-crash-Proton-4.11-GE-1.txt
poe-crash-Proton-5.0-1.txt
poe-crash-Proton-5.11-GE-1-MF.txt
poe-crash-Proton-5.11.GE.3.MF-1.txt

System information:
poe-crash-sysinfo.txt

I forgot to add, that I had "Vulkan (beta)" selected in the game instead of DirectX. Not sure if that affects this issue.

Also, confirming that the "alyx" build seems to work, at least the game now launches. Can't test gameplay at the moment because going to sleep...

P.s.: Thanks for the transfer, I didn't find this existing ticket for some reason.

EDIT: Tested the "alyx" build, works like a charm, had no issues but I only played for half an hour perhaps.

i had the game running fine on 5.9-GE-6-ST, but sometime today i updated my system and the game will not launch (not even a window). Tried GE-7-ST to be sure but could not get it working either.
Weird thing is my proton log is almost empty, looks like this:
====================== Proton: 1601959108 5.9-GE-7-ST-1-g465be27 SteamGameId: 238960 Command: ['/home/tomek/.local/share/Steam/steamapps/common/Path of Exile/PathOfExileSteam.exe', '--nopatch'] Options: {'forcelgadd'} ======================

For me, it works in GE-9-ST even in Vulkan mode, when it previously only showed wild flickering in-game (last tried a few weeks ago). The only thing left is: Assets and effects seem to take a long time to load, they are just invisible for like 30-60s, not sure if this is due to a tweak in GE. Also, occasionally, there are black boxes flickering for a blink of an eye sometimes. I've done only a quick test but gameplay seems very smooth with Vulkan compared to DX11, except that framerates are lower (around stable 30 fps instead of 45+ fps at 4k).

(using NVIDIA 455.22.04 on Gentoo)

I've done only a quick test but gameplay seems very smooth with Vulkan compared to DX11, except that framerates are lower (around stable 30 fps instead of 45+ fps at 4k).

I would not describe the whole gameplay experience as smooth compared to what I see people on Windows experience with equal or worse hardware. I have a 1080 Ti and a 3900X. Gameplay in acts is 100% smooth. When it comes to endgame (where the game really begins), usually it is pretty smooth and reaches 144 FPS for me, but when I'm in a juicy map with large mob packs, conqueror packs or Delirium fog, the frame rate TANKS. Like to barely-playable-I-hope-I-don't-die-levels.
Not sure what causes this discrepancy compared to Windows, but whenever there is a lot going on, it goes to like 3-5 FPS for a while. Also, the frame rate isn't a smooth 144 FPS all the time. Mostly, it fluctuates between 144 FPS and like 30 FPS with everything inbetween.
It's a decent experience overall, but calling this smooth is not realistic. I'm not even running on high settings. Pretty much the default settings. And I'm using gamemode and Proton-tkg-18 to run the game.
It is definitely playable (and acceptable most of the time), but I have a feeling that it is a lot more smooth on Windows when I look at streamer gameplay. When the Vulkan renderer was first introduced, though, the game performed a LOT better. This almost just seems like an issue that only GGG can solve. Not sure if the Proton team could even do anything about these performance issues.

but when I'm in a juicy map with large mob packs, conqueror packs or Delirium fog, the frame rate TANKS

Yeah this is my experience too. You _can_ experience something similar on Windows, specially some versions of PoE did, but it's much much less severe.
Nvidia or AMD doesn't seem to matter. But it must be related to asset/shader loading somehow.

Nvidia or AMD doesn't seem to matter. But it must be related to asset/shader loading somehow.

I don't think that shader loading is the issue here. I have the game installed on an M.2 SSD and I took the extra steps to put the Vulkan shader cache for the game on its own tmpfs directly in my RAM. It's about 500MB in size as of now.
To me, the lags/huge frame drops when a LOT is going on feel like they are related to shader compilation.

DirextX and Vulkan take a different approach to shader compilation, also I think there needs to be some conversion at least for some graphics drivers. So using DXVK to translate from DX11 to Vulkan isn't and cannot be optimal which leads to blocking behavior during shader compilation/transformation which DXVK tries to solve by remembering all shaders of the pipeline and replaying that early after init to get all shaders compiled before the game has a chance to block on that. Vulkan should be an opportunity to get much better here as it should probably be the same for shaders, be it Windows or Linux under the hoods. I think the Vulkan renderer of PoE just still lacks a lot of optimization and is by far less mature than the DX11 implementation, and DXVK has come a long way of also becoming a very optimized peace of software (which sometimes even beats native DX11) but still, there's that different approach of both APIs handling shaders.

Asset loading seemed to have no effect on the FPS I was seeing, and there was no stuttering during that time. I also think it's compiling the shaders that's causing the end-game performance problems because there are lots of new effects all the time.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Elkasitu picture Elkasitu  ·  3Comments

AwesamLinux picture AwesamLinux  ·  3Comments

kforney picture kforney  ·  3Comments

raikirii picture raikirii  ·  3Comments

juppso picture juppso  ·  3Comments