Subject: Re: [PATCH 0/7] Add some Asahi Linux packages

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Mon, 6 Mar 2023 00:43:17 +0100

Hi,

> > The next step would be to support building a Linux with Rust
> > modules. I'm waiting for some patches from the Rust team to do this.
> 
> Can you explain more what you mean by this?
As I understand, some GPU drivers are written in rust. 

Though the GPU driver and the display controller are separate hardware
blocks, so one could use ARM Apple computers without 3D acceleration
but with working displays and desktop environments. 

The 3D acceleration is also experimental anyway, so as I understand
Asahi Linux users need to opt-in and install a specific package to be
able to use that.

What I wonder more generally here is also how to best deal with forks
and upstreaming.

As I understand Ashai is working with various upstream projects to
upstream code. So there are several possible approaches that aren't
necessarily mutually exclusive.

The project status[1] has information on what works with upstream code.

So for instance one way could be to add support though upstream
projects. Here it means that the laptops touchpads currently won't work
for instance, but almost all the important features for the Mac Mini
from 2020 would work.

That would still need a special kernel package built with 16K pages
(that is needed for some hardware features related to the IOMMU), but
it could probably be derived from the main kernel packages.

And the benefit here is that the maintenance could be done for free if
the new Linux packages are inherited from existing package and
automatically use the same version.

For the m1n1 package, Asahi Linux is the upstream, so there is probably
nothing special there.

> u-boot-apple-m1 is a modified version of u-boot from the Asahi Linux
> team, which is unlikely to be upstreamed from what I heard in the
> internet.
Do you have pointers and references for that?

Another way would be to (also) package all Asahi Linux forks whenever
possible and use that. Though in that case I wonder what is the plan
for updating the packages. For instance does Asahi Linux makes some
releases? If not how to decide on the frequency of updates? 

And will there be any plans for migrating to upstream projects when
forks are no longer necessary?

PS: Note that I'm just a random Guix user, I'm not a maintainer.

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

Denis.