Slashdot Mirror


Run Mac OS X Apps On Linux?

I have the urge to commit my 24" Core 2 Duo iMac to a single Linux operating system, thus giving up the goodness of my beloved Mac OS X. I am not a stranger to Linux, but I am a stranger to running Mac apps on Linux. On my PowerPC I can use SheepShaver to run Classic apps. The Mac-on-Linux project can run OS X apps, but it requires a PowerPC, not an x86. Virtualizing and emulating are inefficient, especially given the wonderful results the WINE project has had in getting Windows apps to run on Linux. What I would like is an equivalent: a software compatibility layer that will allow Linux to run Mac OS X apps at native performance. I believe there is some additional complexity in accomplishing this. Mac OS X apps aren't just Mac OS X apps. They are Carbon. They are Cocoa. They are universal binaries. They are PPC code with Altivec. Does such a project exist yet? If not, why not?

12 of 497 comments (clear)

  1. Cocoa and Carbon by morgan_greywolf · · Score: 5, Insightful

    Duh. The Cocoa and Carbon libraries aren't open source. Wine doesn't really emulate Windows libraries, it runs them directly. I suppose there might be some way of getting Carbon and Cocoa onto Linux, but I'm guessing that it's no easy task. And even then, you'd be subject to the same thing you are in Windows -- undocumented APIs, less-than-fully documented APIs, etc.

    Wine has taken years to get as far as it has. I suspect that an 'OS X Wine' would take as long.

    1. Re:Cocoa and Carbon by morgan_greywolf · · Score: 5, Insightful

      Wine is an open source implementation of the Windows API, though it can use Microsoft dlls if you supply them.


      Correct. I'm operating under the assumption that Cocoa and Carbon use Unix APIs at some level, since they sit on top of a Unix core. So as Wine is an implementation of the Win32 API, the Win32 API is just a fairly low-level API that lets you make windows and buttons and pull-down menus, access the filesystem, access task and memory management, etc., but if you want any of the niceties of newer Windows applications, like toolbars, reconfigurable menus, fancy controls, Windows media, etc., you need Windows/Microsoft DLLs that aren't a core part of the Win32 API proper. Sure, Wine provides open source implementations of some of these, but in most cases you need them provided from the application or from a copy of Windows. The analogy is not quite the same, with Cocoa and Carbon, but I think you get my point.
    2. Re:Cocoa and Carbon by derrida · · Score: 5, Funny
      So according to the Ninety-ninety rule:

      "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."
      one may assume that full API support will arrive at 2017.
      --
      nemesis. Home of an experimental fe code.
  2. You Answered Your Own Question by organgtool · · Score: 5, Insightful

    Mac OS X apps aren't just Mac OS X apps. They are Carbon. They are Cocoa. They are universal binaries. They are PPC code with Altivec. Does such a project exist yet? If not, why not?
    I think you answered your own question. Mac apps are very complex due to all of the mechanisms they use to maintain backward compatibility. Reimplementing all of those libraries is a huge task. Wine exists as a reimplementation of Win32 and DirectX strictly out of necessity, but there is little need to run Mac apps in Linux. Most people who want to run Mac apps prefer to run them on Apple hardware. Seeing that you already own an iMac, I think the bigger question is why are you so insistent on running Linux on your Mac?
  3. Funny you should mention this... by SpinyNorman · · Score: 5, Funny

    I'm looking for a way to convert my Lamborghini Diablo into a lawnmower.

    1. Re:Funny you should mention this... by tgd · · Score: 5, Funny

      Thats easy. I'll trade you my lawnmower for it.

  4. Why not? by grammar+fascist · · Score: 5, Insightful

    Does such a project exist yet? If not, why not?

    • There's not much demand for it.
    • Most commercial Mac software exists in Windows, so you can run the Windows versions under WINE in Linux.
    • Most people who buy a Mac are even less inclined to tinker than a typical Windows user, and therefore much less likely to switch to Linux.
    • Every Apple computer extends the Steve Jobs reality distortion field to the computer user, ensuring lifelong devotion to the product. I haven't a clue why it doesn't affect you this way.

    It's a fair bet the real answer is one or all of those.
    --
    I got my Linux laptop at System76.
  5. Re:Resist the Urge by GrumpyOldMan · · Score: 5, Interesting

    I'm in the same situation. For 99% of what I do, MacOSX is a flaky pain in the neck. I'd love to be able to confine MacOSX to a window. Here is my background:

    I've run *nix on the desktop for roughly 17 years. Last year, after we had a baby and I had essentially no time, I finally got tired of maintaining my system, and thought the "just works" aspect of MacOSX might be a nice change. I've been running 10.4.x on my Core 2 Duo iMac since last October. I've found that after more than a decade and a half of being able to customize my desktop behavior, I just can't adjust to the MacOSX gui. I hate the menu bar at the top, I hate not being able to define *MY* hotkeys for resize, move, and iconify, I miss the easy X11 1-click cut and 1-click paste, etc. To get around some of this, I run most of my shells via xterm. However, X locks solid every few weeks (usually when I scroll too much or too fast in some window).

    I also find that the only MacOSX application I ever use is iTunes. I started out using Mail and Safari, but I moved back to Thunderbird and Firefox for the plugins. Specifically, the external editor plugin for Thunderbird so that I can edit messages in xemacs, and the noscript and adbplockplus extensions for Thunderbird.

    I also hate that my 4 USBserial connectors are flaky, and have to be re-plugged before they'll all show up on boot. Neither Linux nor FreeBSD had this problem.

    At any rate, how is the codeweavers support for playing iTunes videos? That's really the only thing I use iTunes for is video.

  6. Re:Purpose. by saintlupus · · Score: 5, Funny

    Flamebait? Fucking crackhead mods.

    The guy refers to "my beloved Mac OS X" and then goes on and on about how he wants to get rid of it, but can't leave behind the application support. Why?

    "Dear Slashdot, I've got this urge to kill my beloved wife. Could you please tell me how to do it, and how to simultaneously make her sister as hot as she is and have her marry me instead?"

    What the fuck is he trying to gain?

    --saint

  7. Re:Purpose. by Anonymous Coward · · Score: 5, Funny

    Okay, okay...

    Please stop the Hans Reiser bashing right now.

  8. Re:Of course you can't by Cheerio+Boy · · Score: 5, Funny

    *sprays can of Troll-Be-Gone*

    Damn. This stuff must be expired!

    Either that or I'm not using enough of it...

    --

    "Bah!" - Dogbert
  9. You're not doing it right... by porkchop_d_clown · · Score: 5, Funny

    You're supposed to drink it. A couple of shots of Troll-be-gone and suddenly everyone you meet is +5 insightful.