[Bug 42695] New: PoE fail to start when launching with dx11 enabled
https://bugs.winehq.org/show_bug.cgi?id=42695 Bug ID: 42695 Summary: PoE fail to start when launching with dx11 enabled Product: Wine-staging Version: 2.3 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: gufideg(a)gmail.com CC: erich.e.hoover(a)wine-staging.com, michael(a)fds-team.de, sebastian(a)fds-team.de Distribution: --- Created attachment 57663 --> https://bugs.winehq.org/attachment.cgi?id=57663 console output I get an error from Poe that says: "Failed to retrive IDXGIFactory from adapter": In source code file: ..\Device \D3D11\DeviceD3D11.cpp at line 336, Processing file: Failed to retrive IDXGIFactory from adapter Error: E_NOINTERFACE Description: Message: Then I click OK and the game closes. Works nicely with dx9 and dx9 ex -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Behem0th <grantipak(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |grantipak(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #1 from Bruno Jesus <00cpxxx(a)gmail.com> --- Is the application Path of Exile? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #2 from Guillaume <gufideg(a)gmail.com> --- Yes, sorry for the ambiguity. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Guillaume <gufideg(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|PoE fail to start when |Path of Exile: fail to |launching with dx11 enabled |start when launching with | |dx11 enabled -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #3 from Bruno Jesus <00cpxxx(a)gmail.com> --- I don't have the DirectX 11 option, only 9 and 9EX. Do you need anything non-standard to make it appear? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Kevin Ilphrin Pellet <ilphrin(a)autistici.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ilphrin(a)autistici.org --- Comment #4 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- I have the same issue with dx11, it says dx11 is not supported by my graphic card. But it is a AMD TM Radeon HD 8 8750M which supports dx11. I have to restart the game with dx9 or dx9 ex, which work nice. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest(a)luukku.com --- Comment #5 from winetest(a)luukku.com --- (In reply to Bruno Jesus from comment #3)
I don't have the DirectX 11 option, only 9 and 9EX. Do you need anything non-standard to make it appear?
If I don't have .wine prefix, wine-staging (as used comment 0) creates always 64 prefix. Maybe the game defaults to dx11 when 64bit system is in use. I haven't tested this game for long time since it was quite big download. It takes hours to download so I am not keen on testing thiskind of stuff. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Zakk <zakk(a)rsdio.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zakk(a)rsdio.com --- Comment #6 from Zakk <zakk(a)rsdio.com> --- To get the DirectX11 option you need to run a 64 bit prefix and run PathOfExile_x64.exe -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #7 from Guillaume <gufideg(a)gmail.com> --- DirectX11 is not enabled by default. One must launch the 64x version of the game and go to the options and enable it. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 wardormeur+wine(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wardormeur+wine(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Guillaume <gufideg(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|2.3 |2.13 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Józef Kucia <joseph.kucia(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia(a)gmail.com Version|2.13 |2.3 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fincer89(a)hotmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #8 from Guillaume <gufideg(a)gmail.com> --- Since 3.0.0, we see Failed to create WIC Factory And then the game proceed to output the refcount for many font resources. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #9 from Guillaume <gufideg(a)gmail.com> --- Created attachment 58875 --> https://bugs.winehq.org/attachment.cgi?id=58875 console output 3.0.0 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #10 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- I have the same issue, again, as Guillaume. Failed to create WIC Factory Then a lot of error messages for fonts resources. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Robert Olofsson <winehq(a)khelekore.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq(a)khelekore.org -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #11 from Robert Olofsson <winehq(a)khelekore.org> --- Same problem with wine-2.15 (Staging) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4(a)web.de -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Cristóbal Camarero <nakacristo(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nakacristo(a)hotmail.com --- Comment #12 from Cristóbal Camarero <nakacristo(a)hotmail.com> --- I have been debugging Path of Exile on a Windows machine and the condition to show the "Failed to create WIC Factory" depends only on a call to kernelbase.InitOnceExecuteOnce passing a function containing a call to combase.CoCreateInstance. I do not know a lot of wine, but it seems that InitOnceExecuteOnce is at kernel32 and CoCreateInstance at ole32. I am not sure if that could be causing problems. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #13 from Cristóbal Camarero <nakacristo(a)hotmail.com> --- If we add CoInitialize(NULL); inside the definition of CoCreateInstance before calling CoCreateInstanceEx then the error "Failed to create WIC Factory" no longer appears. Then it advances enough to show the original error of "Failed to retrive IDXGIFactory from adapter". This error appears when creating an object of iid 50c83a1c-e072-4c48-87b0-3630fa36a6d0, that is, a IDXGIFactory2. I tried to fake it in dxgi_factory_QueryInterface acting as it was OK but it only gets me a silent failure. I have been using a modified wine-2.14-staging. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #14 from Cristóbal Camarero <nakacristo(a)hotmail.com> --- I got it working. In addition to the "CoInitialize(NULL);" hack I just have now commented the line {D3D_FEATURE_LEVEL_11_1, 5}, in dlls/dxgi/utils.c at dxgi_check_feature_level_support so the game only uses 11_0 features and not 11_1 features as IDXGIFactory2 and CreateSwapChainForHwnd. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #15 from Fincer <fincer89(a)hotmail.com> --- Created attachment 59204 --> https://bugs.winehq.org/attachment.cgi?id=59204 Patch for starting Path of Exile in DX11 mode Thanks Cristóbal! I made a patch file based on your instructions. It seem to work and I can start Path of Exile in DX11 mode. Though I don't like disabling DX11 feature level 11_1 in general. I understand it must be done at this point until state of DX11 implementation improves in Wine. In DX11 mode, I have a downsampled/pixelated resolution for some reason (checked my resolution settings already). Maybe I should tweak my graphics settings further in PoE to get more information about this issue or just wait for better DX11 implementation. Patch file as an attachment. Tested on Wine 2.16 Staging, clean 64-bit Wineprefix environment, Steam version of PoE. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #16 from Guillaume <gufideg(a)gmail.com> --- For the downsampled resolution, I think it's the "Dynamic Resolution" feature. It dynamically downscale the game resolution to avoid dropping frames. I'll try to find the time to check whether the downsampling is normal or not. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Fincer <fincer89(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |43744 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 David Brooks <skade88(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |skade88(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Michael Müller <michael(a)fds-team.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Product|Wine-staging |Wine Component|-unknown |-unknown --- Comment #17 from Michael Müller <michael(a)fds-team.de> --- I don't think that a missing initialization of COM is a Wine Staging regression, moving the bug into the Wine product. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Ernst Persson <ernstp(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ernstp(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #18 from Ernst Persson <ernstp(a)gmail.com> --- Cool! Works here also, with Mesa+RadeonSI. A bit slower than DX9 though. And needs CSMT for correct rendering. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #19 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- Is there any plan to add this patch to the Wine codebase? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Screwtape <thristian(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |thristian(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #20 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- Wien 3.0 is officially launched with better support for DirectX 11, but have the same issue "Failed to create WIC Factory" And then a few font issues: "FONTDFPHeiMedium-B5-POE&Art/2DArt/Fonts/DFPT_B5_POE.ttf: Reference count for loaded resource FONTDFPHeuMedium-B5-POE&Art/2DArt/Fonts/DFPT_B5_POE.ttf is 66" "FONTSimsun& : Reference count for loaded resources FONTSimsun& is 1" "FONTMinglu& : Reference count for loaded resources FONTMinglu& is 1" "FONTGulim& : Reference count for loaded resources FONTGulim& is 1" "FONTMS UI Gothic& : Reference count for loaded resources FONTMS UI Gothic& is 65" "FONTFrizQuadrataITC&Art/2DArt/Fonts/FrizQuadrataITC.ttf& : Reference count for loaded resources FONTFrizQuadrataITC&Art/2DArt/Fonts/FrizQuadrataITC.ttf& is 1" "FONTArial&: Reference count for loaded resources FONTArial& is 65" "FONTMicrosoft Sans Serif&: Reference count for loaded resource FONTMicrosoft Sans Serif& is 65" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #21 from Nikolay Sivov <bunglehead(a)gmail.com> --- Please attach +wincodecs,+ole,+rpc log from starting the game to WIC factory failure. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #22 from Ernst Persson <ernstp(a)gmail.com> --- Someone on Reddit suggested that https://source.winehq.org/git/wine.git/commit/f99a548148bae4a8db904171a53793... would help, but it's not included in 3.0. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #23 from Nikolay Sivov <bunglehead(a)gmail.com> --- For dxgi problem maybe, but I'm talking about hack to ole32 for now, that's not resolved. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #24 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- Created attachment 60366 --> https://bugs.winehq.org/attachment.cgi?id=60366 Wine 3.0 output -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #25 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- (In reply to Nikolay Sivov from comment #21)
Please attach +wincodecs,+ole,+rpc log from starting the game to WIC factory failure.
I've added an attachment with the full wine log. I'm not sur if the flags where correctly used it is the first time i use the WINEDEBUG variable -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Simon Körner <winehq(a)lubiland.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq(a)lubiland.de -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Bjoern Bidar <theodorstormgrade(a)googlemail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |theodorstormgrade(a)googlemai | |l.com --- Comment #26 from Bjoern Bidar <theodorstormgrade(a)googlemail.com> --- Is this still up to date? The game still crashes for me. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Felix Hellmann <privat(a)cirk2.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |privat(a)cirk2.de --- Comment #27 from Felix Hellmann <privat(a)cirk2.de> --- With wine-staging 3.3 I only need the CoInitialize(NULL); change from Comment 15. The D3D_Feature_Level change is not needed. Otherwise this is still the same. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #28 from Kevin Ilphrin Pellet <ilphrin(a)autistici.org> --- I applied the patch from Comment 15, and also tried to apply wine-pba from https://github.com/acomminos/wine-pba The game runs in Dx11 perfectly, with some nice performances wins from wine-pba, and very much less sluttering. Building from wine-3.3 + staging (compiling wine is pretty easy) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Józef Kucia <joseph.kucia(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Path of Exile: fail to |Path of Exile: fail to |start when launching with |start when launching with |dx11 enabled |dx11 enabled (WIC factory | |failure) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 tokktokk <fdsfgs(a)krutt.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs(a)krutt.org -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 godevilove <godevilove(a)ya.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |godevilove(a)ya.ru --- Comment #29 from godevilove <godevilove(a)ya.ru> --- *** Bug 45607 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Mikko Rasa <tdb(a)tdb.fi> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tdb(a)tdb.fi --- Comment #30 from Mikko Rasa <tdb(a)tdb.fi> --- As of right now Path of Exile won't start in DX11 mode with Wine 3.14. It gives an error saying "Failed to create deferred context", followed by some file/line information and the error code -2147467263, which corresponds to E_NOTIMPL (0x80004001). And sure enough, d3d11_device_CreateDeferredContext is a stub returning E_NOTIMPL. I guess the rendering engine got changed and now requires a different type of context than before. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #31 from Mikko Rasa <tdb(a)tdb.fi> --- Update: After applying the patchset d3d11-Deferred_Context (and dependencies) from wine-staging Path of Exile no longer crashes on startup. Now it hangs on a black screen, consuming 100% CPU time. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #32 from Mikko Rasa <tdb(a)tdb.fi> --- Another update: Also applying windowscodecs-* from wine-staging finally makes the game run (up to login screen at least). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #33 from Zebediah Figura <z.figura12(a)gmail.com> --- *** Bug 46355 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #34 from godevilove <godevilove(a)ya.ru> --- For the history: https://lutris.net/games/path-of-exile/ this works without any problems, just download the starter and start the game. Dx11, 64-bit, no steam needed, no need to compile and patch wine (it's a huge PITA) it's as simple as downloading the game starter, selecting most recent 'tkg' version of wine and running the game! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #35 from Bjoern Bidar <theodorstormgrade(a)googlemail.com> ---
For the history: https://lutris.net/games/path-of-exile/ this works without any problems, just >download the starter and start the game. Dx11, 64-bit, no steam needed, no need to compile and patch wine (it's a huge >PITA) it's as simple as downloading the game starter, selecting most recent >'tkg' version of wine and running the game! For the history: this is no place to discuss wine frontends or anything like it. Its just to discuss wine bugs and/or patches. Your opinions on how its to compile wine doesn't matter.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #36 from godevilove <godevilove(a)ya.ru> --- Nah, I think it's fine: after all, people don't care about the wine itself, people care about how to run windows programs and I offered a good solution. If winehq staff ignores issue tickets for years (almost 2 years have passed since this ticket got opened and the ticket still has 'UNCONFIRMED' status) - I don't think they have any moral right to shut people up, that posting comments with real solutions. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Summary|Path of Exile: fail to |Path of Exile fails to |start when launching with |start when launching with |dx11 enabled (WIC factory |dx11 enabled with message |failure) |"Failed to create WIC | |factory" | |(CoCreateInstance() called | |in uninitialized apartment) CC| |z.figura12(a)gmail.com --- Comment #37 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to godevilove from comment #36)
Nah, I think it's fine: after all, people don't care about the wine itself, people care about how to run windows programs and I offered a good solution. If winehq staff ignores issue tickets for years (almost 2 years have passed since this ticket got opened and the ticket still has 'UNCONFIRMED' status) - I don't think they have any moral right to shut people up, that posting comments with real solutions.
Moral rights aside (and that's a pretty bold argument), clutter in our bug tracker makes it harder to read and find useful information, and as such is a good way to encourage developers not to fix bugs. Complaining is also a good way to do that. Unconfirmed/confirmed distinction is basically meaningless as far as I'm concerned, but, since you seem to care, confirming. Anyway, it turns out this bug has been open for almost two years because it's actually really hard to figure out the correct solution. That doesn't mean that people haven't been trying; I can personally attest to that. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #38 from godevilove <godevilove(a)ya.ru> --- Every system with input and no cleanups will get cluttered (given enough time), that's like an axiom. I'd suggest to assign people to tickets and make them remove outdated comments and useless extra info/discussions in their tickets, if you want cleanliness. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #39 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to godevilove from comment #38)
Every system with input and no cleanups will get cluttered (given enough time), that's like an axiom.
Yes. That's why we avoid the "input" part.
I'd suggest to assign people to tickets and make them remove outdated comments and useless extra info/discussions in their tickets, if you want cleanliness.
WineHQ is volunteer effort, so "assignment" is less effective than you think. Bugzilla administration is not a very efficient use of time anyway, for developers or for anyone else. Please help obviate it. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Paul Gofman <gofmanp(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp(a)gmail.com --- Comment #40 from Paul Gofman <gofmanp(a)gmail.com> --- Created attachment 63132 --> https://bugs.winehq.org/attachment.cgi?id=63132 Return CO_E_NOTINITIALIZED in CoInitializeSecurity() if COM is not initialized Can someone test the game with the attached patch used instead of that one CoInitialize() calling from CoCreateInstance() hack? And if it is not getting fixed this way (likely result), provide a WINEDEBUG=+tid,+ole,+rpc log with and without this patch (but yet without CoInitialize() call hack)? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #41 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to Paul Gofman from comment #40)
Created attachment 63132 [details] Return CO_E_NOTINITIALIZED in CoInitializeSecurity() if COM is not initialized
Can someone test the game with the attached patch used instead of that one CoInitialize() calling from CoCreateInstance() hack? And if it is not getting fixed this way (likely result), provide a WINEDEBUG=+tid,+ole,+rpc log with and without this patch (but yet without CoInitialize() call hack)?
CoInitializeSecurity() is a part of WMI query call, and happens after CoInitializeEx(), so this change won't matter. I don't think CoInitializeSecurity() is restricted like that, because it sets per-process info that overrides default parameters. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #42 from Paul Gofman <gofmanp(a)gmail.com> --- (In reply to Nikolay Sivov from comment #41)
(In reply to Paul Gofman from comment #40)
CoInitializeSecurity() is a part of WMI query call, and happens after CoInitializeEx(), so this change won't matter. I don't think CoInitializeSecurity() is restricted like that, because it sets per-process info that overrides default parameters.
Well, I don't have any ole enabled trace to see the sequence of inits and uninits. I just saw CoInitializeSecurity() stub call, and checked that Wine stub succeeds unconditionally, while it fails on Windows witn CO_E_UNITIALIZED in this case. My wild guess was that if noone initialized COM in this thread before and this function will fail with the same error as on Windows instead of succeeding it may trigger some different path in the application. In any case a log might be helpful, so much discussions in this bug report and not a single relevant log :) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #43 from Nikolay Sivov <bunglehead(a)gmail.com> --- I looked at this game specifically, CoInitializeSecurity() is called after explicit init call, and is followed by explicit uninit call, so it's not that. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #44 from Paul Gofman <gofmanp(a)gmail.com> --- I downloaded the game and tried to track down what's happening there. While forcing CoInitializeSecurity() to return error unconditionally is occasionally pushing app to work (it skips CoUnitialize() in this case), this is no more than another hack as it does not fail in the application running on Windows. Before discovering that I tested some legit cases for CoInitializeSecurity() to fail (that is, if security was already initialized in any thread), but nothing like this is related here as Nikolay said. On Windows CoCreateInstance() succeeds for WICImagingFactory, while COM is seemingly not initialized. I tested that injecting CoInitialize() calls before or after successful CoCreateInstance() returns S_OK (not S_FALSE) which suggests COM was not initialized before this call. The only documented way how this can happen which I knew or could find is a thread created from some thread which has MTA initialized. But this is not the case here (CoCreateInstance() under discussion happens in main thread, and no other thread initializes MTA apartment). Besides, this case is supported in Wine. I tried to track down what triggers CoCreateInstance() to succeed by injecting the calls to the code creating WICImagingFactory at different points, and found that the call starts to succeed after SetWindowPlacement() call for the application window created like this: 002a:Call user32.CreateWindowExW(00000000,1413ce2c8 L"POEWindowClass",1413cdde8 L"Path of Exile",00cf0000,80000000,80000000,00000328,00000273,00000000,00000000,140000000,00000000) ret=140c48753 I also found some mentioning of the mysterious CoCreateInstance() success after ShowWindow() on the internet: https://social.msdn.microsoft.com/Forums/vstudio/en-US/c1a642e2-184e-4f5a-98.... I checked library calls utilized from the window procedure of the application window and did not find anything relevant. Yet I did not test it thoroughly, so it leaves some room for mistake. I did not yet reproduce that case on an standalone test, but I am not sure all this has any practical sense, as carefully reconstructing the conditions of this out-of-init CoCreateInstances and reproducing this behavior looks unlikely feasible at the moment. And I hope game developers will add an explicit CoInitializeEx() at some point. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #45 from Nikolay Sivov <bunglehead(a)gmail.com> --- Created attachment 63172 --> https://bugs.winehq.org/attachment.cgi?id=63172 test This test works consistently for me on Vista/Win8/Win10, and fails on Win7. My guess is that it's deferred on Win7 somehow, and maybe window has to actually show up to trigger initialization. What I didn't expect is that it initialized to STA, after just CreateWindow() with default procedure. I don't know how we can fit this in our graphics driver initialization. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #46 from Zebediah Figura <z.figura12(a)gmail.com> --- Shot in the dark, but maybe this has to do with loading non-bitmap icons? Could native be using WIC for that? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #47 from Paul Gofman <gofmanp(a)gmail.com> --- Created attachment 63222 --> https://bugs.winehq.org/attachment.cgi?id=63222 test I made Nikolay's test to succeed on Windows 7 for me by adding a window procedure for test window. This window procedure does no more than just calls DefWindowProcA() though: ---- static LRESULT CALLBACK TestWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { return DefWindowProcA(hwnd, uMsg, wParam, lParam); } ---- I also added a few lines to the test to illustrate that the sequence in the test which allows CoCreateInstance() to succeed does not actually initialize apartment in a normal way, the apartment can be initialized to a different type after that without an error or S_FALSE which would indicate that apartment was already initialized: ----- ... hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); ok(hr == S_OK, "Unexpected hr %#x.\n", hr); hr = CoGetApartmentType(&apttype, &apttypequal); ok(hr == S_OK, "Unexpected hr %#x.\n", hr); ok(apttype == APTTYPE_MTA && apttypequal == APTTYPEQUALIFIER_NONE, "Unexpected %u/%u\n", apttype, apttypequal); } /* end of test_1(). */ ----- Weird stuff. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #48 from Nikolay Sivov <bunglehead(a)gmail.com> --- Great, thanks for the fix. Maybe it hits some shortcut path with DefWindowProc() as class procedure. Anyway, I'll try to test some more to see when exactly such initialization happens. It seems like it's meant to be transparent, so application that normally initializes its threads can still do so, in desired apartment model. I have a patch that implements such workaround, and it seems to work. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #49 from Paul Gofman <gofmanp(a)gmail.com> --- I started this game once again and now after some game auto update in runs ok with Wine staging 4.0-rc4. So it looks like the initialization was added in a game client update. The game still does not run with mainstream Wine due to the known staged issue (missing formats in windowscodecs). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 --- Comment #50 from Nikolay Sivov <bunglehead(a)gmail.com> --- Right, that's my impression too, it got fixed in game itself. Still let's keep this one open until my pending patches are in (they fix a couple games still), and wincodecs fixes are out of staging. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, testcase -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair(a)hotmail.com Status|NEW |STAGED Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/imm32-com-initia | |lization -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|STAGED |RESOLVED Fixed by SHA1| |ea0c992fa5852d6236bf9977c77 | |4d7d40bdb113a Component|-unknown |imm32 --- Comment #51 from Nikolay Sivov <bunglehead(a)gmail.com> --- Marking fixed, ea0c992fa5852d6236bf9977c774d7d40bdb113a. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=42695 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #52 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 6.20. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla