https://bugs.winehq.org/show_bug.cgi?id=44246
--- Comment #10 from Alex S iwtcex@gmail.com --- (In reply to Adrien Fernandes from comment #9)
So, I gave it a try.
I modified libs/wine/mmap.c
In line 426 :
char *user_space_limit = (char *)0x7ffe0000;
In
char *user_space_limit = (char *)0xbffe0000;
I was talking about the limits in dlls/ntdll/virtual.c, but that is definitely interesting.
It is ~900M lower than before. I don't understand why it works. I can understand now the game isn't crashing anymore but why it can run with almost 1G less or why it was running with 1G more, before the modification of mmap.c ?
The application doesn't run with 1 Gb less memory, some Wine component _asks_ for less memory from the OS. It still uses the same amount of memory as before. You see, address ranges are reserved immediately, while the physical memory is allocated in pages on actual access. That 1 Gb was never read/written in the first place, as you can clearly see from the resident memory value in top.
Can that "fix" cause issue in graphics compared to GNU/Linux's Wine ?
It's just a game. Worst case it crashes and corrupts your saves.