Significant news arrives from Asahi Linux (opens in new tab), the project that’s attempting, and actually succeeding, to get an operating system that’s not macOS running natively (opens in new tab) on Apple Silicon Macs. It has hit an important milestone: a graphics driver that brings work-in-progress OpenGL 2 support to the distro. Meanwhile, the M-chips’ journey toward mainstream Linux support took a step forward too.
Open source drivers for Apple GPUs are now available for testing on Asahi Linux! 🎉https://t.co/Ja2GPowrLMDecember 8, 2022
The new driver, which hasn’t passed OpenGL conformance tests and is very much an alpha, can run desktop environments such as Gnome and Plasma with hardware acceleration. The developers are still working on the driver, bringing in more OpenGL 2 features and a planned Vulkan expansion in the works. “We estimated that we could ship working OpenGL 2 drivers much sooner than a working Vulkan 1.0 driver, and we wanted to get hardware accelerated desktops into your hands as soon as possible. For the most part, those desktops use OpenGL, so supporting OpenGL first made more sense to us than diving into the Vulkan deep end,” reads a blog post (opens in new tab) authored by Alyssa Rosenzweig and Asahi Lina.
The driver is an opt-in release, meaning you’ll have to install it on your Linux-Mac using the pacman package manager. It’s unclear at the moment whether the driver can run Crysis, but Quake 3 in 4K at 60fps appears to be within its capabilities, and it runs desktops at the same speed.
In other news, support for M-series chips in the mainline Linux kernel also saw an important improvement this week, with an Apple Silicon CPU frequency-scaling driver being merged (opens in new tab) into the Linux kernel’s 6.2 release.
Hector Martin, Asahi Linux (opens in new tab)’s lead developer, explained on kernel.org: “This driver implements CPU frequency scaling for Apple Silicon SoCs, including M1, M1 Max/Pro/Ultra, and M2 (opens in new tab). Each CPU cluster has its own register set, and frequency management is fully automated by the hardware; the driver only has to write one register. There is boost frequency support, but the hardware will only allow their use if only a subset of cores in a cluster are in non-deep-idle. Since we don’t support deep idle yet, these frequencies are not achievable, but the driver supports them. They will remain disabled in the device tree until deep idle is implemented, to avoid confusing users. This driver does not yet implement the memory controller performance state tuning that usually accompanies higher CPU p-states. This will be done in a future patch.”