You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So Warcraft 3 Reforged uses Direct3D 11 for rendering graphics. When in the Main Menu or the "Options -> Options" menu in the actual game it uses a Chromium based browser that is in a separate process called BlizzardBrowser.exe to render whatever fancy GUI they use. Initially it fails because msvproc.dll is missing, copying that over from Windows 10 and setting it to native in Wine fixes that. The log constantly spits out "Failed to find the GPU adapter with the specified Luid." and then BlizzardBrowser.exe just dies and tries again. I believe what is happening is that Warcraft 3 is saying the GPU is at the given LUID and since the browser is a completely separate process, it is unable to find that LUID because looking at the code in
generates a new random LUID. There may need to be some kind of IPC or similar so the Chromium browser can render in the context of Warcraft 3 which is in another process.
The documentation on GetAdapterLUID says:
A locally unique identifier (LUID) is a 64-bit value that is guaranteed to be unique only on the system on which it was generated. The uniqueness of a locally unique identifier (LUID) is guaranteed only until the system is restarted.
So, from this I believe that the ID has to be cached somewhere so it can be found again rather than randomly generated.
Note that using built-in DLLs does not work, as in this happens regardless of DXVK being used. Additionally, it matters not whether Virtual Desktop is being used or not.
We get LUIDs from winevulkan if supported by the wine build in question in order to avoid problems like these, we should never hit the code you linked in practice. If your wine doesn't support this, there's nothing we can do on our end since LUIDs are expected to be compatible across APIs.
We get LUIDs from winevulkan if supported by the wine build in question in order to avoid problems like these, we should never hit the code you linked in practice. If your wine doesn't support this, there's nothing we can do on our end since LUIDs are expected to be compatible across APIs.
Ah I see. I am using CodeWeaver's version of Wine via Crossover 24.0.2, which is Wine 9.0. There is this patch which just was merged a few days ago https://gitlab.winehq.org/wine/wine/-/merge_requests/5616 which should be applicable to me as I am on Wayland, when this comes out in Wine 10.0 I will come back to this issue and see if it still occurs.
Software information
Warcraft 3: Reforged
System information
Apitrace file(s)
N/A Currently.
Weird Stuff
So Warcraft 3 Reforged uses Direct3D 11 for rendering graphics. When in the Main Menu or the "Options -> Options" menu in the actual game it uses a Chromium based browser that is in a separate process called
BlizzardBrowser.exe
to render whatever fancy GUI they use. Initially it fails becausemsvproc.dll
is missing, copying that over from Windows 10 and setting it to native in Wine fixes that. The log constantly spits out "Failed to find the GPU adapter with the specified Luid." and thenBlizzardBrowser.exe
just dies and tries again. I believe what is happening is that Warcraft 3 is saying the GPU is at the given LUID and since the browser is a completely separate process, it is unable to find that LUID because looking at the code indxvk/src/util/util_luid.cpp
Line 22 in c1f665f
The documentation on
GetAdapterLUID
says:So, from this I believe that the ID has to be cached somewhere so it can be found again rather than randomly generated.
Note that using built-in DLLs does not work, as in this happens regardless of DXVK being used. Additionally, it matters not whether Virtual Desktop is being used or not.
Log files
The log
BlizzardBrower.exe
generates:Browser-20240519T032605.log
ps aux | grep BlizzardBrowser
:psaux.txt
The editor working just fine:
The game completely failing because
BlizzardBrowser.exe
just keeps failing over and over and spits the same log file constantly without end:The text was updated successfully, but these errors were encountered: