top | item 6159634

OS X emulation layer for Linux

234 points| ilikehunny | 12 years ago |darling.dolezel.info | reply

54 comments

order
[+] lubomir|12 years ago|reply
About a week ago, the author posted a report to his blog http://www.abclinuxu.cz/blog/doli/2013/7/darling-progress-re....

Summary:

  * It can run basic console programs like Midnight Commander, vim
    or bash, so compatibility of system API is rather good.
  * Dynamic loader is being refactored, because it can not unload
    dynamic libraries now. In the future there will be API that
    would allow loading OS X library into native code.
  * There is a FUSE module for read-only access to .dmg files, so
    that it is not necessary to unpack them.
GNUstep is a problem; it does not seem to be very alive. It does have three backends, but none of them works reliably. The long term (slightly crazy) plan is to implement the basic Cocoa classes over Qt.

Right now the target application that should work is Angry Birds.

[+] peatmoss|12 years ago|reply
I can't figure out why GNUstep has languished so. Given how many ObjC developers there are out there, and given how nice it would be to target for multi-platform apps, it feels like the sort of thing that should have gotten good pretty quickly in a world of resurgent Apple.
[+] mattrepl|12 years ago|reply
Using Qt as a Cocoa stand-in sounds complicated. Since Darling already uses its own loader and syscall hooking to provide compatibility for the program, why not do the same for a framework like Cocoa?
[+] jaxb|12 years ago|reply
Reminds me of Win32 emulation layer for OS/2 which had Quake 2 as target application :)
[+] lsllc|12 years ago|reply
Cocotron has been at this for a while:

http://www.cocotron.org/

(EDIT: Gave Cocotron an 'a' it didn't deserve!)

[+] pygy_|12 years ago|reply
Cocotron (without "a") and GNUStep are intended as source-level compatibility layers. You replace Apple's libraries with them at compile time, and obtain a native binary or the target platform.

This project is akin to Wine. It allows to run OS X binaries on Linux, without recompiling.

The Cocotron blog hasn't been updated in a while, but the project is still alive: http://code.google.com/p/cocotron/source/list

[+] paraboul|12 years ago|reply
hm nope. Looks like Darling is meant to provide a binary compatible interface (Darling is similar to wine except that it targets OSX instead of win32/64) whereas Cocoatron provides a source code level of compatibility (you have to build your app with Cocoatron libs/APIs).
[+] _glass|12 years ago|reply
Reminds me of Étoilé [1] a Software Environment based on GNUstep, which was quite promising when I was last interested in it (2008)

[1] http://etoileos.com/

[+] marklarr|12 years ago|reply
So, does this mean that objective-c (minus graphics) works? It'd be a pretty big deal to be able to setup a CI server for unit tests on a linux box, rather have having to get some alternative mac-in-the-cloud, or something else equally ridiculous
[+] general_failure|12 years ago|reply
Surprised there are no comments about the icon. I think the icon is awesome (so geeeeeeky)!
[+] consonants|12 years ago|reply
Is this mature enough to run dosbox in wine compiled for OS X? I want to know how deep this rabbit hole can go.
[+] mpyne|12 years ago|reply
Once you get DOSBox running don't forget to boot up Win 3.11.
[+] braintalking|12 years ago|reply
I'm currently playing with OS X ML 10.8.4 on custom hardware; (btw slowest performance than other OSes, ram hungry [lots of eye candy thought ])

I find pretty interesting the UNIX terminal and X11 (Xquartz) where you can ssh to your remote box or vm with linux and load GUI apps locally while code is running in the remote box (like a sandbox).

Example command:...

ssh [email protected] -X

iceweasel

...

and browser GUI will launch in your OSX (also work on linux) ( the magic is the parameter -X , i discovered that recently, very useful, hope it helps someone )