Hacker News new | past | comments | ask | show | jobs | submit login
ARM64 Linux Workstation (jasoneckert.github.io)
778 points by jasoneckert on March 3, 2023 | hide | past | favorite | 480 comments



I cannot wait for Linux to be fully usable on my Apple Silicon MBP. That is going to be such a killer environment to develop on.

Crazy fast hardware, great high refresh screen, insane battery life, fantastic touchpad, gestures and keyboard.

There is the potential that Windows games could run on it with some combination of x86 translation and Proton.

Using MacOS on it feels like I have a ferrari with square wheels.

Want to play games? Not unless the developers use Apple graphics APIs (not happening for new titles and never happening for old titles).

Want to run containerized workloads? Enjoy a cumbersome, slow, virtualized experience.

Want to use FUSE? Not on your work computer locked to high-sec mode as you cannot install kernel extensions (where is our user space FS Apple?).

Want to write a program that targets MacOS? Expect a cumbersome CI/CD experience because Apple expects you to manually compile distributables.

I could go on but as someone who has used MacOS for years and generally appreciates it, Apple really doesn't care much for developers. Other than its POSIX shell, MacOS doesn't have much going for it.

At least with my Intel MBP I could dual boot Windows so I could carry one laptop and switch between work and play. Now I have to carry around two computers when I travel for extended periods if I want to game.


I'm wondering if an M1 MacBook would actually have such a good battery life on linux. The processor is very power efficient, but I'd (naively) assume that MacOS's power management probably has a big influence too. In the same way that Linux laptops usually have a bad battery life compared to the same hardware on Windows. How good is Asahi when running similar workloads? And is it possible that it could reach parity with "stock" MacOS?

(I'm sure linux is in theory just as power efficient as MacOS or Windows, but distros are just usually not very concerned or capable of tuning it well enough.)


Installing Linux has had huge wins for me for power usage. Running powertop --auto-tune helps a good bit.

I used to fiddle forever but this gets like 80% of the wins. Things like "do we reduce power state of sata links" used to be extremely conservatively set, for fear of really old hardware from the beginning of sata era that behaved badly, but was an obvious &bhige win for 99.999999% of folk. Linux has finally started turning a bunch of these baseline expected tuning on by default, across the past few years (rather than powertop doing it), so the out of box experience is finally much more reasonable.

It's been like this forever but people love throwing shade. I had a Transmeta Crusoe laptop (p1120) amd yes, at first battery life was worde. But I did low hanging fruit optimizations, and Linux got better, and soon I had like an hour more runtime on Linux.

Mac famously has a trashburger IO subsystem, so not having that boat anchor hanging off the side should probably let the system hurry-up-and-idle better, saving power.


I don't understand why the powertop tunings aren't the default when the distro detects it's running on a laptop.


The most annoying thing that prevents me from running --auto-tune on bootup is that there's no way to exclude USB devices. So if I boot when docked, the mouse will stop working when I don't move it for a few seconds and I need to click to make it work again. And no, unplugging it once is not an acceptable solution.


It just got added in 2023, but there's now --auto-tune-dump which generates a command line invocation of powertop that would set all the auto-tune settings. Instead of running --auto-tune, you can make a script of this dump, modify it to your contentment, and run the script instead of auto-tune at startup. So you can omit your mouse!

Ideally there would also be a way to omit certain device or subsystem tunings from auto-tune as well.

Personally I think it'd be fun to mess around with more advanced schemes, where we dynamically alter powersaving behaviors based on user behavior. What we have now seems somewhat unresponsive. It'd be fun to dive into.

https://github.com/fenrus75/powertop/pull/116


Awesome! Yes, I was thinking about doing this manually by toggling every setting manually and copying the command being displayed but gave up quite quickly as it was too cumbersome. Sometimes the screen would refresh before you copied so you had to do it again... This option solves that nicely.


I wasn't wasn't of this, thanks


powertop is way underrated. You don't have to know much to get a lot out of it safely.


I used my M1 MacBook Air last weekend with Asahi and GNOME on train ride for roughly 4 hours (browsing the web, fiddling with a server over ssh, writing a blog post) and when shutting it down, it was still at 78%.

This used to be different when I first installed Asahi, but the GPU driver and other improvements have made battery life something I don't really worry about anymore.


thank you for that report. This convinced me to install it now.


Actually it works quite nicely on a M1 14''. Even battery life is quite good. Compared to my Dell XPS 15 7590 it has twice the battery life, easily if not even more.

One thing which bothers me a lot as it makes the laptop hardly useable for me at night: display brightness cannot be adjusted, it is either off or 100%. Some user claim this can be accomplished by installing the asahi-edge kernel, which does not even boot for me.

And this also bothers me lot: why are things checked in/distributed which do not work at all in Asahi Arch?!?! If you install e.g. a dev kernel which does not boot because the NVME driver is broken and you do not have a fallback kernel you are doomed. You cannot mount the partition in macOS to fix this manually.


Also the whole things seems somewhat un-deterministic. This morning I booted and the the Login screen nothing works. No keyboard input, touchpad won't move the cursor. Powerbutton works and will power off the machine. Then, u-boot starts and it stopped with some inputs, like it seems those keys I entered at the login scree, which shouldn't be at all NEVER....a few reboots and then it works normal. Very strange...


Okay, one step further, and one step back: installing the asahi-edge kernel requires the mesa-asahi-egde package otherwise you won't see a thing. This isn't been done automatically. Now brightness works which is fine, but working e.g. with raylib which will create a GLX context fails now with mesa-edge...


The only thing holding me back from running Asahi is lack of HDMI output (at least on M1 Airs). Has anyone heard about progress (or its likelihood) recently?


I tried it just now on M1 14'': nothing...


I think the key difference (hopefully) will be that there are a limited number of hardware configurations for Mac. Still a lot (i.e. 100+ SKUs) but not nearly the number of x86 hardware configurations (i.e 10000+)

Also presumably if Apple wants this to happen, they as a single vendor can provide a single definitive answer on what they are doing for each configuration. Eventually...

In the x86 world, there is Intel, AMD and like 50 different manufacturers each with a particular HW implementation/BIOS customization, leading to IntelAMDHardware_Vendor_customizations^50 permutations that'd need to be validated.


The permutations don't really matter. If one machine has Broadcom wireless and Intel graphics and another has Qualcomm wireless and AMD graphics and they're both supported and then you come across one that has Broadcom wireless and AMD graphics, you already have the drivers for it.

The real trouble is that you get some wireless chip which isn't popular enough for anybody to reverse engineer it but the manufacturer didn't provide any documentation, so the driver for it sucks or doesn't exist.

There is plenty of well-supported hardware so the solution is, don't buy the bad one. But some poor sucker who already did and now they want to run Linux on it may have a bad time.


But power management is still ussually subpar(compared to Windows) even on the well supported ones.


I run a T14s with nixos. For me battery is never ever a problem, sure it runs out if I fall asleep and YouTube is autoplaying. But it lasts almost an entire workday in the couch, it's usbc powered so I can charge it a bit with my powerbank.

Just clearing some FUD if people consider Linux bad for everyday use, that's mostly shit if you run Wayland and like sharing your screen (Jitsi or obs+virtualcam works well too).

Edit: remember Android runs on the Linux kernel-ish


Because Linux drivers don't implement as many features as their Windows counterparts, sadly.


It’s been a while since I’be owned a MacBook, but the speakers sounded significantly worse on Linux (and if you own a MacBook you know they can sound pretty decent) because they are EQ’d in macOS, not the speaker firmware.

Never has there been any effort taken within Linux to apply a generalstic ‘small speaker EQ’ to anything with detected internal speakers.

Similarly, the Linux kernel by default is optimized for server style workloads (throughput) instead of smoothness. It would be so easy to check for an internal battery and if true apply a few kernel parameters so your laptop stays smooth under load.

Linux as a desktop (well, laptop) OS is terrible not because it is incapable of being great at it, but because people don’t seem to care for the death-by-a-thousand-cuts issues.



There was even an article[0] about the sound of macbook speakers quite recently.

[0] https://news.ycombinator.com/item?id=34935483


Battery life is significantly worse on my m1 pro macbook pro under asahi. I'd estimate about half of MacOS.


Is it worse across the board? Is idle power consumption higher, or is it mostly when under load that it gets worse?


I find under load its the same, idle power consumption is higher. It seems linux doesn't have the same level of delegation on powerformance/effeciency cores that apple manages with macOS


I think it'll be the same on the MacBook pro 14 m1, at least for some people like myself. I had a Lenovo p15 with an Intel chip running fedora before my m1 MacBook and I got roughly the same life during the same working day between the two.


>I'm wondering if an M1 MacBook would actually have such a good battery life on linux.

Not 100% the same, but the Asahi members reported something like 8 hours on a M1 Macbook, so that's better than most/all x86 laptops with Linux


> 8 hours on a M1 Macbook, so that's better than most/all x86 laptops with Linux

It is makes no sense to compare an $1k/$2k M1 Macbook with random laptops. Those laptops exist because people want to run MS Word or Excel for $400. That's the feature.

Various System76 laptops, Thinkpads (among many other laptops recommended by Linux users) give you battery life comparable to macOS on the M1.


I keep hearing about battery life being just as almost just as good or better on linux (and on Windows too, though that's a more realistic claim). Yet even the latest gens thinkpads are pretty awful w.r.t battery. My friend bought an i5 12xxx Thinkpad X1 and can barely do 5 or 6 hours of screen on time, when the stated capacity is 16h. Lenovo denied a refund, because it's working as intended according to them (and my colleagues with s76 laptops don't even really expect more than 3-ish hours of battery at best). My work provided t14 gen 3, that I like, can't even keep it's charge when unplugged and in my bag for long enough.

And I'm no Apple fanboy, the only Apple device I've ever used has been an ipad 5 years ago and my M1 macbook.


Lenovo’s battery life numbers are consistent generation to generation, but wildly unrealistic. My 2015 thinkpad (since replaced by m1 air) was rated as 12 hours but could do at most half in practice doing very light tasks and typically ran about 4 hours. So when you buy a thinkpad you should assume actual battery life is a third to half of the rated life.

Apple’s numbers are equally unrealistic. They rate my m1 air for 15 hours, but in practice it gets to around 8 hours.


Eh... I have a T480. It's advertised at "17+" hours. With the 72Wh extended battery fitted, it has a total of 96Wh energy storage. With some small effort tuning (making sure the nvidia GPU is properly powered down etc) I can easily get its consumption down to about 5W - less, with lowered screen brightness and wifi off. 96Wh / 5W = 19h 12 min. Seems legit.


My macbook pro was rated for 18 hours and I find it very easily meets or exceeds that number if I'm working on general tasks.

Of course if its a day where I'm compiling often and have several tasks running its going to be lower, but thats not the usecase they advertise


Just a sample size of 1, but my HP ProBook 430 G3 (6th gen i5) could comfortably hit 8 hours of battery life, or beyond 10 on light tasks - before the battery went kaput unfortunately. However it was the “large battery” variant with I think a 40 or 50ish Wh capacity on a 13” screen.


> arious System76 laptops, Thinkpads (among many other laptops recommended by Linux users) give you battery life comparable to macOS on the M1.

that is a lie. system76 and thinkpads are nowhere close to giving you a full day of battery life on Linux.


System76 systems absolutely do not have good battery life. The systems the make tailored only to battery life try to be comparable in battery (~14h system76 to ~25h on m2 pro) but obviously x86 vs arm makes this attempt exceedingly difficult. You're going to remove a massive amount of computational power from an x86 system to improve it's battery life like that. However, of course if you're interested in increasing a laptop battery life, it helps to have control over the system if you have the time to put forth on optimizing it. I would imagine an asahi linux (archlinuxARM) system could be made to last much longer than macOS. However, this would require 1) not running any wm, or perhaps a simple one like awesomewm, 2)drastically reducing screen brightness, 3) removing any processes that run in the background continually (you could take this rabbit hole far - perhaps even to NTP requests and such), etc. MacOS doesn't have as much configurability like this, so it's variance in battery life is much less - probably a range of 10h-37h if you really push it. Linux could probably take that to 20min-8days if you tried.


I had a ThinkPad T14 AMD and the battery life on Linux was very mediocre, even after tuning with powertop. It was usually 2-4 hours, on Windows more like 8-9 hours.


Conversely, I'm on a Gen 8 X1, and on Silverblue with tlp replacing power-profiles-daemon, I routinely get 8-9 hours. Anecdata and whatnot, but I'm pretty happy with modern linux + modern hardware. That's not to say I wouldn't love to get my hands on an M1 macbook to see the difference though...


Right, and that is the issue. If I buy a Mac and run MacOS I can be sure that I get long battery life. If I get a PC laptop and run Linux, it's a random crapshoot if the random combination of hardware, kernel version, etc. (I also used Silverblue and Fedora) of whether you get a good battery life.

Maybe Asahi Linux will improve things, since they only target a very small number of hardware configurations.


It's almost as if "Linux" said very little about what software people are running, in what configuration.


That hasn't been my experience... If anything System76 are much much worse, and Thinkpads mediocre in that aspect


Better than high performance mobile workstations, sure, but I was getting 10-12 hour battery off a macbook air running Gentoo nearly a decade ago. PBP gets 10+ hours. $25 scrap latitude with ~70% peak capacity gets 6-8 hours.


I actually think you're onto something with this. When I run compilation workloads on my M1 MBP, I get 3-4 hours battery life.

VMs and games (crossover) also bring my battery life down to 4-6 hours.

My old intel MBP would get around the same battery life when doing the same workloads (games under bootcamp Windows), it would get worse battery life sitting idle or for optimised workloads (like video playback).

Mixed workloads, I get maybe 2-3 hours more with my M1 laptop. That's not nothing, but it's not the crazy 18 hours battery life in the marketing material


I need to go back and watch the marketing material, but I think everytime they brough up battery life, it was under conditions. Like 20 hour battery life browsing the web. 18 hour battery life with video playback. I don't think anywhere they claimed 20 hour battery life using something like Blender.

Which of course should be expected. My M1 probably gets about 18-20 hours when I am just web browsing. If I am compiling Xcode projects, half that. Messing around in C in Emacs, probably 14-16 hours battery life.


18 hours battery life is mostly marketing. Not even sure how to test that, maybe on 20% display brightness with no programs running, other than the OS...assuming it doesn't take screenlock/display off into account?


I remember reviews on youtube that showed the macbook air/pro M1 playing video (streaming?) for that long. Actually, it kept going for 20h.

https://youtu.be/KE-hrWTgDjk?t=645


Benchmarketing. It has hardware support for video codecs so it can play video efficiently in particular even though people traditionally think of that as something processor intensive.

The question is, what's the battery life when you're doing kernel compiles or GPGPU.


According to "Garry explains" on YouTube, the M1 MBP gets 3 hours of battery life looping kernel (I think) compilations until the laptop dies.


That feels about right to me too. I don't know if I'm usually just doing more computationally intensive stuff than most with my 16" M1 Pro, but I think the only way I could get anywhere near the advertised numbers is if I basically just had Safari open and the display on half brightness.

And not to beat the already long dead horse any more, but toss in some electron apps running in the background, I probably average somewhere around ~7 hours or so. I'm not convinced the 10+ hour lifetime is possible if you've got stuff like Discord/Slack/VS Code open.

But in terms of when I am doing truly evil things to it, I am surprised it lasts as long as it does, be it max CPU compiling or all of this morning when I was toying around with stable diffusion, it gets around ~4 hours or so.


My Lenovo X1 carbon was giving me more than 10h 6 years ago (after powertop tuning), so high quality laptops have been providing similar battery life for a long time.


> Using MacOS on it feels like I have a ferrari with square wheels.

Indeed macOS is the weakest part when working on Apple Silicon.

Sure it’s quite pretty but it stumbles over itself with terrible quality of life features. macOS looks modern but feels around ten years behind other desktops now.

Apple love to talk about how professionals and power users can get so much work done with the amazing Apple Silicon but ignore the fact window management is garbage. The UI still frequently stutters/judders when just resizing a window. There is no true virtual desktop management. Etc.

I do love macOS but Windows and Linux desktop environments are evolving much faster with excellent quality of life and productivity improvements that macOS badly needs but Apple ignore or worse over engineer other “solutions” such as Stage Manager.

Honestly who at Apple signed off on Stage Manager before basic window snapping?!

Does nobody at Apple have an ultrawide monitor? macOS is painful to work with on anything not 16:9 (or :10).


> Honestly who at Apple signed off on Stage Manager before basic window snapping?!

My money is that the iPad team are steering a lot of these decisions as part of a broader strategy to converge their desktop and mobile platforms.


It's funny, I love Stage Manager. I was worried about what I'd do after the Ventura upgrade because TotalSpaces is on life support, and so there was a chance it might stop working and I'd have to go back to 1-dimensional spaces after relying on two-dimensional spaces, and various 2D window manager workspace things, for many years.

But Stage Manager is what I actually wanted all along: let me group windows together, and then when I switch to one of them, bring the others along. For my typical workday I have my "slack, mail, mastodon" stage, a stage with a couple of browser windows, a stage with VScode and a couple of terminal windows, a stage with Obsidian and Omnifocus, and then ad-hoc stages as I need them. I add a terminal window to stages as I need.

I end up with the same benefits of two-dimensional TotalSpaces spaces, without having to care about the spaces' relative positions anymore! When I cmd-tab to VScode, I get my VScode "stuff", and when I cmd-tab to slack or mail, I get that "stuff", and so on. I wish I could make the transition faster, but with "Reduce Motion" turned on to skip the animation, it's not so bad.


I am glad you find it useful. You may not have heard of the app rcmd before but it works nicely with Stage Manager. Might be worth checking out as I found it make Stage Manager a lot more functional. https://lowtechguys.com/rcmd/


Oh that's nice, thanks!


> Honestly who at Apple signed off on Stage Manager before basic window snapping?!

Or UX testing. I gave it a try for a week. Gave up. It’s one of those few features that is not intuitive at all.

And it was supposed to help with productivity. Epic fail.


It really is awful isn't it. Why anyone thought a second dock on the side of the screen would make multitasking easier I have no idea. I think they did it just to be different.

I believe the reason they don't bring window snapping and better overall window management to macOS is because it is something Windows and every Linux DE does and has done for years so they will be seen as copying and being "late".

One of the good things about the changes in Windows 11 is the new snap assistant that pops out at the top of the screen when you move a window. It's simple and clear how to use it and makes sense visible only when appropriate.


> ignore the fact window management is garbage.

All I can say is that I'm flabbergasted by this statement. Expose was lightyears ahead of Windows window management at the time (10.4!), and it took Microsoft until Windows 10 to include it in Windows (same for virtual desktop functionality).

> no true virtual desktop management

Not sure what you consider "true" virtual desktops; OS X 10.5 had classic workspaces with Spaces; Mission control later localized workspaces to monitors. Both approaches have their pros and cons.

What exactly is it that has Windows 10 years ahead of MacOS in window management?

> before basic window snapping

I can snap two windows side by side in a fullscreen split (the most common use case for snapping). I would certainly call that "basic window snapping".

> Does nobody at Apple have an ultrawide monitor? macOS is painful to work with on anything not 16:9 (or :10).

I don't know. They don't sell any, right? Apple designs their user experience for their own hardware. It's just table stakes with them.

tl;dr -- these are your opinions. They differ from those of others. That's how Apple can ignore the fact that their window management is "garbage" --- they likely don't see it that way.


I use an ultra wide with my M1 Pro. It’s actually pretty great. I agree on the on the windows manager. I use rectangle app for that.


Exactly, you need a third-party tool for better management via snapping and sensible hotkeys.

Windows, Gnome, KDE, etc. have all these things for years. Perhaps even over a decade by now?

Microsoft even go one further with Fancy Zones in their PowerToys pack which is fantastic on very large/wide monitors.

I wish Apple would add the functionality of apps like Rectangle/Magnet/Fancy Zones with some additional options such as layouts. That would be far more useful than whatever they were trying to achieve with Stage Manager on macOS.


> I could go on but as someone who has used MacOS for years and generally appreciates it, Apple really doesn't care much for developers. Other than its POSIX shell, MacOS doesn't have much going for it.

This is why I couldn't justify continuing spending money on Apple (computer) hardware, I don't want to feel like a second-rate citizen on the platform I spend most of my time on. I used and loved MacBooks for a long time, but eventually I got tired of fighting against the one I'm giving money to for hardware, and had to switch away.

I'm gonna be honest and say that recent M2 laptops from Apple almost got me to buy one yet again, after a couple of years of hiatus from Apple laptops, but my wife reasonably reminded me about how much I bitched about various things last time I used their laptops for work. Ended up with another Carbon X1, and everything works as expected, battery works OK and so on.

But a side of me would love a laptop, but I need the maker to actually want to support me, not make it feel like sometimes they work against me.


> But a side of me would love a laptop, but I need the maker to actually want to support me, not make it feel like sometimes they work against me.

Take a look at the Framework - a friend got it and is very happy with it.

https://frame.work/


> Want to use FUSE? Not on your work computer locked to high-sec mode as you cannot install kernel extensions (where is our user space FS Apple?).

It exists already - https://threedots.ovh/blog/2022/06/quick-look-at-user-mode-f... - it is just that Apple hasn’t made the API public, and (AFAIK) won’t give you the entitlements necessary to use it. But, both are issues Apple could fix relatively easily - if they wanted to - and here’s to hoping the fix is coming soon

However, there is an alternative that works right now - have your user-space filesystem process act as an NFS or SMB server, and mount that. From what I’ve heard - https://lists.nfs-ganesha.org/archives/list/devel@lists.nfs-... - macOS even supports mounting NFS filesystems over Unix domain sockets, which has performance and security advantages over IP loopback


I think they're uninterested because they have a documented and supported userspace VFS API. The problem is, it's really designed for cloud drives and so deeply assumes a sync model. Works great for the intended use case, much better than Fuse but if you want to do something unusual, not so hot.


There’s a new FUSE implementation that uses this technique: https://github.com/macos-fuse-t/fuse-t

Worked without problems for sshfs when I tested it briefly.


Last I heard there are no plans to do this.


If true that's a pity.

20 years ago, Apple cared about macOS as a Unix, they were interested in putting in features that developers and sysadmins wanted, like this.

Sadly, today's Apple has a rather different attitude towards that sort of thing


On my x86 MBP, I run GNU/Linux in VMWare Fusion, full screen. That gives me a combination of both worlds, which I can easily switch between with 4-finger swipe.

I did battery life tests running the same Linux distro natively vs in a VM on MacOS. What I found surprised me: battery life was better with the VM than native, so I stayed with the VM.

When a VM is used, driver issues are effectively absent as Apple drivers handle most devices. (USB devices can be passed through to the VM.) The touch pads are properly calibrated and gestures work. Things like external displays just work. GPU access is not the same as from native Linux but the basic OpenGL support in VMWare Fusion was good enough for what I wanted to do. (That's not true any more though.)

Historically I've been more of a Linux user (and developer) on other laptops but it became interesting to get to know the MacOS world as well while still using Linux for dev work.


I also run Linux in VWWare Fusion and it's mostly great. But mics just don't pass through well. I have to switch to OSX to run Teams at all, and also to Slack if I need to huddle.


> I run GNU/Linux in VMWare Fusion

Just to be clear, is that an arm64 linux? Because emulating x86-64-linux still seems to be not very good.


> On my x86 MBP


Sorry, missed that part :)


I do this also (with Arm64 Linux) but it does ruin your battery.


I would consider myself quite the power user and use both macOS and Linux daily… I don’t really understand, from the developer perspective, your concerns about macOS?

While I prefer the feel of Linux, macOS is more than sufficient for almost any development I do (which also involves a lot of container/VM development and I’ve never felt this was slow).


I used mostly macOS for the last few years, with the occasional Linux. Recently I switched back to Linux (System76 laptop) completely, and only now do I realise how complacent I've been with macOS.

There's stuff like iTunes opening every time I connected BT headphones, and regular attempts to nag me into using Safari. Then there's a boat load of issues I found workarounds for: The window manager with its fullscreen mode and lack of tiling (Spectacle makes that bearable), the unique modifier keys that don't work well out of the box with readline shortcuts in the terminal and such, the often still manual process of installing and updating apps (maybe I could have used Brew or MacPorts more heavily), the inability to debug and fix any OS problems, and a literal hundred small things I can't even remember from the top of my head.

These things are all individually so small that I didn't event think about it, but when I realised the sheer quantity, I felt like I was in a codependent relationship with my main tool. Apple doesn't seem to care even remotely about users like me, and that's perfectly within their rights. The logical thing for me was to use something else.


Appreciate the reply.

> There's stuff like iTunes opening every time I connected BT headphones, and regular attempts to nag me into using Safari.

I don't know if these are legacy concerns, but this has not happened to me ever in the past 3 years.

> The window manager with its fullscreen mode and lack of tiling (Spectacle makes that bearable)

Yabai solves this very well.

> the often still manual process of installing and updating apps (maybe I could have used Brew or MacPorts more heavily)

I recommend Nix and Homebrew.

> the inability to debug and fix any OS problems,

How often do you run into this? I just don't really. I remember in my earlier days I did a bit because of some pinned package versions prevalent in macOS but when I switched to using Nix this went away, so I haven't run into any OS issues since... I think Catalina.

> Apple doesn't seem to care even remotely about users like me, and that's perfectly within their rights. The logical thing for me was to use something else.

That's totally fair. I love my MacBook, but I also have not run into the same struggles. I think my experience has been the complete opposite - once I configured it properly, it not only "just works", but I've yet to find a laptop that connects other aspects so seamlessly (AirPods, FaceTime, iMessage, Notes are all killer features in my day-to-day). Additionally, since switching to the M1, I have yet to find a laptop comparable in battery life (speed is generally matched when considering prices).


> I don’t really understand, from the developer perspective, your concerns about macOS?

It is not an OS that is made for power users. The UX is for non-technical people mostly, with vague errors that try (and usually succeed) to hide any details from you, making many things thoroughly undebuggable. When something doesn't work, best case scenario is "try turning it off and on again" (e.g. if iPad screen extending doesn't work and there is absolutely no information anywhere on why, what prerequisite you're failing. The button just isn't there and that's it, deal with it. I had to restart both devices for it to work; another fun one is "a USB device is consuming too much power and has been shut down, replug it" without saying which device and without any way to detect which device (they all still worked)).

Also the lacking facilities around basic stuff for developer productivity like window management and containers.


> Also the lacking facilities around basic stuff for developer productivity like window management and containers.

This isn't true, though? Just use yabai.


macOS can't run Linux containers because it's not Linux. It requires a vm and additional tooling, configuration, resources and just general considerations because of this.

It's also impossible to work with anything KVM related on macOS, which would require a vm inside a vm and is not supported on any M1 or M2 hypervisor.


Maybe it is time to understand the difference between being UNIX and yet another Linux distribution?


For me, it's less of a macOS inherent issue and more so that many, many things just assume Linux by default. Anything you find on GitHub that relies on some sort of native module is really hit or miss in terms of "will this just work, or will I need to go waste a couple of hours or resort to a VM?"

For example, I've run into a couple of occasions where I've needed to build some third-party thing that happens to also need something like QEMU, but the build scripts only run on Linux. Annoying, but whatever, setup a Linux VM/"container" and good to go, right? ... except there is no nested virtualization support on the M1 macs.

Outside of those sort of issues and other ARM-specific problems, while it doesn't usually impact my workflow too much, I wish I had more control over the system. I wish, for example, it could boot off of something other than APFS, etc. I don't want to have to deal with Time Machine when I've already got snapshots everywhere else, etc.

Everything is relatively minor, but there is always some new thing that makes me annoyed every week or two.


This largely depends on what you do, e.g macos doesn't have systemd and the features it depends on. I guess you can do all of what Linux does through containers but then it's just more cumbersome.

That said, if your workflow is to run everything containerized already, then running macOS as the base layer works just fine.


> macos doesn't have systemd

Some would consider this a feature. Unfortunately it does have launchd, essentially the model from whence systemd sprung... so joy for those folks would likely be short lived.


"Using MacOS on it feels like I have a ferrari with square wheels."

LOL. There was a time when mac/macos was the premium choice for a development environment, but I think that time has gone. Apple spent too much focus on iOS.


I seem to be in the minority, but I honestly don't get how people can develop productively on a laptop. The lack of full size keyboard, screen real estate, and uncomfortable touchpad compared to a mouse just feels horrible to me.


I’ve grown to hate using a mouse, and love the MacBook trackpad. Having your hands so close to both keyboard and trackpad means less travel time between.


That's why I like trackpoint. Mouse without as much as moving your fingers from the home row.


I like the idea behind trackpoint, but I just can't get used to it. Any tips?


It really helps if you set up your environment to mostly not need accurate clicks. For example, avoid needing to grab window title bars or corners, use keyboard-driven window managers. Use keyboard commands instead of clicking buttons. When I last used a Thinkpad, the only time I had to aim at all was clicking links on web pages. I still used the trackpoint to switch active window, but it was a "shove toward upper right", not aiming the pointer at anything (I liked the spatial aspect of it, compared to keybindings).

I also had it configured to move significantly faster on strong input, and slow down with gentle input.


The way I have my trackpoint set up (low sensitivity, no acceleration) makes it more accurate than trackpad, even. No acceleration means it always behaves extremely predictably; for me it's most useful when typing in forms and clicking around in them. It's extremely accurate and useful when set up properly. You can make tons of fine, precise movements and clicks when filling out documents and forms without even needing to move your hands from the keyboard.


Low sensitivity and no acceleration means it takes a very long time to move from one side of screen to the other. I guess I really don't fill in many forms where I can't tab between fields. But many of my habits also predate mainstream availability of GUIs...


Force yourself to use it exclusively for a while, no cheating. For better (it's great) AND worse (you have fewer options for laptops), there's no going back after that. I love it and even use Trackpoint with my desktop computer.


I used a couple variations for about 2 years - Thinkpads with a red trackpoint thingy. never liked them. Continually felt unnatural and clunky. Mac trackpad was a game changer for me.

Glad you found something that works for you.


Are there any hot-swappaple mechanical keyboards with a trackpoint? The only mechanical keyboard with a trackpoint I can find is the Tex Yoda II, which isn't hot-swappaple, and is also very expensive.


I had a Unicomp but the trackpoint wasn't as good as the Thinkpad* and it broke dead after about a year. Avoid.

*Thinkpad 560X! It was worse than a machine 17 years younger. I'm not sure which version the 560X had.


> it broke dead after about a year.

For clarification --- the trackpoint broke, right? Not the whole damn keyboard?


True, but in terms of development, the main use of mouse is really selecting text for copy and paste (unless you are hardcore vim user), and scrolling.

Id be impressed if the speed at which you can select text accurately is higher on the trackpad than a mouse. I have seen lots of developers at work on their macbooks do the standard select text->copy->paste, and everyone is way slower at this then people who use mouse.

Maybe its my FPS gaming days that make me better at this, but then again, nobody really plays FPS seriously using trackpads


Not a gamer - haven't 'gamed' since pitfall - so no experience with mouse vs trackpad in that respect.

What seems missing from all this is the notion of gestures. The two finger scroll, single finger pointer move, pinch/zoom, etc - the trackpad is flexible in ways a trackpoint thing just can't be.

"I have seen lots of developers at work on their macbooks do the standard select text->copy->paste, and everyone is way slower at this then people who use mouse."

Not really sure what you're getting at. Selecting with a... trackpoint can be faster than using a mouse? Maybe, for some people. I'm constantly surprised by mouse-using/GUI people who always do so much more with a mouse than you need to. But I'm not sure that takes away any argument from the mac trackpad.


> Not really sure what you're getting at.

Pretty sure they're saying that mouse accuracy trumps trackpad for cut/paste operations.

> What seems missing from all this is the notion of gestures. The two finger scroll, single finger pointer move, pinch/zoom, etc - the trackpad is flexible in ways a trackpoint thing just can't be.

Yeah, these are great. You can get the best of both worlds on a Magic Mouse, though.

Personally I do alright with a trackpad, but I also lean heavily on the keyboard regardless of auxiliary input devices. In particular, I don't do pointer-heavy workloads like e.g. image editing.


I prefer an (Apple) trackpad to a mouse to the point where I even have one now at my desk setup. I've used BetterTouchTool to configure custom gestures like three-finger swipe to open new tab/close window, rotate left/right to switch tabs etc.


The MacBook desktop environment combined with the trackpad (and gestures) are a big contributor to being productive in that context (though it also sucks so bad in some scenarios).

Swipe left, swipe right, terminal, editor, browser, etc.

Swipe up, see all open windows.

Before long I am using a single laptop monitor about as effectively as a multi monitor desktop setup.

In general though, companies tend to issue laptops. So even if you have a desktop setup with multi monitors, keyboard, mouse (which I do and use daily), it will be backed by a laptop on a dock.

Personally, I like being able to work out and about. I work from cafes, planes, poolsides, my couch, my bed. That style of work limits your hardware choices


To the last point, I have a tiny Bluetooth mouse. Not much bigger than the single AAA battery that powers it. I don't know how I managed to use laptops without one before. (Usually with a full-sized wired mouse, come to think.) I also prefer a traditional keyboard and large screens and so I normally use a desktop. But if you need portable, you need portable.


You can use a dock station and have the best of both worlds: mobility and high quality peripherals and mobility is not needed.


> insane battery life

Is it just hardware that helps extend battery life or is it the combination of hardware and software? One advantage for Apple is that they are both the hardware and software designer hence they can optimise both to take advantage of each other.


It’s always the sum of all that extends battery life but even when Linux support was just “CPU only rendering and minimal powersave functionality using unmodified DE components” the battery life was still decent. Brute force is quite the force.


A ferrari with square wheels, that is a good one.

A UNIX descendent of NextSTEP tooling, versus the distribution of the month in GNU/Linux world, preaching they will get the desktop this year, for 20 plus years, and the road for gaming relies on pretending to be Windows.

Treat macOS as Mac OS, not as a Linux distribution.

A proper set of UI frameworks, not stuck in pre-history C and C++ workloads or even worse Electron, a 3D graphics API that doesn't require one to become a graphics driver programmer to draw a triangle, proper attention to UI/UX,...

"They said a Unix weenie was code for software engineers who hated what we were doing to Unix (the operating system we licensed)—putting a graphical user interface on it to dumb it down for grandmothers. They heckled Steve about his efforts to destroy it. His nightmare would be to speak to a crowd of them."

https://web.archive.org/web/20180628214613/https://www.cake....


I don't need anyone to tell me about the "year of the Linux desktop". I have been using it exclusively since 2018 and earlier at work. The only advice I have to people is to stay the hell away from Ubuntu. That distribution is so bad and it gives people an absurdly bad impression of the Linux Desktop experience. Thanks to snaps, running IntelliJ, Firefox and the JVM application you are developing will consume 16GB of RAM. The coercive update culture with forced application restarts basically downgrades the experience to something as bad as Windows.

On my desktop with 32GB RAM I rarely get above 12GB with a ridiculous amount of applications.


Pity that 98% of the desktop computing hasn't noticed it, as per Valve survey average.


I’m paid to develop apps which deploy on Linux containers. macOS is uniquely incapable of providing a good development experience for that use case. Even Windows with WSL2 is leaps and bounds ahead.


Then don't buy a Mac, that simple.

WSL 2 is a Hyper V VM for running Linux distributions, while WSL emulated Linux syscalls.

Surely some of that salary can be used to make OEMs selling Linux hardware happy, instead of buying Apple and then complaining macOS isn't yet another Linux distribution.

If you want WSL like experience on Mac, VMWare is happy to provide it to you.

It is like complaining using Playstation SDK isn't fit to target Nintendo Switch, go figure!


The issue isn't that a MacBook is the wrong tool for the job, it's precisely that it's demonstrably capable of being the right tool for the job but Apple deliberately chooses to make it useless in an attempt to ring fence products within their ecosystem.

The comparison to the console world is apt as it mirrors Apple's attempts to lock their platform down, much like the console ecosystem. Thankfully the bootloader is unlocked and it's unlikely that's going to change.

Remember that the MacBook pro is a device marketed at professionals looking to do the work of their profession on their laptops. By "professional", it appears that Apple means "multimedia editors". If you are a software engineer, you are no longer the target audience for the MBP lineup.


Buying a device for Apple ecosystem developers and pretending it is a Linux distribution, is precisely holding it wrong.

Professional Developer !== Doing stuff on Linux distributions.

Want Linux? Buy Linux.


Why are you so aggressively defending a trashy product? I can't reliably alt+tab on a MacOS to switch between windows and apps, there are hidden shortcuts, 3 modifier keys make it a nightmare to wrap my head around shortcuts, window tiling is trash (thanks for the save Rectangle), iTunes randomly popping up when I use my BT headset, applications need to be "quit", closing just isn't enough, but some apps quit when their last window is closed, weird! Stage manager, virtual desktop, a broken dock. It's a nightmare. MS Windows have invented such a cool way of switching between multiple windows of the same app, doesn't matter if those are minimised or not.

Oh, and Macs have a hide and minimise feature, wow! Just a cluster fuck entirely. Gazillion different ways of installing applications and then managing all those updates separately (a lot like Windows in that regard). These are all issues I face on a regular basis, haven't even dived into developer experience.


> I can't reliably alt+tab on a MacOS to switch between windows and apps

Why do you expect alt+tab to perform identically to the Windows version such?e

> window tiling is trash

How's the built-in window tiling on Windows?

> applications need to be "quit"

...okay? yes?

> but some apps quit when their last window is closed, weird

Within Apple's own programs, you see this behavior? Or are you speaking of third-party apps that may be disrespecting the established paradigm?

> Oh, and Macs have a hide and minimise feature, wow! Just a cluster fuck entirely.

Yes, and I love the hide feature.

Seriously, there's plenty to complain about in Mac land these days. There's a definite trajectory and I don't at all like where it's headed. But all of your complaints (other than possibly the one regarding iTunes), essentially boil down to "this isn't Windows". That's fine, go use what you want. What's baffling is when you call something garbage, because it doesn't match your preferences especially when it matches those of others.


> If you are a software engineer, you are no longer the target audience for the MBP lineup.

If you are a software engineer developing for Linux.

Seriously. I don't get the sentiment here, at all. It's like buying a (insert non-microsoft platform here) computer and complaining it sucks to develop Windows apps on it.

???


Or you know, take off the square wheels and put some round wheels on.


Linux OEM vendors will gladly provide them, specially for those into Pimp My Ride kind of experience, plenty of wheels to chose from.


> Then don't buy a Mac, that simple.

If only. It was not my choice to make, it was my employer’s.


Difficult debating a fan's love with logic, right? This person is so aggressively justifying the MacOS decisions


That depends a lot on what you do. People writing servers on the JVM can do all their development locally and have be tested on Linux via ci. The idea that all developers spend their days running software inside Linux VMs isn't right. Many of us don't need to do that at all.


> Want to use FUSE?

Fuse is infuriating on MacOS - why is it not included by default??


Because it's a random third party filesystem adaptor module.

Why would it be "included by default"?


Most of the Unix utilities that are included were written by third parties. They're "included by default" because they're useful and take up a negligible amount of space.


They're included by default because they are standard UNIX userland.

FUSE is nowhere near that.


FUSE is newer than netcat or bzip2. That doesn't mean it isn't expected as standard. Linux, BSD and others all have it.


Where is FUSE in the POSIX or SUS standard?


A machine without FUSE is a toy


Because it's necessary for a load of use-cases, and installing a *kernel* extension for it is terrible for deployment


MacFUSE isn’t even open source anymore, so it would likely involve Apple forking a version prior to the license change and maintaining that themselves.


They have their own APIs for it but seem to have assessed that the only mainstream use case is cloud sync, which they always provide a better API for.


> Want to write a program that targets MacOS? Expect a cumbersome CI/CD experience because Apple expects you to manually compile distributables.

I'm not sure this is true anymore. I download source and run "make" and the Xcode compilers all do their thing and entitlements are applied and so on. I haven't tried to do any store submissions or anything but it all seems like Apple are aware that CI systems are a thing, now


> Want to play games?

This is an interesting topic. I found a surprising amount of games available that run on my new MBA just fine.


> Want to use FUSE? Not on your work computer locked to high-sec mode as you cannot install kernel extensions (where is our user space FS Apple?).

FYI, MacFUSE has a user-space library (`libfuse`). The kernel extension also works fine on macOS 13 if you can persuade your IT department to allow it.


I use the user space alternative, yeah - it does the trick though it integrates as a network drive.

Unfortunately, MacBooks are limited to being in "restricted" security mode which disallows kernel extensions from being loaded.

We are not allowed to use "Permissive" security mode


> not happening for new titles

Resident Evil Village, Baldur's Gate 3.

> and never happening for old titles

World of Warcraft.


I really don't understand the obsession with Apple laptop hardware. There are many alternatives that objective better: more ergonomic, less reflective screens, better keyboards, cheaper, lighter.


Apple's processors are really really good.


I haven't seen a non-apple laptop with a such a great touchpad, sound and display. It is always only one, max two of these criteria.

I have been using x86 laptops in the past (terrible clickpad and speakers like a cheap handheld radio from '90 but whatever, I ignored the overpriced Intel Macs). But M2 is something which I couldn't ignore anymore, bought and I am very happy. They are awesome (unless you buy lowest spec 8GB RAM version)! My only complaint is the soldered SSD and apple pricing on SSD. Having a slot there would make so much sense...


Point me at a processor as good as the M1 and I'll buy it


Define good? An AMD Ryzen 7 6900HS has similar single-core performance, much better multi-core performance for slightly worse power efficiency, compared to an M2. Add in the added advantage of flexibility (you can buy different hardware and switch it up like add RAM and disk and GPUs to your liking) and the fact you can run more things on it (e.g. game), and it's pretty "good". Is it better than an M2? Depends on what you're looking for.


>> slightly worse power efficiency

I don't believe it. My M2 Max maxes at around 40W. x86 just isn't that power efficient. You can idle with only one/few economy core turned on running at the lowest power state for longer battery life but x86 is simply very hungry when running high loads and it can't be magically improved. The arch is just obsolete and legacy.


slightly worse power efficiency is a slight understatement ;)


>I cannot wait for Linux to be fully usable on my Apple Silicon MBP

Since TFA says "everything works" atm, including GPU, Bluetooth, Audio, USB, etc, what's stopping you from doing it now?


Support for multi external monitors and improvements to power efficiency. It's also unlikely that my company's security team will permit Asahi until Apple Silicon support is available in the mainline Linux kernel.

I asked and they said currently they don't permit it

Native GPU support with support for Vulkan APIs and some games running would also go a long way towards making the switch as I'm permitted to dual boot MacOS and Asahi - allowing me to once again use one device for "work and play".

Right now I dual boot Asahi and it's "work and experiment"


I'd imagine they're talking about like-native support for the GPU and heterogeneous CPU architecture. Plus, the desktop experience in the article avoids some of the less-finished MBP parts like the speakers and brightness controls.


For me it’s the fact you can’t use external displays and the fact it can’t sleep yet so it drains while the lid is closed.

All things that should be fixed soon.


For desktop why wouldn’t you use Intel or AMD?

They’re faster and cheaper and more compatible and better software support.

I can understand people who want a Mac laptop, but seems weird to choose a slower, more expensive, less mainstream machine for desktop.


Incientally, the best Windows ARM experience is to be had on the MacBook with Parallels. I haven't really used Linux ARM outside of Parallels (except on a Pi 3, and that's not a fair comparison), but I bet the experience is up there.


Agree on MacOS, it feels like I am being held hostage by Apple when using it. The OS was advertised as developer centric but every single aspect for develop is terrible.


Do we know what doesn't work yet? I'm rooting to get Asahi onto my M1 mbp and have fallen out of the loop as to what is pending to be done on the Asahi side of things


Feature support: https://github.com/AsahiLinux/docs/wiki/Feature-Support

Asahi is still in Alpha. Expect things to be a bit rough.


>Using MacOS on it feels like I have a ferrari with square wheels.

Probably they care more about iOS since iPhone is their money maker. They might release iOS on MacBooks, too.


APFS has some kind of “file provider” API that apparently allows user space file systems. No idea how hard it is to use or if it’s well documented.


also No need to use flash usb drive just enter in terminal

curl https://alx.sh | sh

to install asahi linux Dual boot on m1 or m2 MacBook apple silicon


Great idea piping a website straight into a shell.


About as bad as downloading an exe and running it


I did that many times since my laptop has no cd reader anymore.


Installing gigabytes of Linux and applications from people you have no contract with, who have no obligation towards you, is a good idea but running a script to install it, that’s too far?


Asahi Linux is one of the best projects in OSS community I trust their work to run on my m1 m2 macs


seems to be clean bash script http://pastie.org/p/578asRpS0abo92Efj1YGLZ FWIW

so seems safe to me


The script that actually does stuff is here https://de.mirror.asahilinux.org/installer/installer-v0.5.3....


*<checks if axl.sh is available for registration>*


> Everything works… and works perfectly.

How can this possibly be true when Asahi Linux is still in alpha?

A quick trip to the project page shows lots of hardware features that are still not supported. [1]

It’s not a knock against Asahi Linux - it’s amazing what they have accomplished with a small team. It just seems so misleading for the author to claim that everything works perfectly.

[1] https://github.com/AsahiLinux/docs/wiki/Feature-Support


From your link, what's missing for the OP is:

Thunderbolt, DP Alt Mode, Video Decoder/Encoder, SEP, Neural Engine, internal Speaker

Thunderbolt seems like the main missing feature. It's easy to see how someone could live a fulfilling life without running into the lack of any of those features. E.g. is there even anything on the Linux desktop that could take advantage of the Neural Engine or Secure Enclave?


I'm dearly missing support for the fingerprint reader on asahi, thuogh its likely never going to be supported.


They say they are aiming to support it at some point in the far future (they still have to implement support for the SEP firmware in order for this to be possible, as far as I know).

Granted, that might as well be never.


Lack of HW video support will ruin battery life if you do conference calls or watch YouTube. It’s surprisingly important.


OP is working on a Mac Studio, which they upgraded to from a mini.

I don't think battery life is their concern.


Considering the absolutely awful performance of "modern" web/Electron based communications software (aka all of them), I'd be surprised if they used hardware video encoding/decoding to begin with?


Both teams and zoom on macOS seem to encode/decode on the gpu for me, as well as meets over chrome


The mac studio has no battery


> Is there anything that doesn’t work?

> To quote Hamlet, Act 3, Scene 3, Line 87: “No.”

> Everything works… and works perfectly.

That is impressive and really hard to believe! I guess I'll have to find an M1 mac Mini to try myself!


I've got an M2 Air. It is very usable, but its far from everything working perfectly.

Builtin speaker support is still a work in progress. It works if you know what you are doing and are not afraid to damage your speakers if you make a mistake. There's been progress on this though, so I expect this to be resolved sooner than later.

There's no builtin speakers in the author's mac studio though, so I'll give them a pass for this one.

Bluetooth and wifi both work, but their drivers are still buggy. I see a lot of errors in dmseg from these drivers and occasionally things stop working and require a reboot to fix.

GPU acceleration works, but there is still a lot of work to do on that driver.

External displays over the thunderbolt ports don't work yet.

Other things that don't work on the laptops: webcam, touch-id / Secure Enclave, some miscellaneous software.

Don't get me wrong, I've been able to daily drive linux only on my m2 air since August. I love the hardware and the current state of Asahi meets my needs. And its been steadily improving over the course of time. But its far from "work[ing] perfectly" yet.


OP's requirements pretty much uniquely match what Asahi on a desktop M2 provides -- heavy compute, not heavy graphics, no onboard speakers, one big display, no webcam/touch-id, etc.

It sounds like if you're developing services hosted in a cloud, Asahi Linux is a great fit for a desktop Mac.


Do they ever sell old graviton machines as salvage? Arenithey on revision 3 now? I'd like one of those.


Not that I'm aware of. I'd be surprised if those machines were even usable outside Amazon's datacenter; they're likely to lack a lot of standard interfaces (certainly no display output, probably no Ethernet, USB, SATA, or PCIe, possibly no 120/240V AC input).


This was news to me. Interesting reading:

https://www.semianalysis.com/p/amazon-graviton-3-uses-chiple...


You can find the Annapurna Labs AL73400 (Graviton 1st gen) in some devices, but I'm not sure you can easily install your own OS.


Precisely today, given the lack of SBCs stock and the price rises, I was checking small routers as options. I.e., a basic mikrotik router is 30 something euros, and in some models it supports OpenWRT.

Some of their more powerful routers have a bunch of ARM cores (no video out, though) and I think I've seen people using OpenWRT there.

For a while they were using Annapurna Labs CPUs, and I've seen that in some high end Netgear wireless routers from 2017, and I see people selling those with OpenWRT on eBay. I don't know their performance, but I'd like to try that instead for a mini server instead of an expensive and virtually inexistent RPi.

There goes a list of routers with Annapurna Labs processors, I'll see tomorrow if I find around some OpenWRT builds for them.

https://wikidevi.wi-cat.ru/Annapurna_Labs


> Do they ever sell old graviton machines as salvage?

Considering modern AWS hardware relies heavily on Nitro, their dedicated chips offloading networking and storage, it's unlikely Graviton CPUs would easily work outside of AWS' environment.


> There's no builtin speakers in the author's mac studio though, so I'll give them a pass for this one.

Don't all Macs come with a built-in speaker? I.e. the one that plays the start-up chime, and plays "system sounds" like emptying the trash.

On Mac notebooks and AIOs, this is one-and-the-same as the obvious external speaker array used as the default output device; but on desktop Macs (like the Mac Mini — don't know about the Mac Studio), it's a separate little speaker hidden somewhere inside the chassis. (It's like the old concept of a "PC speaker", but this one is hooked up to a DAC and routable as a regular audio device, rather than only being able to play tones from a PIT.)


Yes the Mini and Studio have the exact same mono speaker.


Wow, i would have thought given the Studio price you'd be getting the same speaker as in the current MacPro, which is pretty decent compared to the tinny PoS in the M1 Mini (og version is my experience)


Minor point, but the Studio does have a built-in speaker. I'm not sure what, if any, functional level it has under Linux, though. Hopefully, somebody can enlighten me.


Do you have a dual boot ?


yes No need to use flash usb drive just enter in terminal

curl https://alx.sh | sh

to install asahi linux Dual boot on m1 or m2 MacBook apple silicon


Yes


Not everything will work. Once upon time I tried to make CTF with M2 Pro, and I seriously wished that I had x86_64 Linux instead.

Many of the penetration testing tools are not mainstream and they include pre-build x86_64 binaries, or are configured just to not compile with ARM, for reason unknown. And there is no time to figure out what is wrong.

I know this might be a niche scenario, but still...


That seems like a wonderful opportunity to use QEMU since it's not all that performance-sensitive (I think?) and you're not running random pre-built binaries directly on your computer.


I ran all my stuff inside non-root non-volume container so prebuilt binary it is not really a problem.

I used QEMU through Podman machine in the end, but the performance is terrible. Even on MacOS side QEMU does not support Rosetta 2. Docker for Desktop supports and gives significant boost, but I don’t want to use it.


This stuff makes me super nervous. I've just gotten an M1 MacBook Pro at work because my old touchbar Mac was showing signs of impending battery death (and I only got that because IT didn't want to support Linux and I didn't want Windows). I've already had a few battles with some python libraries and today I've found that the Oracle container image doesn't run.

I love the battery life and the keyboard is much better than the old one. It feels snappy running native code but I just know it's going to cause me more issues than it's worth.


It will cause issues, yes. But personally I’d rather spend two hundred hours fiddling with arm64 issues that going back. The performance and silence is wonderful.


Did you try Lima on Mac? I never did compare apples to apples, ran an x86 Podman VM and then switched to an arm64 Lima VM and had drastically improved performance.


Lima uses QEMU as well. Performance is not an issue from ARM-to-ARM virtualisation.


Starting from 0.14 lima support vz framework on macos and allows you to use rosetta2 for x64 linux binaries :)


Thanks! Need to test it.


The newest release of colima / lima runs Rosetta2 by default when running cross arch. The file system and networking are flaky but it’s fast.


> Even on MacOS side QEMU does not support Rosetta 2.

Is Rosetta 2 that much faster than QEMU's own translation? Why?


>Is Rosetta 2 that much faster than QEMU's own translation

Oh yes. Based on the benchmarks I've seen it's a good 30-40% faster on compute workloads. I assume that the pre-transpilation of the binaries is advantageous relative to having to virtualize the CPU.


Anecdata: on my workloads it's near-native† vs ~10x slower for QEMU

† actually not measured, but compared to the order of magnitude on the other side it's about that, eyeballed against the same code on aarch64.


QEMU makes translation in Just-in-Time. Rosetta ”pre-builds” binaries to match different architecture, and binaries eventually run ”natively”, with the cost of delayed start.


It's not obvious that QEMU's JIT has to be a lot slower, but it is. It may be that Rosetta 2 is just more thoroughly engineered and tuned for Apple Silicon.

Among other things, Rosetta 2 is able to use the CPU's special TSO memory ordering mode, which I think QEMU's TCG cannot use so has to use barrier instructions instead (MTTCG), or run all the virtualised CPU threads on a single host core (obviously slower for parallel workloads).


“Once upon a time I tried to make CTF with M2 Pro”

Wasn’t the M2 Pro released like a month ago?

Am I that old that a few weeks now counts as once upon a time?


World changes fast these days!

But yeah, it was like week after the release I took that laptop to CTF.


I don't mean to cast aspersions, but that sounds a lot like something a time traveller would say if they'd been rumbled.

I'm just saying.


I cannot imagine a worse idea than downloading a binary artifact promulgated by someone in the competitive infosec community.


Not much different than installing any random pip package. They include pre-build binaries too. Infosec tools might be even safer.


That’s exactly what I’m always telling people about pip.


They’re inviting you to tear it apart, so


It's not obvious if you skim the post, but they mention getting the Mini in the first paragraph, but later mention they got a tricked out mac studio. so just be aware the fawning notes are about the Studio, not the Mini (although the mini does rock I love it)


Good point. I only noticed the bits about the studio.


per statement from Asahi Linux [https://social.treehouse.systems/@AsahiLinux/109931764533424...] - you'll have to do a lot of your own legwork [EDIT: on upstream/"standard" Linux] to get there.

Not having to deal with an entire custom laptop (i.e. getting a lot of standard peripherals for "free" after only getting USB to work) also helps a whole lot, and note the article specifically talks about a desktop mac.


That toot is about upstream Linux 6.2, not Asahi Linux. If you run Asahi Linux (as in the blog post) you get decent (but not complete) legwork-free hardware support. Detailed breakdown here: https://github.com/AsahiLinux/docs/wiki/Feature-Support


Good point, Thanks for the correction!


I thought the sound and trackpad didn't work although maybe that isn't an issue for the Mac Studio.


Not that hard to believe when you consider the hardware specs for Apple machines are so heavily locked down to a very specific set of mobo, cpu, and only variability in core count, ram amount, hard drive size, etc.

It's not like PC world of mix and match everything.


It's hard to believe because virtually none of the proprietary Apple Silicon platform (except the CPU instruction set itself) is documented and involved a tremendous amount of reverse-engineering effort by some very bright volunteers.


Agreed, if anyone wants some good insight, this video is fantastic. It gets to the tech stuff about 20 mins in iirc and explains some quite surprisingly open aspects of the apple ecosystem and some approaches to funky stuff with the closed bits.

https://www.youtube.com/watch?v=COlvP4hODpY


And yet open source community embraces the hardware with fervor.


It's an appealing platform. Entry level is $600, nice memory systems (66GB/sec to 800GB/sec), and nice iGPU. The laptops have nice keyboards, nice trackpads, nice screens, and great battery life. The desktops are built in a solid aluminum chassis and have a single fan (instead of the normal 4-8) and are small and quiet.

I do wish apple did a native apple port, but the community is making good progress on that front.


> but the community is making good progress on that front

You mean in reverse engineering hardware?


Yes.

Marcan, Asahi Lina, and related folks have been working on improving 3d accelerations. It's good enough for desktop use and some gaming so far, games like tuxracer, video playback, minecraft, etc. First the driver was in user space in python, then in the kernel with rust, and recent improvements have increased parallelism (from Lina) and removing Mailboxes (from Marcan).

OpenGL and Vulkan compliance has been increasing. Last I heard OpenGL was at 99-100% (almost all tests passing) and Vulkan wasn't as good, but improving. I believe Alyssa Rosen is doing much of that work.

Last published update I've seen is: https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linu...

There are some posts on Twitter and/or Mastodon, and regular updates on YouTube from "Asahi Lina" and Marcan, often by Live stream and Patreon.

Oh, and Neal Gompa is working on getting the GPU working with Fedora. One problem is most ARM linux distros default to 4k pages. But the GPU (which shares memory with the CPU) requires 16k pages. Seems like a performance win (less TLB thrashing), with a marginal increase in memory use.


Vast majority of hardware used by the open source community is proprietary and undocumented, and always has been. They embrace the challenge of reverse-engineering.


I hope I get to be a badass challenge-embracing reverse engineer like the people behind Asahi one day. I've done some USB stuff but have no idea how they're tackling all the other hardware.


I don't understand the draw to something so hostile to the core values of Linux.


GNU / Linux and BSD would never have started with that attitude. Most hardware was proprietary back in the day, and still is proprietary today. Even Thinkpads (a favourite among BSD devs) have proprietary subsystems that are reverse engineered. The alternative would have been to sulk and whine about it and do nothing. The hardware vendors truly do not give a f**k. They are run by business people, not open source idealists.


Your italics are strange and makes me wonder if you are trying to convey something. My first thought is that if the reverse engineering was done anonymously or pseudonymously, then the ones best positioned to do it would be actual Apple engineers who have insider information and feel like sharing with the world.


That's typically been the case since Linux started in 1991. Reverse-engineering undocumented proprietary hardware has been the norm.


Another Arm64 workstation you can buy today: https://www.ipi.wiki/products/ampere-altra-developer-platfor...


From the title of this post I was kind of thinking that maybe they were writing about how they're running Linux on an Ampere workstation.


Android phones with Termux are surprisingly usable too. So long as Google stops breaking it.


the 128 cores is just $5,518.00 ... neat.


Performance isn’t there. Why spend 3k+ on this?


M1 Ultra on macOS: ca. 1800 (1C) ca. 24000 (20C) https://browser.geekbench.com/v5/cpu/20798209

Ampere Altra on Windows: ca. 800 (1C) ca. 12800 (80C) https://browser.geekbench.com/v5/cpu/20639458

Ampere Altra on Linux: ca. 900 (1C) ca. 44000 (80C) https://www.tomshardware.com/news/ampere-altra-max-80-ccore-...

Apparently the key to getting performance out of the Ampere Altra is … to just not use Windows? And have a very parallel workload. Yes, a single Altra core is half as fast as a single M1 Ultra core. But it really depends on your use case and other factors (e.g. power efficiency) which one is preferable.


What's wrong with the performance?


A comparable m1 is twice as fast in the above benchmarks?

And that’s Apple’s chip from 2 years ago!

Core for core this is a dog.


altra is also > 2 years old, so the age of the apple chip doesn’t matter

Neoverse N1 is hardly a dog. It’s a decent enough core in a server processor that has 80 of them.

Altra is not intended to compete core for core with any laptop/desktop/workstation processor.


Surely if you consider apple hardware you don't care about performance, price or supporting an ecosystem that underpins the very essence of you are trying to do.

Buying mac hardware for a linux workstation is madness.


I really would like someone else to put out something competitive in that case, I’m rooting for them but haven’t seen it yet.


For a workstation there are tons of options? I'd argue tha mac studio is a very weak offering for that usecase.


I would argue there are zero options in x86 land that will give you the mac studio form factor (tiny, stylish, quiet) with that level of performance. PC workstations in that class are noisy big beasts. For some people how it looks is part of the set of requirements, and it is not “madness” to also care about that.


Noisy beasts... Hyperbole much?

But yes, if by workstation you mean shiny then sure!


> In some cases, it is too fast. When I installed K3s, all of the containers in the kube-system namespace kept entering the dreaded CrashLoopBackOff state [..] After some investigation, I found out that the Mac Studio was just too fast for the Kubernetes resource timing

I’d like to understand what the issue here is. Sounds counterintuitive to me.


It’s called a race condition. They never expected something to complete before another thing.


Yup. It is also a bug and a very difficult one to catch, so original devs would probably be very grateful for report and help in fixing it. I hope OP opened an issue.


I read that as "the container ran so fast that the orchestration assumed it was failing".


Classic that the only thing they reported didn't work was Kubernetes! Kubernetes is really such a complex and fragile system, at least in my experience.


Same here, OP can you share the limits you added? Or is it on namespace level


No problem. In the end, I had to actually set CPU limits on the pod level for traefik, svclb-traefik, metrics-server, coredns, and the local-path-provisioner.

I initially chose a limit of "500m" for all of them except coredns (which seemed to be fine), but there were still some occasional issues with the metrics-server and traefik, so I increased those to "750m" and that solved those issues, but it caused coredns to CrashLoopBackOff. After setting a "500m" limit on coredns, everything ran smoothly.

So, essentially, I set a "500m" on all of the pods in the kube-system namespace except for traefik and metrics-server (they got "750m"), and of course I didn't need to set limits on the helm-install-* pods.

I didn't modify the default memory limits at all.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: