Skip to content

Commit 0e40752

Browse files
chadmedConan-Kudo
authored andcommitted
blog: add Linux 6.15 progress report
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
1 parent bdf17fd commit 0e40752

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
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

Comments
 (0)