Robert Lunnon almost single handedly is working on a wine port for Solaris x86. Remember this is only for Solaris x86 and not Solaris SPARC. I have had the pleasure of working some with him on this. Bob has a wine Solaris x86 port and patchkit listed on his website
http://members.optusnet.com.au/bobl/
I also include a copy of a recent Solaris x86 post he made below.
v/r
Jim Johansen
===
http://groups.yahoo.com/group/solarisx86/message/23421
<snip>
For everyones information, Wine needs some clear areas to load certain things
in the programs address space since all Windows Programs load relative to a
fixed VM address. The code to do this has linuxisms (it relys on the fact
that linux will grant anonymous mmaps with an address hint at the address
hint address) Solaris doesn't honour the address hint at all for anon mmaps.
There is a workaround in place for Solaris which checks to see if the
requested address rage is available the uses a FIXED mmap over that address
range. If the exact memory ranges aren't available things can break.
err:heap:HEAP_CreateSystemHeap system heap base address 80000000 not
available
This is caused by one of my patches, wine expects anonymous mmaps to be
constrained below C0000000 and Solaris can't do this, under linux, they
allocate all the VM above C0000000 to force mmap allocation below this limit.
Solaris does not seem to like processes with memory maps containing more than
25% of the virtual memory range allocated (well by default anyway) and
applies rlimit rules. My workaround is to leave it unconstrained which works
for most apps except that the heap goes somewhere above 80000000. When WIne
tries to map the Heap with an anonymous mmap with an address hint of 80000000
Solaris returns an address different to the requested one and wine issues a
warning about it. The unpatched cvs wine will bailout unnecessarily if this
happens but the patched version doesn't. Notably some Microsoft apps use the
top bit of pointers for some evil things apparently and my patch may break
these evil applications that depend on the heap location, so-be-it, use OO
instead.
The other two errors people have mentioned are the ubiquitous
fixme:file:get_default_drive_device auto detection of DOS devices not
supported on this platform
fixme:ntdll:NtQueryVolumeInformationFile device info not properly supported on
this platform
These are harmless, and I'll get around to implementing these interfaces
someday (tm) Now, wine IS open source so if anyone wants to send in a patch,
go to it....
As to Status
I have the current wine cvs now being tracked with the patchkit, it built last
night, but there is at least one regression I'm trying to figure out (for
weeks now) it seems that audio support is now broken by a patch to get more
accurate multimedia timing in Wine. I could issue a new release but it
wouldn't include working audio support or OGL support for games, both
features which my versions ordinarily contain.
Bob