"Stefan Reimer" lists@startux.de writes:
I reverted my changes to mmap.c mmap_init back to char *user_space_limit = (char *)0x7ffe0000; but keeping the 0xBFFEFFFF in GetSystemInfo.
Everquest2 crashes after some minutes. I got following errors in log: err:d3d:CreateIndexBufferVBO Failed to initialize the index buffer with error GL_OUT_OF_MEMORY (0x505) ... and about 100000 of err:syslevel:_EnterSysLevel (0x7ecf9ea0, level 2): Holding 0x7ebda060, level 3. Expect deadlock! before crashing.
Using char *user_space_limit = (char *)0xbffe0000; Everquest2 runs rock stable and uses up to 2.8GB...
So there seems to be an issue either in Everquest2 handling memory or in wine if it comes to using more than 2GB and OpenGL for example.
That's a different issue, OpenGL memory isn't allocated through the Wine allocation functions. By changing the limit in mmap.c you disable the memory reservation, which leaves more space for OpenGL, but that's not a general solution.