Darling: Run macOS Software on Linux
darlinghq.org
darlinghq.org
My heart swells, I got to work at Apportable - super fond memories.
.. was a YCombinator 2011 thing https://www.ycombinator.com/companies/apportable
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.
Something similar can be done with Wine as well as MinGW and other similar toolchains and platforms that target Windows.
The only thing making this hard for targeting OS X is that a) too few people care for ready-made cross-compilers to be available so you have to piece this together yourself and b) there is no open-source reimplementation of the OS X system headers and stub libraries to link against so you have to extract the official ones from Xcode but that again is only a matter of people not caring.
For MinGW that is all there because Windows is a much more popular target - many Linux distros have MinGW packages that you can simply install and start cross-compiling. The same could be done for OS X.
Presumably only runs macOS binaries built for intel? (i.e. not apple silicon.) I can’t find if it says anywhere.
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.
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.)
I'm kinda surprised that ARM isn't common yet in Windows and Linux.
Nvidia is supposedly planning to release one in 2025.
I have a 2008 MBP that's 64-bit, and a 2006 Mini that's 32-bit.
> Presumably only runs macOS binaries built for intel?
For now, yes. I'm currently trying to get Darling working on ARM64; however, I'm running into issue getting dyld working...
That said, I only do that for free projects. For commercial stuff I'd just buy a Mac Mini.
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.
You may be able to print directly to port 9100 of the printer using netcat
- 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?
As for AppKit and now all the other frameworks that have been added, it’ll be an uphill struggle.
In that time, Macs already changed processor architectures several times.
You are 2 years too late.
NT 3.1 was the first OS with Win32 as its standard API, in 1993.
Or has this changed?
The thing to do is to use Chrome (yes...), and open the page. In the hamburger, go to "Create a Desktop shortcut". Choose "open in a new window". This gives you a desktop shortcut to open the page in a standalone way. Visible to your launcher, distinct ctrl+tab... it's janky but I've found this works well.
Firefox please add the Chrome standalone desktop shortcut feature!
I’ve been looking for a replacement, but nothing really gives you
- Offline-first usage
- Sync changes via CRDT
- Fast startup time
- Rich text support
- iOS and desktop linux support
For tiny notes I've been using.... facebook messenger chat to myself. Say what you will about Meta, at least their stuff mostly works.
I still feel for you. I really want to commission some software that feels good to use on Linux ("feels good" in the real sense, not in the GNOME sense)
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)
https://web.archive.org/web/20170707092302/https://developer...
There is some gui software that would be nice to run on linux, but none mase by apple.
Edit: Oh, it might be better if you want an ARM native binary.
(I'm in no way a serious gamer, so there may be plenty of things I overlook)
But i burnt the vm with fire when I found https://github.com/foxlet/macOS-Simple-KVM
I own a Mac and a copy of logic, but I really would love to be able to travel with a single laptop instead of carrying my Air just for recording.
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.
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.
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.
It's better to point out WebKit.
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.
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.
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.
GitHub, TypeScript, Vscode (when I have to interact with people who cannot think outside an IDE), and I've just started to use Playwright.
Sadly there isn't much I can do about TypeScript and NPM.
Microsoft wants to control everything in our lives.