Live data from Hacker News

Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

notion.so

131–140 of 148 posts

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#131

I wonder if Nix on macOS could become a better homebrew-killer by supporting Apple Silicon first. We already do aarch64-linux natively and some iOS cross compilation, so that should give us a head start.

I'm glad I'm not the only one hating homebrew. It's become very anti-user in the past few years under the new maintainers. Even the original maintainer has said publicly that he doesn't like the direction the new maintainers took homebrew. All the changes the current maintainers of homebrew have made have been in the direction of "make maintaining homebrew easier so we get less questions" without any thought to the user experience those changes cause.

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#132

Would running X86 require licensing? If Intel doesn't say anything then could Apple in a couple of years develop their own X86 CPU by turning Rosetta into a hardware solutions? Technically it should be possible - as Transmeta has done something similar, but cannot find if they got a license from Intel or it was not needed. https://en.wikipedia.org/wiki/Transmeta

I've read that Rosetta 2 doesn't actually emulate x86 and only emulates x86_64 which is owned by AMD, not Intel.

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#133

when software like brew finally becomes available on Apple Silicon natively. How can I delete all this stuff I need to download under Rosetta? I don't want to have duplicate stuff

You can replace `install.sh` in the install script with `uninstall.sh`

thanks!

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#134
post #107

Earlier quoted context omitted.

I can imagine many existing tools still rely on the commands being directly accessible on PATH, and Apple may be reluctant to break them outright even that’s the goal. They are declared deprecated so people would refrain from using them for new things, and move old things away from them. That’s basically what deprecation means in software, as I understand it. Those commands wouldn’t be called deprecated if Apple brea…

Right, but in that case I would not expect them to upgrade Python to 3.8.

It’s quite likely Apple still wants Python.framework to be available (which is not deprecated) and it’s easier to upgrade the whole thing.

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#135
post #63

are there any benchmarks of x86-64 homebrew ports running under rosetta2 vs the last generation of intel macs? how about stuff like python, webservers or java apps running in x86-64 linux docker containers? very curious what the effects are of the new arch on common developer use cases. (without having to recompile/rebuild everything for apple arm)

Not for Homebrew but some benchmarks here: https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...

i guess the gcc bench confirms, "yep, it's not native." cool that they do as much transpilation as possible at install time, and then jit the rest at runtime though. i'm curious how this all works in context of linux container runtime and if there are additional overheads...

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#136
post #135

Earlier quoted context omitted.

Not for Homebrew but some benchmarks here: https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...

i guess the gcc bench confirms, "yep, it's not native." cool that they do as much transpilation as possible at install time, and then jit the rest at runtime though. i'm curious how this all works in context of linux container runtime and if there are additional overheads...

all that said, i think the big screwup here is that the SoC only supports two displays where the intel chipset supported three or four. only being able to drive a single external display (after years of supporting multiple) is pretty bad, i doubt jobs would have let that one slip... (no matter how much cool engineering went into making the arm arch a reality)

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#137

I wonder if Nix on macOS could become a better homebrew-killer by supporting Apple Silicon first. We already do aarch64-linux natively and some iOS cross compilation, so that should give us a head start.

I'm glad I'm not the only one hating homebrew. It's become very anti-user in the past few years under the new maintainers. Even the original maintainer has said publicly that he doesn't like the direction the new maintainers took homebrew. All the changes the current maintainers of homebrew have made have been in the direction of "make maintaining homebrew easier so we get less questions" without any thought to the u…

> without any thought to the user experience those changes cause.

Sorry you get that impression. As one of the maintainers, my impression is that each decision happens in good faith, and usually follows a controversial discussion, which puts user experience on par with maintainers’s well-being.

Examples off the top of my head:

[1]: https://github.com/Homebrew/brew/pull/9172#issuecomment-7299...

[2]: https://github.com/Homebrew/brew/issues/9177#issuecomment-72...

[3]: https://github.com/Homebrew/brew/issues/9099#issuecomment-72...

That’s not to say your feelings aren’t valid. I can see how some unpopular decisions may come across as rude, thoughtless or selfish. I’m aware that this is still a huge issue, and my feeling is that we still have a lot to learn in order to get better and more transparent at communicating.

I’m thankful for feedback like yours (even though I strongly disagree with the part that I’ve quoted). You can be sure any such feedback has a real, positive impact on where we’re heading as a project.

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#138

Earlier quoted context omitted.

It can replace casks too, as mac apps can also be packaged in Nix.

Where can I find out how to do this?

Installing a package is enough. For example, if you install the emacs package, Emacs.app would be available in ~/.nix-profile/Applications/Emacs.app.

If you want to launch apps you've installed with Nix using Lanchpad or Spotlight, you can use nix-darwin[1] or home-manager[2] to create a symlink in ~/Applications, though the latter seems to have temporarily disabled this feature due to conflicts between the two.

[1]: https://github.com/LnL7/nix-darwin/blob/master/modules/syste... [2]: https://github.com/nix-community/home-manager/blob/master/mo...

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#139

Earlier quoted context omitted.

Where can I find out how to do this?

Installing a package is enough. For example, if you install the emacs package, Emacs.app would be available in ~/.nix-profile/Applications/Emacs.app. If you want to launch apps you've installed with Nix using Lanchpad or Spotlight, you can use nix-darwin[1] or home-manager[2] to create a symlink in ~/Applications, though the latter seems to have temporarily disabled this feature due to conflicts between the two. [1]:…

> Installing a package is enough. For example, if you install the emacs package, Emacs.app would be available in ~/.nix-profile/Applications/Emacs.app.

Right. I'm using home-manager on darwin and various apps like Emacs, Alacritty, Kitty are supported. However, many GUI apps are not, such as Firefox, so that's why I'm still using Homebrew's cask.

Re: Run x86 Apps (including homebrew) in the Terminal on Apple Silicon

#140
post #46

I wonder if Nix on macOS could become a better homebrew-killer by supporting Apple Silicon first. We already do aarch64-linux natively and some iOS cross compilation, so that should give us a head start.

macports is a better homebrew-killer IMHO. Follows MacOS guidelines and frameworks, integrates with the MacOS way in terms of launch agents etc.

What we need is a cross platform package manager that installs stuff in the same place and make stuff behave the same, so shell configs can be unified between OS and not have "if" all over and expect same environments.

nix is almost that, except some packages are too old but otherwise, I have it running identically on macOS and Linux.

Homebrew puts stuff in some weird location that is /home/linuxbrew/.linuxbrew/ on Linux and that alone puts me off and it breaks if I change that location. No idea why they don't just use a path like /opt/homebrew/ for both OS and be done with it.

Post reply on HN