[HN Gopher] Darling: Run macOS Software on Linux
___________________________________________________________________
Darling: Run macOS Software on Linux
Author : doener
Score : 337 points
Date : 2023-11-26 17:52 UTC (5 hours ago)
(HTM) web link (www.darlinghq.org)
(TXT) w3m dump (www.darlinghq.org)
| doener wrote:
| Via https://news.ycombinator.com/item?id=38421862
| pvg wrote:
| https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
| dave4420 wrote:
| Only runs on x64 chips.
|
| Presumably only runs macOS binaries built for intel? (i.e. not
| apple silicon.) I can't find if it says anywhere.
| saagarjha wrote:
| Yes, it doesn't do any emulation.
| gwbas1c wrote:
| FWIW:
|
| All Macs have been 64-bit for at least 11 years, if not longer.
| (My MBP from 2012 was 64-bit.)
|
| Apple dropped 32-bit support a long time ago. Not sure of the
| exact date, but sometime around 2015-2017 I had to port a Mac
| application to 64-bit because the upcoming release of MacOS was
| going to drop all 32-bit support.
| dave4420 wrote:
| Yeah... I wasn't really getting at it not working on 32bit,
| more getting at it not working on arm.
|
| If it doesn't acquire the ability to run arm binaries, it
| will be a retro computing platform in a couple of years. (And
| it would have to emulate apple's cpu extensions, even when
| running on arm chips, yes.)
| gamesbrainiac wrote:
| I wonder if there is a way to run iOS applications on Android.
| I'd kill to be able to use the OneNote app on my Samsung galaxy
| tab S8. Samsung Notes are great, but not very portable.
| tomaskafka wrote:
| Onenote is normally available on Android, isn't it?
| supermatt wrote:
| It's lacking many features on android:
| https://support.microsoft.com/en-us/topic/comparing-
| educatio...
| speps wrote:
| This project is the most promising and it does what you say,
| except they're starting with iOS 1.0 so you'll have to be
| patient!
|
| https://touchhle.org/
| Klonoar wrote:
| Isn't this one very explicit about only aiming to cover old
| lost games...?
| saagarjha wrote:
| There are no plans to support any recent version of iOS
| vitorgrs wrote:
| Fun fact, Meta (FB) actually had a tech to "emulate" iOS apps.
| Facebook and Instagram for Windows/WP once upon a time was an
| iOS emulated app.
| smileybarry wrote:
| IIRC it was actually Microsoft's Windows 10 Bridge for iOS
| that enabled this: (and sadly it's dead now)
|
| https://web.archive.org/web/20170707092302/https://developer.
| ..
| LegNeato wrote:
| No it wasn't it was osmeta
| https://techcrunch.com/2013/04/10/has-facebook-quietly-
| acqui...
| ClassyJacket wrote:
| But there's a OneNote app for Android...
| jaxr wrote:
| As a long time Linux user, it's always felt kind of unjust that
| all good Linux software is ported to other os, but there is no
| reciprocity. I do understand all the nuances, but Apple and
| especially MS seem to get a lot out of the GNU/Linux ecosystem
| and give very little in return.I would appreciate using some open
| source software released for Mac in my Linux desktop. Thanks to
| the developers of this project! Will give it a spin...
| frutiger wrote:
| > Apple and especially MS seem to get a lot out of the
| GNU/Linux ecosystem and give very little in return
|
| LLVM/Clang has been a huge boon to the GNU/Linux ecosystem, and
| dragged gcc into the modern era, and was largely funded Apple
| for many years.
| deaddodo wrote:
| People seem to forget that GCC was flopping around on C++11
| for a long while until clang started pushing things along.
|
| Not to say they've fallen behind, just that a competitor
| clearly kicked things back into gear. Same as Firefox and
| Webkit-based browsers did for the many years of IE6's
| monopoly.
| pasc1878 wrote:
| Not really now.
|
| If you use Windows or macOS then you can open all your time
| using the OS suppliers tools or tools bought from third
| parties.
|
| In macOS you can use UNIX but it is the FreeBSD world so no
| GNU or Linux there.
|
| In windows if you want Unix then WSL which is GNU/Linux but
| you can easily work in plain Windows.
| headhasthoughts wrote:
| How has it been a huge boon to the GNU ecosystem? Clang is
| slow, the code generated is not consistently better than GCC
| for most of the software I personally run benchmarks for, and
| it's not like GCC has ever been worse for feature support
| than a Microsoft compiler.
|
| It's better to point out WebKit.
| 95014_refugee wrote:
| > How has it been a huge boon to the GNU ecosystem?
|
| It would seem that you never used GCC in the pre-llvm era.
| The GCC project has had a couple of notable periods of
| stagnation, in each case being "rescued" by the emergence
| of meaningful competition. First EGCS, and then later llvm.
|
| Clang brought new developers to the space, it disproved the
| assertion that error messages had to be cryptic and
| unhelpful, and it has been a peer competitor for an
| extended period of time now. The two projects compete and
| cross-pollinate to their mutual benefit.
| mfer wrote:
| I think this has less to do with "justness" and more to do with
| cost effectiveness. A majority of people use Windows. That's
| followed by macOS (or ChromeOS but you can't easily directly
| port software over there). Then you have GNU/Linux desktop
| users.
|
| If you're building software you're often going to target your
| audiences where they are.
|
| In the developer world, there are many desktop Linux users. So,
| we have more tools available to us related to our jobs. I use
| desktop Linux and appreciate that.
|
| But, most people across industries and in their personal lives
| are not in the same situation.
| jwells89 wrote:
| It's too bad that community interest/investment in efforts like
| GNUStep, Etoile, and Cocotron have been low, because a major
| yet consistently underestimated component of why macOS has long
| had a thriving quality indieware scene is the depth, breadth,
| and quality of its frameworks. Cocoa/AppKit enables solo devs
| and small teams to punch well beyond their weight and I'm sure
| those devs would be happy to sell their programs to Linux users
| too if they could cross-compile.
| WillAdams wrote:
| Well, for Mac OS X there is GnuStep which has made Cenon
| possible.
| paulddraper wrote:
| > I do understand all the nuances
|
| The reasons, in decreasing significance: (1) demand and (2) OS
| interfaces.
|
| 1. Linux desktop has a small user base; there's simply less
| interest and value in porting to Linux.
|
| 2. The POSIX interface is basic (well, more basic than
| Windows); it's easier to emulate/replace/shim Linux interfaces
| than Windows ones.
| dorfsmay wrote:
| As another long time Linux user, I've just started to worry how
| Microssoft is invading my work life:
|
| GitHub, TypeScript, Vscode (when I have to interact with people
| who cannot think outside an IDE), and I've just started to use
| Playwright.
| adhamsalama wrote:
| Same. I exported all my GitHub repos to GitLab, and I'm
| thinking about using Neovim (not because it's better, but
| because I hate Microsoft).
|
| Sadly there isn't much I can do about TypeScript and NPM.
|
| Microsoft wants to control everything in our lives.
| wsintra2022 wrote:
| Typescript and vscode are both good tools so can't really
| hate on them, there is codium which removes the MS telemetry
| from vs code.
| pjmlp wrote:
| The goal of any corporation, some are more successful than
| others.
| archero wrote:
| Is it able to run Xcode? I've been trying to do some iOS
| development on Linux and so far my solution has been to use
| DockerOSX... but this sounds much more convenient.
| notpushkin wrote:
| Only the command-line tools. https://docs.darlinghq.org/known-
| working-software.html
| Animats wrote:
| Nice, but all those already run on Linux.
| glitchc wrote:
| Since when?
| Animats wrote:
| Everything on that list except XCode has a Linux version.
| saurik wrote:
| So the big thing is that you can use the command line
| xcbuild and also often need access to the asset bundlers
| (which are not open source).
| Animats wrote:
| That's actually useful. I need the asset bundlers so I
| can build for MacOS without having a Mac. I already build
| Rust programs for Linux and Windows on Linux.
| realusername wrote:
| I think it still could be useful to build ios apps and
| upload them if that's possible in the command line.
| LtWorf wrote:
| How to get banned from apple store in 1 easy step!
| realusername wrote:
| I've done enough app uploads to know it's also half
| broken on a real Mac, so I would not worry about that.
| jbverschoor wrote:
| Oh wow, it actually works.. That's awesome for a CI runner
| mgaunard wrote:
| The problem is that it means porting all of Cocoa etc., which is
| as big if not bigger than Wine porting the win32 api.
| LoganDark wrote:
| At least Unix and Linux are similar families of operating
| systems. Porting over Win32 is probably bigger, especially
| since Windows 11 still has to run binaries from the 90s. macOS
| cares much less, and you either do dynamic linking or
| recompile.
| lodovic wrote:
| If a ChatGPT assisted port can be seen as a cleanroom
| implementation, this can be done a lot faster than Wine.
| jdmg94 wrote:
| it is most definitely not cleanroom
| lloeki wrote:
| Clean room has two steps:
|
| - Team A: reverse engineer and document
|
| - Team B (with no intersection with A): implement from
| document
|
| Allow me to indulge in a thought experiment:
|
| What if one tells ChatGPT to generate the documentation,
| then implementation is done from that?
|
| What if Copilot (which has no visibility into the original
| code) lays out a huge chunk of the implementation from the
| documentation?
| wtallis wrote:
| ChatGPT probably wasn't trained on any proprietary Apple
| source code.
| OnlyMortal wrote:
| Foundation Kit was "ok" with GNUStep. I'd expect that would be
| a good place to start.
|
| As for AppKit and now all the other frameworks that have been
| added, it'll be an uphill struggle.
| userbinator wrote:
| Win32 has been Win32 since Win95 (if you don't count Win32s).
| Additions have occurred, but much of the base has remained the
| same.
|
| In that time, Macs already changed processor architectures
| several times.
| vinniepukh wrote:
| Seems like GUI application support is not there yet. In that
| case, what command-line software for MacOS is actually useful
| for?
| LoganDark wrote:
| Xcode build tools. Right now you practically need a macOS
| machine to compile applications for macOS or iOS.
| IshKebab wrote:
| For command line apps you can cross-compile from Linux. IIRC
| it does require building Clang from source, and obtaining a
| Mac SDK (which is probably against their T&C's) but there are
| pre-made scripts to do it (there's a good GitHub Actions
| one).
|
| That said, I only do that for free projects. For commercial
| stuff I'd just buy a Mac Mini.
| maxloh wrote:
| Any links?
| roblabla wrote:
| Here you go: https://github.com/tpoechtrager/osxcross
| IshKebab wrote:
| https://github.com/mbround18/setup-osxcross
| LoganDark wrote:
| > For command line apps you can cross-compile from Linux.
|
| You technically can, but this has various issues. The lack
| of UI frameworks is one. I don't remember the others since
| I have a real Mac, but it's only an Intel Mac.
| ptspts wrote:
| On a Linux host, use pts-osxcross
| (https://github.com/pts/pts-osxcross) to target macOS, it
| contains Clang and other build tools precompiled for Linux
| amd64.
| fuzzy2 wrote:
| Last I tried Darling, my goal was to make a proprietary printer
| driver run on Linux. It was available for Windows and macOS
| (CUPS). So that's one use case.
| notRobot wrote:
| Did it work?
| fuzzy2 wrote:
| No, unfortunately I could not get Darling to compile back
| then and gave up. (I don't have that printer anymore
| either.)
| hiatus wrote:
| Why this over Wine with the Windows executable?
| fuzzy2 wrote:
| The Windows driver wouldn't work with CUPS. Or is there
| something like ndiswrapper for printer drivers?
| j45 wrote:
| Depending on your printer
|
| You may be able to print directly to port 9100 of the printer
| using netcat
| fevangelou wrote:
| Spot on ;)
| whalesalad wrote:
| Honestly my feelings exactly. Any cli software that's available
| for Mac is also available for any other Unix. Seems entirely
| pointless to me.
| AzzieElbab wrote:
| This is awesome. Now, what mac soft do I want to run on Linux? I
| am neither a gamer nor a designer
| gumballindie wrote:
| Dont worry, gaming on mac is not a thing so that's out of the
| question anyway - apple products are too low spec for it.
|
| There is some gui software that would be nice to run on linux,
| but none mase by apple.
| input_sh wrote:
| There's been some recent big budget games compiled for Apple
| Silicon; Lies of P and Baldur's Gate 3 come to mind. Of
| course, that's just a tiny fraction of big budget games and I
| haven't actually played any of them to know how good the
| experience is.
| a_vanderbilt wrote:
| It's nice when it works, but papercuts still degrade the
| experience. The M-series chips are really impressive when
| they get a chance to stretch their legs. It feels like
| we're still in the chicken-and-egg phase though. I don't
| foresee that changing unless Apple dumps a ton of money to
| incentivize publishers to port to Mac, or they do what
| Valve did and make their own equivalent of Proton - aimed
| at developers. The licensing on GPTK kinda kills that
| though.
| yjftsjthsd-h wrote:
| I would natively expect those to mostly have Windows
| versions that work with WINE already.
|
| Edit: Oh, it might be better if you want an ARM native
| binary.
| dgacmu wrote:
| I've been playing BG3 on an m1 Mac mini and it's
| surprisingly good. I haven't bothered loading it on my big-
| GPU gaming PC to compare, but that alone says something.
|
| (I'm in no way a serious gamer, so there may be plenty of
| things I overlook)
| idonotknowwhy wrote:
| Safari for testing
| yjftsjthsd-h wrote:
| The real thing is better, but you can probably get most of
| the way with any WebKit browser native to Linux.
| asow92 wrote:
| xcodebuild CLI to compile iOS apps without a Mac. Seems
| possible in theory, although there's an ongoing issue some are
| seeing apparently:
| https://github.com/darlinghq/darling/issues/488
| mseidl wrote:
| I'm a 30 year linux veteran and windows free for over 22. I di
| d have a windows vm for some time because I have some music
| stuff that doesn't work with linux, like a nord keyboard and
| some guitar stuff.
|
| But i burnt the vm with fire when I found
| https://github.com/foxlet/macOS-Simple-KVM
| jzombie wrote:
| Doubt it will continue to work once Apple completely stops
| supporting Intel.
| ptspts wrote:
| It didn't work for me for the macOS version I tried (not the
| latest one). Probably because the installer is not available
| from Applr's servers anymore.
| xyst wrote:
| Apple would probably send their army of lawyers after GH if you
| were able to run Final Cut Pro without using Apple hardware or
| macOS
| lisper wrote:
| Actually I think they would send an army of recruiters.
| 95014_refugee wrote:
| This ^
| iAkashPaul wrote:
| Would be great to get Maccy & Rectangle working on Ubuntu!
| smasher164 wrote:
| I know this only works for cli tools right now, but I'd love to
| be able to run iMessage and Notes on linux.
| cplusplusfellow wrote:
| From your lips to God's ears with iMessage.
| rubymamis wrote:
| Check out my note-taking app on Flathub:
| https://flathub.org/apps/io.github.nuttyartist.notes
| acheam wrote:
| Being able to run iMessage with this would be enough to let me
| (and I'm sure others) finally ditch my iPhone
| kennydude wrote:
| Very very unlikely - as far as i know iMessage requires a Mac
| or iPhone serial number to authenticate :(
| __jonas wrote:
| I thought notes was just a client that syncs via IMAP so you
| would be able to use any notes app that supports IMAP sync?
|
| Or has this changed?
| petabytes wrote:
| I've been using this the past few weeks to try and cross compile
| my software. Clang works, but a lot of the core libraries are
| missing. pkgbuild for instance won't work. And even native Cocoa
| apps I've tried won't work. That being said, this has a ton of
| potential. I really wish the devs had more time to work on it.
| robterrell wrote:
| Cocotron used to have pretty good AppKit API coverage:
|
| https://www.cocotron.org
|
| I was able to get a ported app running with it at one point.
| And I think Microsoft took a pass at it more recently:
| https://github.com/Microsoft/WinObjC
|
| But it appears Darling uses Cocotron so maybe you've already
| seen how well it works for you.
| bomewish wrote:
| Wonder if it does mdsearch/mdutil which is the macOS killer
| indexing process...?
| da-x wrote:
| With some smart dynamic binary translation it would be able to
| run Arm64 OSX binaries. Just 5 times slower.
| rspoerri wrote:
| Is it only me or is that background color of the FAQ with the
| black font totally unreadable?
| ncr100 wrote:
| > We use The Cocotron as a basis for our Cocoa implementation,
| along with the Apportable Foundation and various bits of GNUstep.
|
| My heart swells, I got to work at Apportable - super fond
| memories.
|
| .. was a YCombinator 2011 thing
| https://www.ycombinator.com/companies/apportable
| apatheticonion wrote:
| Would be nice to have support for fancy terminals like Warp or
| iTerm2 in Linux
| dang wrote:
| Related:
|
| _Darling Progress Report Q2 2023_ -
| https://news.ycombinator.com/item?id=37220023 - Aug 2023 (15
| comments)
|
| _Darling: The macOS virtual emulation layer for Linux_ -
| https://news.ycombinator.com/item?id=33157857 - Oct 2022 (1
| comment)
|
| _Darling - Run Mac apps on Linux_ -
| https://news.ycombinator.com/item?id=29813679 - Jan 2022 (200
| comments)
|
| _Darling: macOS Translation Layer for Linux_ -
| https://news.ycombinator.com/item?id=24683669 - Oct 2020 (199
| comments)
|
| _Darling - Run macOS software on Linux_ -
| https://news.ycombinator.com/item?id=22700365 - March 2020 (128
| comments)
|
| _Darling - macOS Translation Layer for Linux_ -
| https://news.ycombinator.com/item?id=19772322 - April 2019 (174
| comments)
|
| _Darwin /macOS emulation layer for Linux_ -
| https://news.ycombinator.com/item?id=17718906 - Aug 2018 (7
| comments)
|
| _The Mach-O Transition: Darling in the Past 5 Years_ -
| https://news.ycombinator.com/item?id=13581234 - Feb 2017 (1
| comment)
|
| _Darling - MacOS translation layer for Linux_ -
| https://news.ycombinator.com/item?id=12854895 - Nov 2016 (265
| comments)
___________________________________________________________________
(page generated 2023-11-26 23:00 UTC)