|
| 1 | ++++ |
| 2 | +date = "2025-05-15T13:00:00+10:00" |
| 3 | +draft = false |
| 4 | +title = "Progress Report: Linux 6.15" |
| 5 | +slug = "progress-report-6-15" |
| 6 | +author = "James Calligeros" |
| 7 | ++++ |
| 8 | + |
| 9 | +Linux 6.15 is right around the corner, which means it's time for another progress |
| 10 | +report! We have been pretty busy behind the scenes and we have some exciting developments |
| 11 | +to share with you all. |
| 12 | + |
| 13 | +## Fedora Asahi Remix 42 Release |
| 14 | +Last time, we announced that Fedora Asahi Remix 42 was close to release. It has since |
| 15 | +[released](https://fedoramagazine.org/fedora-asahi-remix-42-is-now-available/) and is |
| 16 | +now available to install! The Asahi Installer now offers Fedora Asahi Remix |
| 17 | +42 images by default, and existing users on FAR 40 and 41 are encouraged to upgrade using |
| 18 | +[`dnf system-upgrade`](https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/) |
| 19 | +or Plasma's Discover to start enjoying the latest versions of your favourite |
| 20 | +software. This is also a reminder that Fedora Asahi Remix follows the [Fedora Linux lifecycle policy](https://docs.fedoraproject.org/en-US/releases/lifecycle/), |
| 21 | +and thus Fedora Asahi Remix 40 is now fully end-of-life (EOL). |
| 22 | + |
| 23 | +## Fewer forks, more spoons |
| 24 | +We are pleased to announce that our graphics driver userspace API (uAPI) has been merged |
| 25 | +into the Linux kernel. This major milestone allows us to finally enable OpenGL, OpenCL and Vulkan |
| 26 | +support for Apple Silicon in upstream Mesa. This is the only time a graphics driver's |
| 27 | +uAPI has been merged into the kernel independent of the driver itself, which was kindly |
| 28 | +allowed by the kernel graphics subsystem (DRM) maintainers to facilitate upstream Mesa enablement while |
| 29 | +the required Rust abstractions make their way upstream. We are grateful for this one-off exception, |
| 30 | +made possible with close collaboration with the kernel community. |
| 31 | + |
| 32 | +This means that we will soon sunset our Mesa, virglrenderer, and Flatpak runtime forks. Eliminating these forks lightens |
| 33 | +our maintenance burden, and working directly with upstream Mesa improves the development |
| 34 | +experience for folks working on the userspace graphics stack. It also means that other distros |
| 35 | +like [Debian](https://salsa.debian.org/xorg-team/lib/mesa/-/commit/bcd9afe05d2e31459eb8c1f54b6dda2a257cbf14) |
| 36 | +and [Gentoo](https://github.com/gentoo/gentoo/commit/23e382acf4f7d75e49bc694f409c92385283632f), and |
| 37 | +the [Freedesktop SDK](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/commit/13e0add938f4c74887a08ad0ef6493502a8d3913) |
| 38 | +can provide userspace graphics support for Apple Silicon without any additional packaging burden. |
| 39 | + |
| 40 | +Fedora Asahi Remix will drop the forked packages with the upcoming Fedora Linux 43 |
| 41 | +based release. We expect that to happen without user intervention. The transition will be |
| 42 | +disruptive for Fedora Rawhide, but Rawhide is not supported or expected to be used on end-user systems. |
| 43 | + |
| 44 | +Upstreaming the uAPI has been an ongoing effort behind the scenes for |
| 45 | +a long time. Making a single change to the uAPI requires commensurate changes to the |
| 46 | +kernel driver, Mesa and virglrenderer. These changes need to be synchronised, since Mesa |
| 47 | +and virglrenderer rely on the uAPI to communicate with the kernel driver. Some keen observers |
| 48 | +may have noticed that [many](https://lore.kernel.org/asahi/20250310-agx-uapi-v1-1-86c80905004e@rosenzweig.io/) [versions](https://lore.kernel.org/asahi/20250313-agx-uapi-v2-1-59cc53a59ea3@rosenzweig.io/) [of](https://lore.kernel.org/asahi/Z-Fn4niI6_Yd06Ze@blossom/) [the](https://lore.kernel.org/asahi/20250323-agx-uapi-v4-1-12ed2db96737@rosenzweig.io/) [uAPI](https://lore.kernel.org/asahi/20250326-agx-uapi-v5-1-04fccfc9e631@rosenzweig.io/) [were](https://lore.kernel.org/asahi/20250327-agx-uapi-v6-1-df6b878a61b2@rosenzweig.io/) [submitted](https://lore.kernel.org/asahi/20250408-agx-uapi-v7-1-ad122d4f7324@rosenzweig.io/) to the kernel mailing lists |
| 49 | +before it was finally merged. Some of the changes between versions were fundamental |
| 50 | +in nature, requiring significant rework to the userspace components and |
| 51 | +kernel driver itself. Alyssa and Janne dedicated countless hours to this endeavour over |
| 52 | +the past few months - making changes, testing them, changing the changes, testing the |
| 53 | +new changes, rinse and repeat. As ever, they have our deepest gratitude and respect |
| 54 | +for pouring so much of their time and effort into closing this out. |
| 55 | + |
| 56 | +## Even more kernel upstreaming! |
| 57 | +The past couple of months have also led to even more kernel patches finding their |
| 58 | +way upstream. Linux 6.15 sees the introduction of the Apple Display Pipe (ADP) display |
| 59 | +controller and Z2 touchscreen digitizer drivers, which together enable Touchbar |
| 60 | +support in the upstream kernel for the M1 and M2 13" MacBook Pros. |
| 61 | + |
| 62 | +Also finding their way upstream are a number of critical patches for supporting various |
| 63 | +functional blocks in Apple's SoCs. PCIe controller support has been merged for the |
| 64 | +T6020 SoC (M2 Pro), which lays the groundwork for supporting the USB-A ports on |
| 65 | +the M2 Pro Mac mini, as well as WiFi and Bluetooth on all M2 Pro devices. WiFi/BT |
| 66 | +additionally depends upon the System Management Controller. Work is ongoing to get |
| 67 | +the SMC driver upstreamed. |
| 68 | + |
| 69 | +Linux 6.15 also includes some patches we require for audio, particularly around the TAS2764 and TAS2770 speaker amp chips. |
| 70 | +These patches add basic support for the Apple-specific variants found in Apple Silicon |
| 71 | +Macs. |
| 72 | + |
| 73 | +## I can't triforce |
| 74 | +Last update, we released microphone support for most laptops. We have since added |
| 75 | +support for the M1 and M2 13" MacBook Pros. Unfortunately, wider release of the microphone |
| 76 | +stack revealed a number of issues. We discovered that the Always-On Processor (AOP) on M2 Pro/Max devices |
| 77 | +differs slightly from the rest of the Apple Silicon family, meaning that microphones |
| 78 | +currently do not work on laptops with those SoCs. Work is underway to sort this out, |
| 79 | +so hang tight! |
| 80 | + |
| 81 | +As discussed last time, Triforce is my naive attempt at implementing a beamformer with |
| 82 | +minor prior knowledge. In my haste to get something working out the door in a |
| 83 | +reasonable timeframe, I made some questionable, _temporary_ engineering decisions. |
| 84 | +Surely I would have time to undo these soon, right? |
| 85 | + |
| 86 | +There is nothing more permanent than a temporary solution. Life got in the way, and I |
| 87 | +found myself with no time to rectify the issues. Ah well, performance is pretty |
| 88 | +bad, but it works well enough... |
| 89 | + |
| 90 | +One of the assumptions I made when building Triforce is that PipeWire's "quantum" (buffer |
| 91 | +size) will always be 1024 samples. At the time, I thought this would be true on every Apple Silicon Mac. Turns out that was a |
| 92 | +bad assumption. If Triforce sees an input buffer that is smaller than 1024 samples, |
| 93 | +it will return nothing to the graph, effectively muting the microphone. |
| 94 | + |
| 95 | +[Frédéric Bour](https://github.com/let-def) ran into this somehow on Fedora Linux 42, and in |
| 96 | +the process of fixing it also took it upon himself to fix many of the other bad choices |
| 97 | +I made in the course of development. The end result is that Triforce should now be more |
| 98 | +accommodating of oddball PipeWire configurations, and about 4 times faster! A huge |
| 99 | +thanks to Frédéric for picking up my slack on this one. |
| 100 | + |
| 101 | +## Upcoming talks |
| 102 | +May brings with it [Red Hat Summit](https://www.redhat.com/en/summit) and |
| 103 | +June brings [DevConf CZ](https://devconf.info/cz). Asahi will be present at both. |
| 104 | +At RH Summit, Neal and Davide will [present](https://events.experiences.redhat.com/widget/redhat/sum25/SessionCatalog2025/session/1731519631980001Xort) |
| 105 | +Fedora Asahi Remix and CentOS Hyperscale Asahi Remix as accessible platforms |
| 106 | +for developers targeting Linux on ARM64. The [talk](https://pretalx.devconf.info/devconf-cz-2025/talk/P3TEBA/) |
| 107 | +at DevConf CZ will focus on the effort to port CentOS Stream to Apple Silicon. |
| 108 | +Both sessions will be available online. |
| 109 | + |
| 110 | +## We're chronically online |
| 111 | +In addition to our [Mastodon](https://social.treehouse.systems/@AsahiLinux) profile, we now |
| 112 | +have Bluesky and LinkedIn accounts. You can follow us at [@asahilinux.org](https://bsky.app/profile/asahilinux.org) |
| 113 | +on Bluesky, and at [Asahi Linux](https://www.linkedin.com/company/asahilinux/) |
| 114 | +on LinkedIn. |
| 115 | + |
| 116 | +## New distro guidelines |
| 117 | +Since the beginning of the project, folks from all walks have worked to support Apple |
| 118 | +Silicon in their favourite distros. This immense interest is a gratifying confirmation |
| 119 | +that the community values our work. |
| 120 | + |
| 121 | +As part of our effort to encourage distros to take up Apple Silicon support, we have |
| 122 | +accommodated all third-party efforts, even allowing distro-specific |
| 123 | +documentation on our project's website. Unfortunately, this has led to |
| 124 | +an impression that we, as the upstream Asahi Linux developers, are involved |
| 125 | +with or otherwise endorse these efforts. This creates both an expectation |
| 126 | +of support and an impression that these efforts are representative of the state |
| 127 | +of Apple Silicon support, or even the state of the broader AArch64 ecosystem. These expectations are |
| 128 | +a significant and growing burden on us, and we need to address it. |
| 129 | + |
| 130 | +We have released [guidelines](https://asahilinux.org/docs/alt/policy/) |
| 131 | +outlining our expectations for distros supporting Apple Silicon. These |
| 132 | +guidelines target official distro projects wishing to collaborate directly with us. We will |
| 133 | +never discourage anyone from adding Apple Silicon support to any distro they choose, but we |
| 134 | +cannot offer official support or endorsement to those projects either. |
| 135 | + |
| 136 | +As a result, we are purging all distro-specific documentation and filtering |
| 137 | +the list of advertised distros to only those which follow the guidelines. |
| 138 | + |
| 139 | +Our long-term goal remains upstreaming everything such that Apple Silicon does not need |
| 140 | +any special treatment or handling. |
| 141 | + |
| 142 | +## Infrastructure ownership |
| 143 | +Until recently, most of our infrastructure was under the control of individuals, including |
| 144 | +domain names. Over the past month, we have been working on transferring as much of this |
| 145 | +as possible away from developers' private accounts and into ownership at the project level. |
| 146 | +This ensures that the project is resilient against any one person leaving. |
| 147 | +It also makes it easier for project expenses to be accounted for. For example, having |
| 148 | +our domain names under the financial ownership of Open Source Collective means that all |
| 149 | +domain-related expenses are processed automatically, rather than needing to paid out |
| 150 | +by a developer and reimbursed. |
| 151 | + |
| 152 | +## Coming up next... |
| 153 | +We have a few items currently pending review on the mailing list, or merged pending |
| 154 | +release in Linux 6.16. Of particlar note are drivers for the SMC and SPMI controller. |
| 155 | +The SMC is important for system shutdown and reboot, GPIO (required to e.g. power on the WiFi board), |
| 156 | +various hardware monitoring sensors, and the RTC. SPMI is a two-wire serial bus similar to I<sup>2</sup>C. |
| 157 | +Important peripherals, like the power management controller, are attached via this bus. |
| 158 | +Starting with the M3, the USB PD controllers, which negotiate the mode |
| 159 | +(e.g. USB3, Display Port, etc.) with the devices attached to the ports and forward |
| 160 | +it to the PHY and USB controller, are also attached to SPMI rather than |
| 161 | +I<sup>2</sup>C, making the SPMI controller driver essential for supporting |
| 162 | +those devices. We hope to have more to share in the next progress report. |
| 163 | + |
| 164 | +As always, we want to thank everyone who supports us on [OpenCollective](https://opencollective.com/asahilinux/) |
| 165 | +and [GitHub Sponsors](https://github.com/sponsors/AsahiLinux). None of this would be possible |
| 166 | +without your generous support. |
0 commit comments