Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder if Valve has hackathons and if the Proton guys want a new challenge.


I worked at CodeWeavers during the development of Proton, and one of the biggest hurdles for getting Wine (and therefore Proton) running on Haiku is the memory layout of Haiku[1] and subsequent failures of mmap(). I have a Haiku port that runs basic applications out-of-tree, but many Win32 programs crash on Haiku still.

1: https://wiki.winehq.org/Haiku


The memory layout of Haiku x86_64 is identical to that of Linux. Perhaps you should try there first?

At any rate, we'd love to at least have your patchset in HaikuPorts, even if it's not quite ready for prime-time yet.


You could just bypass the preloader completely. It exists only to work around the Linux ASLR implementation which would otherwise tend to place DSOs randomly in the address space, potentially overlapping regions that Windows keeps reserved. If Haiku doesn't implement ASLR, or lets you easily disable it, or alternatively would accept patches to ensure its address space layout is always Win32 compatible (better!) then the preloader could be disabled.

However if mmap is more significantly broken then Haiku needs work - Wine does need the ability to map things into the address space at the requested locations and actually get it.


Haiku implements ASLR but there are ways to disable it. They are undocumented private APIs, though.

mmap on a fixed address should work just fine, unless the address is outside the normal range or in an already mapped region, which seems to be a problem on 32-bit systems. I think there are some emulators we have ports of which already use MAP_FIXED quite a bit.


As far as I'm aware, Haiku doesn't have hardware 3D acceleration of any kind. So, please!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: