• OSLinux
  • Asahi Linux: reverse-engineering the M1 Silicon

While searching for Linux distros to run on M1, I came across (a top search result) for Asahi Linux.

They say:

Our goal is not just to make Linux run on these machines but to polish it to the point where it can be used as a daily OS. Doing this requires a tremendous amount of work, as Apple Silicon is an entirely undocumented platform. In particular, we will be reverse engineering the Apple GPU architecture and developing an open-source driver for it.

It stands to reason that graphics will be part of this reverse-engineering. I took a quick look through their code but couldn't find anything relating to dithering. I am not a kernel nor hardware programmer...but I think it's entirely possible Apple doesn't have any toggle for dithering 🙁 like we have with ditherig for Intel / (and recently) AMD chips on Windows.

Just wanted to share it -- I think the project (especially the graphics stuff) is worth keeping an eye on. It seems the future of macOS is the M1 chips.

  • bkdo replied to this.

    ryans

    Thanks for sharing this, I’m definitely interested in following their progress. I think I’m going to contact the leader and see if he’d be open to helping us with the graphics stuff.

    7 days later

    Interesting, but it seems like a bit of a deranged project to me.
    Yes, the M1 chip is impressive. Yes, no laptop as compact performs as well.
    But, is it worth working around so much of macbooks' proprietary hardware that's frankly not built as well as their shiny exterior's make people believe (i.e. Louis Rossmann)? I don't think so.

    • JTL replied to this.

      cizeta I feel debating the merits of such a project is out of scope for this forum (it's been well discussed elsewhere) but I'll give my personal thoughts anyway

      For one, some of the people involved with this project were involved with past work porting Linux and "homebrew" app SDKs to certain game consoles. Now you may be thinking, why bother running custom applications on a game console? Try going back circa 10-15 years. ARM single board computers and that like were in their infancy, and for a quiet, reasonably power efficient "media center" device your options back then were basically either questionable "MP4 players" from unknown brands or quiet but expensive custom PCs. Also given how some consoles had specs competitive with conventional PCs from around the same time (Original Xbox was famously an x86 system with a Pentium III and 64MB of RAM from around 20 years ago for less than 300 dollars) there's also a value appeal to motivate custom development for such a device.

      Modern game consoles are pretty boring, because both the PlayStation and Xbox are just locked down mobile x86 chipsets that aren't that much cheaper than custom PCs these days (current shortages not withstanding). Xbox even lets you run your own UWP apps with some work (not perfect, but it's better than nothing, so many people lost interest.)

      I feel the value proposition really applies to the Apple M1 systems, because outside of (possibly) certain enterprise ARM hardware, it's basically the fastest ARM64 system you can buy today and has competitive performance versus x86. Apple put the bootloader code in place to boot custom OS images, so it's not entirely a "hack" like previous Linux ports to other embedded devices. That being said, do I like Apple? Ambivalence would be a fair statement to describe my thoughts on them recently, but observing this project certainly is an interest.

      But, is it worth working around so much of macbooks' proprietary hardware that's frankly not built as well as their shiny exterior's make people believe (i.e. Louis Rossmann)? I don't think so.

      A counterpoint. Plenty of x86 laptops have proprietary hardware that isn't well supported on Linux, and given the variance of whats on the market, it's hard to get good developers interested in research targeting "insert random x86 laptop model here", whereas with the Apple laptops, it uses a very similar chipset between each model, so things are a little different there.

      If I were to complain about the current Apple laptop hardware in the context of this post, it's that the internal storage is soldered to the motherboard. On the other hand a plausible rationale for soldered RAM is compared to socketed RAM, I believe the former can use less power because of more lenient power/signaling requirements.

      For one, some of the people involved with this project were involved with past work porting...

      Huh, okay. Yeah, that's neat history. Like I said, M1 chip is impressive, and I really do see the value in re-working for ARM due to its big efficiency to power ratio.

      Modern game consoles are pretty boring, because both the PlayStation and Xbox are just locked down mobile x86 chipsets

      Just another reason I see little value in consoles these days. It's no wonder we see such a lack of exclusives. If I can play the same game on PC, especially with all the modern software for setting up a big screen UI with a remote and everything, what's the point of console?

      That being said, do I like Apple? Ambivalence would be a fair statement to describe my thoughts on them recently, but observing this project certainly is an interest.

      Same here. I at least see the value as a foray into research. I can see what you mean with how there aren't many other similar ARM devices to try a project like this on.

      A counterpoint. Plenty of x86 laptops have proprietary hardware that isn't well supported on Linux

      I agree most modern laptops outside of System76 aren't saints. Really, beyond certain pre-Intel-backdoor ThinkPads, there are a good amount of gremlins to work around in any laptop.

      I should have put more emphasis on my controversial stance that Apple products have sub-par build-quality. For one, I just don't see why someone should get a Macbook over a Dell XPS as a Linux machine. The latter are just better built in every way.
      But, beyond that, the majority of people who truly need performance likely also need a dedicated GPU, anyway. I don't see much value in the performance of the M1 on its own outside of semi-serious image editing and using bloated Electron soyware.

      dev