M3-family support: SoC detection, software rendering, M3 installer path, branch kernels - #342
Closed
frybagivxx-gif wants to merge 6 commits into
Closed
M3-family support: SoC detection, software rendering, M3 installer path, branch kernels#342frybagivxx-gif wants to merge 6 commits into
frybagivxx-gif wants to merge 6 commits into
Conversation
…ection Reads the SoC id from the device tree (t8103..t6051) and maps it to m1..m4, prints the machine codename, and answers --gpu: whether the Asahi GPU driver is actually bound, which is the question the M3 generation raises today. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The M3 generation boots the public Asahi kernel but its GPU (G15) has no driver and its display is the firmware framebuffer. vulkan-asahi is now installed only when the driver is bound, and default/hypr/apple.lua turns on software-rendering settings (AQ_NO_MODIFIERS, software cursors, no direct scanout, vfr) whenever omarchy-hw-apple-soc --gpu says there is no driver, checked at every session start so a kernel that binds it turns them off. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The Asahi Alarm installer already knows every M3 device (expert mode, firmware 14.8.3) but its installer_data.json lists no image built against 14.8.3, so on an M3 it stops with 'Your system firmware is too old'. The Asahi developers' own instruction is to add 14.8.3 to supported_fw by hand (asahi-installer PR 424). This does that against the stock package and images, from macOS, in bash 3.2, and runs the stock data unchanged on M1/M2. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
M3 display support will be on a branch before it is in a tagged release, and Asahi Alarm follows tags. The PKGBUILD builds any branch of any fork with Asahi Alarm's kernel config and installs next to linux-asahi rather than over it, so a branch that does not boot costs one reboot. The branch is a build-time choice; omarchy-mac-kernel-wip drives it and refreshes GRUB. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
docs/apple-m3.md records where the public Asahi trees are for M3 (device trees and boot: yes; display driver and GPU: not in any public branch), what each piece of this repo does about it, how to install, and how to try a newer kernel. The README's step 1 gets its M3 variant and omarchy-mac-setup says what the machine will not do before asking to start. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Piped, BASH_SOURCE is empty and the guard never called main, so the script printed nothing. Same guard omarchy-mac-setup uses. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Author
|
Opened from the wrong account by mistake; resubmitting from staccDOTsol. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes Omarchy Mac installable and usable on M3, M3 Pro and M3 Max Macs on the public Asahi trees as they are today, and shaped so the day Asahi ships the M3 display driver and GPU driver nothing here needs a migration.
Where Asahi is (September 2026): the kernel Asahi Alarm ships (7.1.6) has device trees for every M3 machine, m1n1 1.6.1 boots them, the installer lists them in expert mode against firmware 14.8.3. What is in no public tree: the M3 display driver wiring (a 14.7 DCP ABI exists in
asahi-wip-7.2and chadmed'sdcp/14.8.3, but no branch attaches it to the M3 device trees) and any M3 GPU (G15) support in the kernel driver or Mesa. Asahi says an official M3 release is weeks away; the GPU is later.bin/omarchy-hw-apple-soc— generation from the device tree (m1..m4), codename, and--gpu: whether the Asahi GPU driver is actually bound. Everything keys off that rather than a model list. (Related: Detect Apple Silicon generations from device tree #326, which does identity only; this is deliberately minimal and adds the GPU question.)vulkan.shinstallsvulkan-asahionly when the driver is bound;default/hypr/apple.lua(loaded fromenvs.luanext tonvidia.lua) setsAQ_NO_MODIFIERS, software cursors, no direct scanout and vfr, checked at every session start so a kernel that binds the driver turns them off by itself.install/hardware/apple/m3.shsays on the console what the machine will not do.bin/omarchy-mac-asahi-install— runs on macOS (bash 3.2). The stock Asahi Alarm installer refuses M3 only becauseinstaller_data.jsonlists no image built against firmware 14.8.3; the Asahi developers' instruction for M3 testing is to add it by hand (Add M3, M3 Pro and M3 Max devices using macOS 14.8.3 OTA AsahiLinux/asahi-installer#424, Adds ENV var to getbatusing the system theme omarchy#438). This fetches the same installer and images from asahi-alarm.org, adds"14.8.3"to everysupported_fw, briefs the user, and hands over. On M1/M2 it runs the stock data unchanged.pkgbuilds/linux-asahi-wip+bin/omarchy-mac-kernel-wip— build any branch of any Asahi fork with Asahi Alarm's kernel config and install it alongsidelinux-asahi(GRUB lists both). The branch is a build-time choice, so the M3 display branch is a one-line change when it is public.docs/apple-m3.md, README step 1 M3 variant, manual note, and an M3 warning inomarchy-mac-setupbefore "Start?".Test plan
test/shell.d/apple-soc-test.sh— 15 cases against stubbed device trees and sysfs (M1/M2/M3/M3 Max/M4, codename,--is, non-Apple, simpledrm-only vs asahi-bound vs platform-bus binding)test/shell.d/apple-m3-test.sh— leaf wiring, vulkan gating, envs.lua, PKGBUILD parses and does not conflict, installer wrapper parses under bash 3.2,patch_installer_dataagainst multi-line / one-line / already-present / empty / null lists, idempotent, target-name mappingtests/test-asahi-compatibility.shpasses;tests/test-mac-setup.shunchanged (132 pass / 10 fail on a macOS host, identical toquattro)patch_installer_datarun against the livehttps://asahi-alarm.org/installer_data.json: adds 14.8.3 to the five image entries, leaves tethered boot'snullalone🤖 Generated with Claude Code