When trying to run wine on stock Raspbian, you get a message like this:

Warning: Memory above 0x80000000 doesn't seem to be accessible. 
Wine requires a 3G/1G user/kernel memory split to work properly.

This is supposedly a kernel setting, which can be configured during compile time. But why does wine need this setting?

And how do other operating systems aside from Linux handle this? E.g. there is wine for OS X. Does it work the same way there?

  • It would be better if you explain in your question that you are trying to run wine on exagear. Exagear is shipped with a special build of wine that supports 2g/2g memory split. You should use only this build of wine, not the one from apt-get. – Andrey Rogov Feb 26 '16 at 1:22
  • No, I actually tried running wine from apt-get. Never tried exagear. In the end I managed to run wine, after building my own 3G/1G kernel. But it was really horribly slow, so I stopped that experiment. But if was fun! – Arne Feb 26 '16 at 21:38

Most likely you are running on a 2G/2G split linux kernel. that means 0x0 - 0x80000000 is reserved for userspace, and 0x8000000 to 0xFFFFFFFF is reserved for kernel space.

please use a 1G/3G split linux kernel. then you can access up to 3G from userspace up to 0xC0000000.

  • 1
    That's not actually an answer to the question as asked. The question isn't "why doesn't wine work?", the question was "why does wine need a 3G/1G kernel?". It's a good question. Windows uses a 2G/2G split by default (configurable at boot time), and very few 32-bit Windows programs are designed to care about the memory between 0x80000000 and 0xC0000000. I wouldn't expect it to cause compatibility issues, so why the limitation? – CBHacking Apr 29 '16 at 0:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.