In their "License" section on Github, they write "This project is not derived from Darling." - so they clearly are familiar with it.
account42 10 hours ago [-]
I wonder if this project will have any more momentum than Darling or if the set mac=only programs that people want to run on Linux is just too small.
ZiiS 22 hours ago [-]
Wine got a lot of support from games, even today productivity apps are often much less supported.
mananaysiempre 16 hours ago [-]
Which makes sense, games have a much smaller area of contact with the host platform.
This sounds strange given how much modern GPUs can do, but consider that a typical Windows machine ca. 2005 will have Access/JET Red, Active Directory/JET Blue, possibly MSSQL, definitely MSMQ/MTS, ODBC, OLE DB, DAO, ADO, that one SQL interpreter inside Windows Installer, and I’ve only just listed Microsoft’s database-adjacent things. I’m not surprised that press reports about the “MinWin” initiative mentioned as the main difficulty the fact that nobody could figure out if any given component was actually necessary for a Windows install to function, let alone to be compatible with third-party software. (Is anybody other than WordPad using the Word 6.0 parser included among the text converters?..) Now consider that this was, by our standards, a lightweight system on a massively underpowered computer.
ZiiS 7 hours ago [-]
Yes partly complexity; but also why spend your time trying to get Excel running knowing each update will be a pain when you can just put that time into getting LibreOffice Calc working better.
doctorpangloss 18 hours ago [-]
Yeah.. just give me a thing I double click that starts After Effects and Excel.
vlad_kalinkin 1 days ago [-]
Hi HN,
I started developing an experimental project with the goal of running macOS CLI binaries natively on Linux ARM machines.
As of now, we have working prototypes for:
- 7-Zip: Passes multi-threaded compression tests on an 8k-file tree. Currently ~5.2x slower than native Linux execution, but I already mapped out a clear optimization plan to cut this gap down.
- curl: Over 200 commands and options successfully pass our automated Docker test script.
- Xcode Tools Git: Basic version control commands (init, add, commit) are up and running, though 100% stability is not yet guaranteed.
I would be highly grateful for your constructive criticism, architectural ideas, and feedback!
Thank you!
StilesCrisis 1 days ago [-]
I assume you eventually plan to target binaries that don't already exist on Linux? Where do you think you'll start?
vlad_kalinkin 1 days ago [-]
Well, of course, most of all I would like to achieve full-fledged support for Xcode Tools (including building iOS applications) and the macOS version of Homebrew. But, of course, there is still a lot of work ahead to get to this point. Thank you!
ethin 18 hours ago [-]
I would look at osxcross[0] if you haven't looked into it already. It can at least do the "build stuff targeting macos" part (well, relatively speaking). Swift support kinda breaks down, unfortunately, and actually getting it set up is a bit of a hassle. but it does work.
Would be nice to have a "sanity check the resulting binary" tool though like you can use Wine for Windows builds.
iwontberude 1 days ago [-]
And it’s an endlessly moving target, look at how many apps break every major release (and use it to justify regular, expensive paid upgrades)
vlad_kalinkin 1 days ago [-]
That's true. But if we can achieve support for the current stable version, it will be much easier to add new features later or rework the ones that were replaced (unless Apple changes everything on purpose :)
frumplestlatz 21 hours ago [-]
Historically, I’d say that the chances of this being successful are exceptionally low given how large the ABI surface is — and it will wildly change out from underneath you on a near yearly cadence.
Perhaps LLMs change that calculation. I really couldn’t say.
RossBencina 15 hours ago [-]
I'm curious: how large is it really? As I understand it, Kakehashi is targeting command line programs, especially Xcode-tools. How much non-POSIX/Mach/BSD interface do Mac command line programs use? How much of that is not already open source. How much of that changes yearly? The only thing that comes to mind is process security for codesign and notarization but I'm just guessing.
StilesCrisis 4 hours ago [-]
The Xcode Tools are written by Apple to run on Macs; they have no reason to avoid internal APIs, and when dealing with App Store-related concerns, they probably do use them heavily.
dmix 15 hours ago [-]
Even React Native tools used by tons of companies struggle to keep up with Xcode build tool changes on mac itself.
imoverclocked 21 hours ago [-]
Do you plan on supporting different target versions and implementing similar restrictions to those targets?
eg: older macOS had a writable /usr/ while newer does not without manual effort.
Also, do you plan on having similar cli tools available with similar features ported (maybe from the available Darwin sources?)
eg: can I run a /bin/bash script that expects a macOS environment? Will it get "Darwin" from "uname -o"
nullsanity 14 hours ago [-]
[dead]
alexboehm 12 hours ago [-]
Interesting, I've been building the inverse of this project, to enable running Linux binaries on macOS, as that's not something I've seen in an active project. It works an a very similar way but it's in Zig.
I'll post it soon!
vlad_kalinkin 12 hours ago [-]
Wow! Best of luck with your project. It's truly amazing how our ideas mirrored each other perfectly :)
Arshad-Talpur 1 days ago [-]
This is something i have been looking for long time, however i have gone through repository and docs and the problem is bigger and solution still seems to be early, I am curious how you gonna take further, will be watching it
vlad_kalinkin 1 days ago [-]
Thank you very much!
leothetechguy 1 days ago [-]
this is something I've been waiting for a long time. I will be watching this with great interest.
If this ever gets far enough I would love to see something similar to yabridge implemented on top of this and be able to run AU binaries on linux.
petesergeant 12 hours ago [-]
What's your use-case? Are you hoping for eventual GUI before it becomes useful, or there's value for you in the CLI?
leothetechguy 6 hours ago [-]
I just want to use macOS plugins for music production on asahi linux. A GUI is important but not strictly necessary I guess. So yeah, limited gui support would be great.
vlad_kalinkin 5 hours ago [-]
It's not on the list of goals yet (so far only CLI and a stable basis), but of course if I went to GUI, it would be nice, since I work in Logic Pro :)
By the way, has anyone checked if the utility works on Asahi Linux (or on real non-Mac hardware)?
idieifkiwdu 17 hours ago [-]
Really cool project, but honest question though: why do people tend to name these projects so horribly? I know software engineers aren’t actually known for their creative acuity when it comes to naming, but damn, Kakehashi is just bad.
vlad_kalinkin 13 hours ago [-]
Haha, thanks for the comment!
My previous project had a more traditional name: WIE (Wie is Emulator), which was an attempt to run PE64 binaries on macOS via Cranelift JIT. It was an ironic joke nod to WINE (and it still survives in the GitHub organization name).
For this one, I wanted something more conceptual. Kakehashi (掛け橋) means "bridge" or "go-between" in Japanese. Plus, I just really liked how it sounds and harmonizes with Asahi Linux.
account42 10 hours ago [-]
WIE is also bad because the W in Wine is for Windows.
Should have gone with MIE for both the Wine worldplay and weebery (well close enough anyway).
Gabrys1 7 hours ago [-]
W in WINE stands for WINE
15 hours ago [-]
harrouet 12 hours ago [-]
Kakehashi is perfectly fine for the 2/3 of humanity that live in Asia.
Open up your mind and learn other cultures.
account42 10 hours ago [-]
"All Asians speak Japanese" certainly is a take.
misnome 17 hours ago [-]
Do names have to be English?
derefr 24 hours ago [-]
If you didn't care about having a fully-redistributable image, but were okay with doing things more like modern old-console-game decompilation projects do (where compiling the project requires the original game ROM as an input), would a project like this be more trivial?
I.e. how hard would it be, comparatively, to design a virtualization framework that doesn't actually ship with any ground-up-rewritten libraries, but instead just expects to execute the binary in question in the context of a full rootfs copied over from a "real" macOS install?
fl0id 22 hours ago [-]
with games, afaik that is mostly necessary for assets. For an OS, this would basically like a VM and is slower/more overhead.
rvz 1 days ago [-]
How can we tell that this is truly a clean room project and that there is no code from either (Claude or yourself) that is derived from the Darling project?
Otherwise great project.
vlad_kalinkin 1 days ago [-]
Thanks for the comment! You guessed it, I did use LLMs during development. While the strict definition of a "clean room" design can be debatable when AI is involved, I'd consider this a "light-gray room" approach. There is no direct code plagiarism here: Kakehashi is written from scratch in Rust, whereas Darling is built on C/objc. Furthermore, the architecture is fundamentally different—Darling relies on kernel-level emulation, while Kakehashi is purely focused on a lightweight userspace approach for Linux ARM. In my prompts, I explicitly restricted the use of proprietary components. Ultimately, the codebase speaks for itself, and I welcome everyone to audit the repository! Thanks again!
13rac1 1 days ago [-]
FWIW Darling runs in userspace too.
What do you mean by "proprietary components"?
vlad_kalinkin 24 hours ago [-]
Thanks! What I meant is that Kakehashi doesn't require a custom Linux kernel module (LKM). Kakehashi operates completely without root privileges or kernel-level modifications.
By "proprietary components," I meant that in my prompts, I explicitly forbade the copying or direct implementation of private Apple code. Of course, since LLMs are a bit of a black box, it's hard to be 100% certain about everything it synthesized under the hood, but the clear intent was to stick to public ABI definitions and standard open specs.
saurik 21 hours ago [-]
Darling stopped using the kernel module a year ago.
billyjobob 1 days ago [-]
Darling is written in a different language so I don't think the LLM would copy paste code from it directly. But it is the main (only?) prior art, so it could be argued that everything the LLM knows about how to do this came because it read and understood Darling, i.e. if Darling didn't exist it may still be able to do this but it would have to figure it out from first principles.
Not saying it happened here, but it's an interesting thought experiment: what if you order an LLm to achieve the same goal as a popular open source project, using all the lessons learned and pitfalls faced by that project, but not to copy the code. Indeed, LLM code is now often better than human code, so direct code copying would be a disadvantage. Humans are certainly inspired by other projects like this all the time and it isn't considered plagiarism.
rvz 1 days ago [-]
> Darling is written in a different language so I don't think the LLM would copy paste code from it directly.
Just because it is written in a different language does not mean that it is a clean room implementation. The logic from Darling might as well have been lifted and then rewritten by a human or an LLM agent.
> Indeed, LLM code is now often better than human code, so direct code copying would be a disadvantage.
Is that why coding agents such as Claude Code and Codex have so many bugs in them? This is entirely dependent on the language chosen with the humans behind the decision to review and accept some of the changes.
> Humans are certainly inspired by other projects like this all the time and it isn't considered plagiarism.
Humans (researchers) also appropriately credit the work that inspires them, especially in experiments and research.
mathisfun123 17 hours ago [-]
you can copyright a specific implementation but that doesn't necessarily grant a patent on the "algorithm". so unless darling is patented then a translation of the "algorithms" in darling is legal. to wit: that's why all the "numerical recipes" books couldn't block implementations in other languages.
RossBencina 15 hours ago [-]
IANAL and I don't think you are either. Be careful making simplistic inferences about a complicated system. Human "translation" is one thing, algorithmic "translation" has seen separate treatment in IP case law.[1] Whether this has relevance to LLM transformation or recall I don't know.
No it's not since "human translation" is literally all we had until about a year ago.
You should read the case again because it doesn't say what you think it says - it says generating a copyrighted work via a new system is still infringement (which is exactly what I'm arguing isn't happening in this case because what's being generated is a new language impl).
To put it very simply: if I use a machine (biological or electrical) to translate my favorite song into another language that's not infringement.
nxc18 1 days ago [-]
> Indeed, LLM code is now often better than human code
lol. Find better humans.
sterlind 24 hours ago [-]
it depends on your prompting. LLMs can generate beautiful code, or absolute slop.
kazinator 12 hours ago [-]
A future optimized release can be code-named Kakeashi. :)
MaxelX 1 days ago [-]
Quite the interesting work! Although I don't use macOS binaries, I can see this is promising.
fareesh 23 hours ago [-]
Would be nice to be able to build iOS apps on Linux ARM runners
Gabrys1 7 hours ago [-]
And that's the intended goal for the project
cactusplant7374 22 hours ago [-]
I'm curious, how many agent hours have you spent on this so far?
vlad_kalinkin 13 hours ago [-]
Based on the commit history, it took about 6 days of active development.
As for the AI assistant, I used Grok 4.5 in Build (Medium, no sub-agents, just standard chats and Plan Mode). I can't track the exact hours, but I spent several full days hyper-focused on this. Naturally, I hit the weekly usage limits all the time and had to sit around waiting for the cooldowns (like now :).
Thanks for the question!
richard_gg 17 hours ago [-]
[flagged]
vancekai 16 hours ago [-]
[dead]
Natalia724 1 days ago [-]
[dead]
hamza7159 24 hours ago [-]
[dead]
tempaccountabcd 1 days ago [-]
[dead]
youareinsuffera 1 days ago [-]
[flagged]
zahlman 1 days ago [-]
> NEVER ONCE allowed me to post here at all, ever, period.
> My first attempt at posting here was in 2021. That account was shadowbanned within hours, for no discernable reason. I was astounded.
Have you considered emailing hn@ycombinator.com to figure out the problem?
cindyllm 1 days ago [-]
[dead]
claiir 21 hours ago [-]
[flagged]
cromka 20 hours ago [-]
Are there any obvious mistakes? Because the way I see it, AI can and the most models actually do write better READMEs than most people ever cared.
youareinsuffera 24 hours ago [-]
[flagged]
theproblemisyou 1 days ago [-]
[flagged]
leothetechguy 1 days ago [-]
I'm not the guy that's banning you.
I come here with the expectation that this isn't 4chan and I leave my opinions exactly as they are while still being polite. This isn't inevitable. Else nobody would use this site. You can be upset about many things like AI and people will share that sentiment or not. You can read the Guidelines, it's not hard to see they aren't unreasonable. And it's easy to see if you violate them.
Thanks for the Death Threat.
theproblemisyou 1 days ago [-]
[flagged]
leothetechguy 1 days ago [-]
Fine. Wishing I burned in a Fire isn't technically a Death Threat. Congratulations.
I have no incentive to be nice either, but I am because I want to. And If you are nice while constructively formulating your anger you don't get banned. easy.
sounds like you are just being an asshole because you hate the general consensus on this site, and can't be bothered to be polite in favor of creating new accounts all the time. That makes you the asshole from my perspective.
Have a great Day.
yourewrongsorry 1 days ago [-]
[flagged]
leothetechguy 1 days ago [-]
rust is a tool like any other, grow up.
I personally find it easier to work with than c++ in many cases.
EDIT: On second look... you okay dude? That's an awful lot of anger and swearing for an account created 11 minutes ago. Please calm down for your own sake or do something different at least
meindnoch 1 days ago [-]
How did he predict your comment?
leothetechguy 1 days ago [-]
I didn't, I just went to his profile and checked the comments since I had a feeling he wasn't being rational. And I saw a lot of very angry comments made before this one.
Are you familiar with the Darling project? https://github.com/darlinghq/darling There's an open PR for ARM64 support https://github.com/darlinghq/darling/pull/1753 Could you combine efforts or do your goals differ too much?
This sounds strange given how much modern GPUs can do, but consider that a typical Windows machine ca. 2005 will have Access/JET Red, Active Directory/JET Blue, possibly MSSQL, definitely MSMQ/MTS, ODBC, OLE DB, DAO, ADO, that one SQL interpreter inside Windows Installer, and I’ve only just listed Microsoft’s database-adjacent things. I’m not surprised that press reports about the “MinWin” initiative mentioned as the main difficulty the fact that nobody could figure out if any given component was actually necessary for a Windows install to function, let alone to be compatible with third-party software. (Is anybody other than WordPad using the Word 6.0 parser included among the text converters?..) Now consider that this was, by our standards, a lightweight system on a massively underpowered computer.
[0]: https://github.com/tpoechtrager/osxcross
Perhaps LLMs change that calculation. I really couldn’t say.
eg: older macOS had a writable /usr/ while newer does not without manual effort.
Also, do you plan on having similar cli tools available with similar features ported (maybe from the available Darwin sources?)
eg: can I run a /bin/bash script that expects a macOS environment? Will it get "Darwin" from "uname -o"
I'll post it soon!
If this ever gets far enough I would love to see something similar to yabridge implemented on top of this and be able to run AU binaries on linux.
By the way, has anyone checked if the utility works on Asahi Linux (or on real non-Mac hardware)?
My previous project had a more traditional name: WIE (Wie is Emulator), which was an attempt to run PE64 binaries on macOS via Cranelift JIT. It was an ironic joke nod to WINE (and it still survives in the GitHub organization name).
For this one, I wanted something more conceptual. Kakehashi (掛け橋) means "bridge" or "go-between" in Japanese. Plus, I just really liked how it sounds and harmonizes with Asahi Linux.
Should have gone with MIE for both the Wine worldplay and weebery (well close enough anyway).
Open up your mind and learn other cultures.
I.e. how hard would it be, comparatively, to design a virtualization framework that doesn't actually ship with any ground-up-rewritten libraries, but instead just expects to execute the binary in question in the context of a full rootfs copied over from a "real" macOS install?
Otherwise great project.
What do you mean by "proprietary components"?
By "proprietary components," I meant that in my prompts, I explicitly forbade the copying or direct implementation of private Apple code. Of course, since LLMs are a bit of a black box, it's hard to be 100% certain about everything it synthesized under the hood, but the clear intent was to stick to public ABI definitions and standard open specs.
Not saying it happened here, but it's an interesting thought experiment: what if you order an LLm to achieve the same goal as a popular open source project, using all the lessons learned and pitfalls faced by that project, but not to copy the code. Indeed, LLM code is now often better than human code, so direct code copying would be a disadvantage. Humans are certainly inspired by other projects like this all the time and it isn't considered plagiarism.
Just because it is written in a different language does not mean that it is a clean room implementation. The logic from Darling might as well have been lifted and then rewritten by a human or an LLM agent.
> Indeed, LLM code is now often better than human code, so direct code copying would be a disadvantage.
Is that why coding agents such as Claude Code and Codex have so many bugs in them? This is entirely dependent on the language chosen with the humans behind the decision to review and accept some of the changes.
> Humans are certainly inspired by other projects like this all the time and it isn't considered plagiarism.
Humans (researchers) also appropriately credit the work that inspires them, especially in experiments and research.
[1] https://en.wikipedia.org/wiki/Adobe_Systems,_Inc._v._Souther....
> Human "translation" is one thing
No it's not since "human translation" is literally all we had until about a year ago.
You should read the case again because it doesn't say what you think it says - it says generating a copyrighted work via a new system is still infringement (which is exactly what I'm arguing isn't happening in this case because what's being generated is a new language impl).
To put it very simply: if I use a machine (biological or electrical) to translate my favorite song into another language that's not infringement.
lol. Find better humans.
As for the AI assistant, I used Grok 4.5 in Build (Medium, no sub-agents, just standard chats and Plan Mode). I can't track the exact hours, but I spent several full days hyper-focused on this. Naturally, I hit the weekly usage limits all the time and had to sit around waiting for the cooldowns (like now :).
Thanks for the question!
> My first attempt at posting here was in 2021. That account was shadowbanned within hours, for no discernable reason. I was astounded.
Have you considered emailing hn@ycombinator.com to figure out the problem?
I come here with the expectation that this isn't 4chan and I leave my opinions exactly as they are while still being polite. This isn't inevitable. Else nobody would use this site. You can be upset about many things like AI and people will share that sentiment or not. You can read the Guidelines, it's not hard to see they aren't unreasonable. And it's easy to see if you violate them.
Thanks for the Death Threat.
I have no incentive to be nice either, but I am because I want to. And If you are nice while constructively formulating your anger you don't get banned. easy.
sounds like you are just being an asshole because you hate the general consensus on this site, and can't be bothered to be polite in favor of creating new accounts all the time. That makes you the asshole from my perspective.
Have a great Day.
I personally find it easier to work with than c++ in many cases.
EDIT: On second look... you okay dude? That's an awful lot of anger and swearing for an account created 11 minutes ago. Please calm down for your own sake or do something different at least