Workaround for Wine/World Of Warcraft Crashing on Linux 64bit systems with > 4gb of RAM.
I recently got a new computer with 8gb of RAM, and since then World Of Warcraft crashed very often with out of memory errors.
After banging my head for hours every time I crashed in dalaran or coming out of the arenas, I finally discovered setarch(8).
Usage: setarch[options] [program [program arguments]] Options: -h, --help displays this help text -v, --verbose says what options are being switched on -R, --addr-no-randomize disables randomization of the virtual address space -F, --fdpic-funcptrs makes function pointers point to descriptors -Z, --mmap-page-zero turns on MMAP_PAGE_ZERO -L, --addr-compat-layout changes the way virtual memory is allocated -X, --read-implies-exec turns on READ_IMPLIES_EXEC -B, --32bit turns on ADDR_LIMIT_32BIT -I, --short-inode turns on SHORT_INODE -S, --whole-seconds turns on WHOLE_SECONDS -T, --sticky-timeouts turns on STICKY_TIMEOUTS -3, --3gb limits the used address space to a maximum of 3 GB --4gb ignored (for backward compatibility only)
setarch i386 -3 -L -B -R wine wow.exe -opengl
While it isn’t a perfect solution, it work’s for the most part.
Tags: Linux Development, setarch, wine, World Of Warcraft
Thanks for this, I’ll be giving this a go tonight. Sounds like it’ll work, certainly much better than limiting how much RAM the kernel addresses at boot time with a grub argument.
Welp, I’ve been trying this for several weeks, and noticed no noticeable improvement in my crash prevention, despite tweaking every parameter available. I’m reverting to limiting RAM at boot time for the time-being. :-\
It didn’t prevent it for me, however it made it a lot less, not sure why it didn’t work for you, did you have something else running in wine before you started it like that?