https://bugs.winehq.org/show_bug.cgi?id=52840
Bug ID: 52840 Summary: Vulkan fails to initialize for 32-bit processes due to ENOMEM while trying to map shared libraries Product: Wine Version: 7.6 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
This can result in subtle failures down the line. In my case it resulted in a variation on bug 52508.
This was a huge game of "any one of you should have screamed an error condition at me, but you didn't", and as a result this took me several hours to debug. Kind of annoyed at that one.
Anyway, the root of the problem is that we reserve almost the entire address space. We reserve everything above 0x80000000 because we don't want win32 memory to get mapped there, and we reserve the entire range between 0x00010000-0x68000000 for... some reason?
And for me, this doesn't leave enough space to load everything that the Vulkan driver needs. The final straw was a failure to reserve 27 MiB for libicudata.so.
Normally this isn't a problem, because we release the low area, but all of this happens during DLL initialization (winex11.drv.so specifically), and we don't release the low area until after all DLLs are attached.
https://bugs.winehq.org/show_bug.cgi?id=52840
--- Comment #1 from Zeb Figura z.figura12@gmail.com --- *** Bug 53063 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=52840
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com