https://github.com/hinchliff/arm7-wine
https://hub.docker.com/u/hinchliff/
I have been doing most of this development work on my x86 based laptop, using the excellent work from resin.io, and running ARM Wine in emulation on x86 in Docker actually works pretty well -- I can play all the winemine I want!
However, the first time I tried to use my hinchliff/arm7-wine-run docker container on a Raspberry Pi 2, I ran into this error "Wine requires a 3G/1G user/kernel memory split to work properly."
Do you have any suggestions for recompiling Wine to work with the 2G/2G memory split on the Raspberry Pi? I do not want to recompile the linux kernel on the Raspberry Pi. It looks like "exagear" has managed to modify Wine to support the 2G/2G split, but I have not been able to find any details on what changes they needed to make to Wine.
My first attempt at trying this is currently compiling within my Docker container. I have added this to my Dockerfile for arm7-wine-build:
Code: Select all
# Hack the Wine source to allow 2G/2G memory split
RUN sed -e 's/check_vmsplit( &temp );/\/\/check_vmsplit( &temp );/' -i /wine-source/loader/main.c && \
sed -e '/context->Edx/ s/0xbfffffff/0x7fffffff/' -i /wine-source/dlls/krnl386.exe16/vxd.c && \
sed -e '/static void *address_space_limit/ s/0xc0000000/0x80000000/' -i /wine-source/dlls/ntdll/virtual.c && \
sed -e '/static void *user_space_limit/ s/0x7fff0000/0x5fff0000/' -i /wine-source/dlls/ntdll/virtual.c && \
sed -e '/static void *working_set_limit/ s/0x7fff0000/0x5fff0000/' -i /wine-source/dlls/ntdll/virtual.c