Subject: [bug#61959] [PATCH 0/7] Add some Asahi Linux packages

From: Winter <[email-masked]>
Date: Mon, 6 Mar 2023 23:14:13 -0500

Hi all,

Hopefully everyone can see this properly (e.g. in their email clients).

> I didn't receive Winter's email and just saw it in the web interface after I sent v2 of the patch series. Should I be subscribed to the whole guix-patches mailing list as well to receive them? I'm new to the email based workflow and sometimes still a bit lost.

I mistakenly thought that Debbugs would forward my message to the participants, but it turns out you have to manually CC everyone if you don't have the existing conversation in your mailbox (e.g. through subscribing to the list). Maybe there's a better way to join the conversation I'm not aware of, but for now, I've just CC'd everyone manually.

> I'm not sure about the ordering of libdrm. I saw the mails are not ordered by patch number on the web interface.

Ah! Yes, you're right, I didn't realize they were out of order in the web interface... strange!

> But looking at my Git history, and the patch number in the subject line, libdrm ([PATCH 4/7] gnu: libdrm: Update to 2.4.114) is updated before adding asahi-mesa ([PATCH 5/7] gnu: Add asahi-mesa). So, aren't they in the correct order?

Yup, that looks good to me! Though, I do have to ask: is there a reason you swapped the additions of asahi-fwextract and asahi-mesa in v3? It's technically okay (that is, libdrm is bumped before asahi-mesa is added), but it may make more sense to group the two related changes together? Maybe I'm nit-picking too much ;)

> However, rust-bindgen-cli isn't yet packaged, and the version I used previously (0.59.2) somehow disappeared from crates.io. They now only have versions > 0.61.0 available, which I plan to package.

bindgen and bindgen-cli split into two crates with v0.61.0, see https://github.com/rust-lang/rust-bindgen/blob/a8c8638d28f135823e913dab69b8a0d4fa4bbf15/CHANGELOG.md#changed-4. I suspect if you check your previous code, you were pulling bindgen pre-split.

> The rust team is updating many packages at the moment, so my plan was to wait until those made it into the main branch.

Got it, thanks for the clarification. I was just asking because it did seem like building it was as simple as adding a few packages to inputs, so I was wondering if there was something I was missing.

> I think the differences of package/inherit vs (inherit) aren't very clear to me. I'm guess I should use package/inherit to be able to use input transformations. Is that correct?

Per my understanding, it has to to do with grafting, so maybe it only makes sense when a package is/can be grafted? I'm sure someone else can chime in with more concrete advice though, since both forms are used throughout the tree.

Moving on to Denis' comments:

> 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.

Correct, it comprises of a kernel built with a different config, and their Mesa fork.

> 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.

This is just a single configuration flag, AFAIK.

In general, I'm unsure if upstreaming these packages are the right thing to do at this point in time, due to how fast the project is moving. The Asahi team is going to eventually upstream ~all of their patches, so in the meantime, it may make the most sense to put everything Asahi-related in a channel? Of course, once things have stabilized and things are upstreamed, the channel will get smaller and smaller, but I think it may be the best option here.

(If any of you are interested in working on this, I'd be happy to help! Please reach out.)

WDYT?

Thanks,
Winter