This is not a requirement by the processor, per se, but by the OS X
ABI.
I see. What a peculiar ABI. Well you can't possibly fix it the way you
currently do, just force an aligned mmap for the stack when it's first
allocated.
The stack is allocated at least 16 byte aligned up front. The issue
comes later when a function call occurs to OS X ABI from Windows ABI
and the stack offset may not be 16 byte aligned. It needs to be
realigned at this point. There is supposedly an attribute feature in
the newest gcc that will allow this to occur in a robust manner and
work wonders for wine's purposes when it becomes available:
<http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01073.html>
On systems that already have roots like the Window Server on OS X and
the GDI root on Windows, your system then looks like Linux.
I don't understand. The root window doesn't have to be visible, as
long as it exists for accounting purposes.
It looks like Nick makes a button that he deals for reference instead
of a root window, to query opengl limits and whatnot. This is
because the OS X X11 simply does not allow a root window without
covering up the nice composited window server. It doesn't look nice
and you can't see any OS X native windows while the rooted mode is
active. What I do know is that it would be nice in the long run to
let users run Wine without X11, but of course that means more work
for the Mac side of things.
Best,
Chris