Show HN: Kakehashi – Experimental userspace to run macOS binaries on Linux ARM
Posted by vlad_kalinkin 20 hours ago
Comments
Comment by 13rac1 20 hours ago
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?
Comment by iSnow 18 hours ago
Comment by account42 4 hours ago
Comment by ZiiS 16 hours ago
Comment by mananaysiempre 10 hours ago
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.
Comment by ZiiS 1 hour ago
Comment by doctorpangloss 12 hours ago
Comment by vlad_kalinkin 20 hours ago
Comment by StilesCrisis 20 hours ago
Comment by vlad_kalinkin 19 hours ago
Comment by ethin 12 hours ago
Comment by account42 4 hours ago
Comment by iwontberude 19 hours ago
Comment by vlad_kalinkin 19 hours ago
Comment by frumplestlatz 15 hours ago
Perhaps LLMs change that calculation. I really couldn’t say.
Comment by RossBencina 9 hours ago
Comment by dmix 9 hours ago
Comment by imoverclocked 15 hours ago
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"
Comment by nullsanity 8 hours ago
Comment by alexboehm 6 hours ago
I'll post it soon!
Comment by vlad_kalinkin 6 hours ago
Comment by Arshad-Talpur 19 hours ago
Comment by vlad_kalinkin 19 hours ago
Comment by idieifkiwdu 11 hours ago
Comment by vlad_kalinkin 7 hours ago
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.
Comment by harrouet 6 hours ago
Open up your mind and learn other cultures.
Comment by account42 4 hours ago
Comment by misnome 11 hours ago
Comment by leothetechguy 20 hours ago
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.
Comment by petesergeant 6 hours ago
Comment by derefr 18 hours ago
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?
Comment by fl0id 16 hours ago
Comment by kazinator 6 hours ago
Comment by rvz 19 hours ago
Otherwise great project.
Comment by vlad_kalinkin 19 hours ago
Comment by 13rac1 18 hours ago
What do you mean by "proprietary components"?
Comment by vlad_kalinkin 18 hours ago
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.
Comment by saurik 14 hours ago
Comment by billyjobob 19 hours ago
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.
Comment by rvz 19 hours ago
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.
Comment by mathisfun123 11 hours ago
Comment by RossBencina 9 hours ago
[1] https://en.wikipedia.org/wiki/Adobe_Systems,_Inc._v._Souther....
Comment by mathisfun123 8 hours ago
> 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.
Comment by MaxelX 19 hours ago
Comment by fareesh 17 hours ago
Comment by Gabrys1 1 hour ago
Comment by cactusplant7374 16 hours ago
Comment by vlad_kalinkin 7 hours ago
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!
Comment by richard_gg 11 hours ago
Comment by vancekai 10 hours ago
Comment by Natalia724 20 hours ago
Comment by hamza7159 18 hours ago
Comment by tempaccountabcd 19 hours ago
Comment by youareinsuffera 19 hours ago
Comment by zahlman 18 hours ago
> 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?
Comment by cindyllm 18 hours ago
Comment by claiir 15 hours ago
Comment by cromka 14 hours ago
Comment by youareinsuffera 18 hours ago
Comment by theproblemisyou 19 hours ago
Comment by leothetechguy 19 hours ago
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.
Comment by theproblemisyou 19 hours ago
Comment by leothetechguy 19 hours ago
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.
Comment by yourewrongsorry 20 hours ago
Comment by leothetechguy 19 hours ago
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
Comment by meindnoch 19 hours ago
Comment by leothetechguy 19 hours ago
Comment by eddysin 14 hours ago