Workaround for Wine/World Of Warcraft Crashing on Linux 64bit systems with > 4gb of RAM.

Posted in Linux Development, World Of Warcraft on February 24th, 2010 by OneOfOne

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: , , ,