Skip to content

Commit 913a66b

Browse files
alyssarosenzweigjannau
authored andcommitted
progress-report: rectify doubleungood social media
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenz.ca>
1 parent 86104ec commit 913a66b

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

content/blog/2021/10/06-progress-report.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Earlier this year we saw the absolute lowest level drivers being merged into the
3434

3535
* **NVMe + SART (`apple-ans-nvme`/`apple-sart`, <span style="color: #178">in development/functional</span>)**: The NVMe hardware in the M1 is quite peculiar: it breaks the spec in multiple ways, requiring patches to the core NVMe support in Linux, and it also is exposed as a platform device instead of PCIe. In addition, it is managed by an ASC, the "ANS", which needs to be brought up before NVMe can work, and that also relies on a companion "SART" driver, which is like a minimal IOMMU. Sven spent a lot of time putting all of the pieces for this together, and NVMe now works well in our downstream kernel branches. This still needs significant clean-up before heading upstream.
3636

37-
* **DCP (`apple-dcp`, <span style="color: #178">in development/functional</span>)**: We've talked about the M1's display controller hardware in the [previous Progress Report](/2021/08/progress-report-august-2021/), so we'll spare the recap here: head back if you want all the gory details. [Alyssa Rosenzweig](https://twitter.com/alyssarzg) took on the challenge of writing a Linux driver for it, and it already works well! This allows things like resolution switching (including 4K HDMI monitor support) and proper tear-free page flipping to work. This builds on Sven's RTKit and mailbox layers, as the DCP is also an RTKit ASC.
37+
* **DCP (`apple-dcp`, <span style="color: #178">in development/functional</span>)**: We've talked about the M1's display controller hardware in the [previous Progress Report](/2021/08/progress-report-august-2021/), so we'll spare the recap here: head back if you want all the gory details. [Alyssa Rosenzweig](https://alyssarosenzweig.ca) took on the challenge of writing a Linux driver for it, and it already works well! This allows things like resolution switching (including 4K HDMI monitor support) and proper tear-free page flipping to work. This builds on Sven's RTKit and mailbox layers, as the DCP is also an RTKit ASC.
3838

3939
## Apple SoCs aren't like others
4040

@@ -50,7 +50,7 @@ This approach is unfamiliar to most upstream subsystem maintainers, but we hope
5050

5151
With these drivers, M1 Macs are actually usable as desktop Linux machines! While there is no GPU acceleration yet, the M1's CPUs are so powerful that a software-rendered desktop is actually *faster* on them than on e.g. Rockchip ARM64 machines *with* hardware acceleration.
5252

53-
While there are certainly many rough edges and missing drivers, getting to this point allows development to be self-hosted and developers to eat their own dogfood. Alyssa has been doing just that, using her M1 Mac running her own kernel merges as a daily driver. Follow her [Twitter](https://twitter.com/alyssarzg) for updates on her setup!
53+
While there are certainly many rough edges and missing drivers, getting to this point allows development to be self-hosted and developers to eat their own dogfood. Alyssa has been doing just that, using her M1 Mac running her own kernel merges as a daily driver.
5454

5555
As the dust settles on these Linux drivers, we will start providing an official installer that those adventurous enough can use to try out Asahi Linux with a minimal amount of fuss in the near future. Remember, there are still many missing bits (USB3, TB, camera, GPU, audio, etc.) as well as patchsets a bit too problematic to bundle as-is at this time (WiFi, which needs significant rewrites), so don't expect this to be anywhere near the polished experience that is the goal of our project. That said, we hope this will allow those willing to be on the absolute bleeding edge to get a taste for what running Linux on these machines is like – and, for some, this might be enough for production usage.
5656

content/blog/2022/11/22-progress-report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ May our MacBook keyboards bring light to the darkness!
8383

8484
Ah, we're getting there! As you may know, up until now Asahi Linux has not had a display driver at all. Instead, we rely on the boot-time framebuffer set up by the bootloader (iBoot on laptops, m1n1 on desktops). This means that Linux just gets a chunk of memory and writes pixels to it – no VSync, no buffer flips, no mode changes, no DPMS, and no backlight control support. Since leaving the backlight on is a huge battery drain, we added a hack to support turning off the backlight by literally turning off the GPIO pin that powers it on, but needless to say that was not the best user experience (and many users have been baffled by having their screen turn off when they tried to turn down the backlight, since the now-somewhat-outdated Linux backlight interface has no way of telling userspace whether 0 means "lowest" or "actually off").
8585

86-
In order to support the display output properly, we need a driver for Apple's DCP coprocessor and its firmware. We've already [talked about DCP](https://asahilinux.org/2021/08/progress-report-august-2021/) in the past, and how cursed the interface is! Since then, [Alyssa](https://social.treehouse.systems/@alyssa) wrote a Linux kernel DRM KMS driver for DCP and [Janne](https://social.treehouse.systems/@janne) took over maintenance, and he's been steadily adding features, including brightness control support. With that in place, DCP is finally good enough for adventurous users to daily drive on M1 systems (M2 support is coming soon)!
86+
In order to support the display output properly, we need a driver for Apple's DCP coprocessor and its firmware. We've already [talked about DCP](https://asahilinux.org/2021/08/progress-report-august-2021/) in the past, and how cursed the interface is! Since then, [Alyssa](https://alyssarosenzweig.ca) wrote a Linux kernel DRM KMS driver for DCP and [Janne](https://social.treehouse.systems/@janne) took over maintenance, and he's been steadily adding features, including brightness control support. With that in place, DCP is finally good enough for adventurous users to daily drive on M1 systems (M2 support is coming soon)!
8787

8888
This fixes a lot of longstanding missing features, including the ability to drive >1080p displays without bootloader hacks, brightness control, VSync (on Wayland), resolution switching, and more. It also paves the way for the (still incomplete) external display support (over Type C/DisplayPort) that Sven has been working on, and is a requirement for Lina's upcoming accelerated GPU driver. Progress!
8989

content/blog/2022/12/07-gpu-drivers-now-in-asahi-linux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ This "layered" hardware demands a "layered" graphics driver stack. We need...
4646

4747
That's a lot of work, calling for a team effort! Fortunately, that layering gives us natural boundaries to divide work among our small team.
4848

49-
* [Alyssa Rosenzweig](https://social.treehouse.systems/@alyssa) is writing the OpenGL driver and compiler.
49+
* [Alyssa Rosenzweig](https://alyssarosenzweig.ca) is writing the OpenGL driver and compiler.
5050
* [Asahi Lina](https://vt.social/@lina) is writing the kernel driver and helping with OpenGL.
5151
* [Dougall Johnson](https://mastodon.social/@dougall) is reverse-engineering the instruction set with Alyssa.
5252

0 commit comments

Comments
 (0)