7 ms·
OS X emulation layer for Linux
- lubomir 13y agoAbout a week ago, the author posted a report to his blog http://www.abclinuxu.cz/blog/doli/2013/7/darling-progress-report-cervenec-2013 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.
- jaxb 13y agoReminds me of Win32 emulation layer for OS/2 which had Quake 2 as target application :)
- lubomir 13y agoThe given reason for that is that it is a popular game that has no native version (so no one will ask why he is porting Midnight Commander) and it does not use much OS X API. It uses OpenGL, OpenAL, IOKit (for finding input devices), AppKit (creating window), CGL (for configuring OpenGL) and CoreVideo (for running main loop).
- edmccard 13y agoThat was Odin32, right? I remember looking forward to that, and hoping that it would be better than the win32s extensions for 3.11 (plus the .dll whack-a-mole that entailed), but in the end I just switched from OS/2 to XP.
- peatmoss 13y agoI 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.
- jballanc 13y ago...and this is the moment that you realize there aren't so many Obj-C developers out there as much as there are that many iOS developers out there, all being forced to use one particular language. Edit: For the record, I am a fan of Obj-C, not an iOS developer, and would love to see more movement on GNUStep. I just need the time...
- mikeash 13y agoReally, I think there are plenty of ObjC fans, but ObjC developers can be divided into two groups: 1. Those who use it unwillingly, and happily use some other environment when not targeting Apple platforms. 2. Those who are big Apple fans and don't see the point of targeting non-Apple platforms in the first place. I'm sure there are exceptions, but not enough for GNUStep to get traction.
- zw 13y agoTo me, GNUStep has always been a cool project but cripplingly behind. It's always moved at a glacial pace, even in comparison to Apple's glacial framework development pace. I think your excellent blog posts over time are evidence enough for this - it's always been behind with like Quartz and stuff, and nowadays it has just been slipping further and further. I think its stagnation also got wrapped up in that whole "freedom" wankery after iOS came out.
- drivingmenuts 13y agoIIR, GNUStep has always been a stepchild on Linux, with KDE and Gnome sucking up all the air in the room. The developers are great fans and all, but they are few and far between. By the time iOS rolled around, GNUStep and Obj-C on Linux seemed completely dead and, with no pressing need to write software for a handheld on one platform and a desktop on another, it's stayed that way. GNUStep missed the opportunity to cash in on more people working in Obj-C.
- mattrepl 13y agoUsing 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?
- zw 13y agoSame type of deal as in Wine, copyright-type stuff.
- nikcub 13y agothere is hope that the decision in Oracle vs Google[0] on API's not being copyrightable might change that [0] http://en.wikipedia.org/wiki/Oracle_v._Google http://en.wikipedia.org/wiki/Oracle_v._Google
- mattrepl 13y agoI think zw meant that the Cocoa binaries can't be distributed with Darling. That's not a major problem for users that have a copy of OS X. Darling can allow users to supply their own. The potential issue you refer to would also prevent implementing the Cocoa API with Qt.
- lsllc 13y agoCocotron has been at this for a while: http://www.cocotron.org/ http://www.cocotron.org/ (EDIT: Gave Cocotron an 'a' it didn't deserve!)
- paraboul 13y agohm 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).
- pygy_ 13y agoCocotron (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 http://code.google.com/p/cocotron/source/list
- United857 13y agoPrevious HN discussion here: https://news.ycombinator.com/item?id=4893022 https://news.ycombinator.com/item?id=4893022
- consonants 13y agoIs this mature enough to run dosbox in wine compiled for OS X? I want to know how deep this rabbit hole can go.
- mpyne 13y agoOnce you get DOSBox running don't forget to boot up Win 3.11.
- frozenport 13y agoAlso 68k mac emulation, which one dude got to boot OS X...
- jevinskie 13y agoBefore this there was maloader [0] which was capable enough to run Apple's CLI toolchain. Really quite simple shim code! [0]: https://github.com/shinh/maloader https://github.com/shinh/maloader
- braintalking 13y agoI'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 user@1.2.3.4 -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 )
- general_failure 13y agoSurprised there are no comments about the icon. I think the icon is awesome (so geeeeeeky)!
- _glass 13y agoReminds 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/ http://etoileos.com/
- marklarr 13y agoSo, 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