SakeTami
marcan
marcan

patreon


Quick Asahi Linux project update!

Hi folks! Sorry for being so sparse on the updates here!

I've actually been planning on doing monthly Progress Update posts on asahilinux.org, but as I was thinking of writing the January update lots of interesting things were happening... and before I knew it, we were halfway through February already. So, the first update will be for Jan-Feb in just a little over a week - stay tuned!

Here's a quick sneak peek of what's going on:

As of a few weeks ago, we got Linux bring-up to a nice stable point, with working serial, framebuffer, and SMP support. As you know, my goal is to upstream everything we do into Linux, so our code doesn't just have to work, but also has to be clean and maintainable and up to upstream standards. To that end, I sent out a v1 of our initial bring-up patchset to the Linux kernel maintainers and mailing lists, and got a good response! There were over 100 mails in the discussion, and we narrowed down two big questions I had over how to approach specific issues we faced with the M1.

Just a couple days ago I posted a v2, and I'm now coordinating an interesting cross-tree merge with the ARM64 Linux maintainers, as they're taking over one of the two issues I mentioned above (including one of my patches).

All in all, things are on track to make it into Linux, via the SoC tree, quite soon. 5.11 was just released a few days ago, so it is too late to get into 5.12 the way the pipeline works; that means that, if no weird blocking factors happen, Linux 5.13 will officially have (basic)  M1 support.

It might seem that things are moving a bit slow, but keep in mind that this initial bring-up patchset is critical and more complicated to merge, as it involves cooperation across many different kernel maintainers and subsystems (ARM64, serial/tty, IRQ, Device Tree, and  more). It's dangerous to build on top of an unproven base, as then upstreaming might end up requiring large changes and refactoring, so in the long run it pays to get this initial part sorted out early. Once this support is in, further development and upstreaming can be parallelized much more efficiently.

There is lots more work happening though; just to list some things, m1n1 got a bunch of new code (e.g. support for embedded payloads, MMU support, and soon a framebuffer); I've been working on reverse engineering more hardware details such as timers used for virtualization, the PMCs, and Apple's custom instructions; Dougall is working on the GPU ISA and Sven is working on DART; I posted a tool that lets you use one M1 mac as a serial terminal for another, and I started designing a serial interface cable for M1 macs that also do a lot more cool things. Check out our wiki for new documentation too, such as our Developer Quickstart which was sorely needed. Iris is working on qemu support for the platform, and I also sense a little hypervisor-related project in the horizon...

I'm really proud of the community that we've been building around Asahi Linux! Remember to drop by our IRC channels if any of this sounds like it might interest you; we even have a few Linux upstream maintainers in the channels already ;-)

There's lots more to come, so stay tuned for that progress update!


Comments

I'm really impressed by the progress on this and how fast it's moving forward! Thanks for the update.

WhyNotHugo

it's so exciting to see things moving so quickly while also in such an orderly fashion. Great work! Thank you!!

Thanks for the update and I just want to second that the streams are very enjoyable, even when I understand only 11% of what's going on :)

Thank you! Really great to see the progress and I’ve enjoyed the streams and updates. Thanks to all who are contributing in all the different ways!

Thanks for the update!


More Creators