Warning
This is experimental software with unfinished hardware support and known bugs. Installing, updating or running it can cause hardware damage, data loss or corruption, boot failures, and loss of access to macOS. Keep backups and a working recovery path. You are responsible for your installation and recovery.
This is an independent community project. It is not an official release and is not sponsored, approved or endorsed by Omarchy / Basecamp, Asahi Linux, Gravity Linux, Apple, or the other upstream projects whose work it uses. Upstream credits and project names do not imply endorsement or support for this build.
Provided “AS IS,” without warranty of any kind, express or implied. To the maximum extent permitted by applicable law, the maintainers and contributors are not liable for hardware damage, data loss, loss of use, recovery costs, or other damages arising from installing, updating or using this project. The applicable licenses and third-party notices remain in effect.
Important
Download and install v0.1.0-alpha.1, then do the connect step once after your first login. The published installer does not connect by itself yet.
No new installer and no reinstall. Join Wi-Fi, open a terminal on the Air, paste this one line, press Enter and type your password when asked:
curl -fsSL --retry 5 --retry-all-errors https://github.com/Kb2uka/Omarchy-M4-Native/releases/download/packages/m4-connect.sh | bash- It ends with
restart once to apply the update: restart the Air. That is all. - It ends with
future M4 fixes arrive with omarchy-m4-update: you are done.
This one line is the same whether you connected last night or never did. It brings every M4 fix so far: shutdown, CPU scaling and temperature, WebKit app sound and the speaker startup fix. It checks the setup script against its published checksum before running it; to inspect each file first, use the step-by-step version.
Run omarchy-m4-update in a terminal and restart if it asks. A
"M4 update available" notification tells you when one is ready. It updates
only the M4 packages; your browser, video, Widevine, speaker and trackpad setup
are not touched. omarchy update updates the whole system as well, which is
not yet qualified on this hardware. If omarchy-m4-update is not found, run
the one line above once more.
What it does, messages and rollback.
Experimental on M4 Air. Very experimental on all other M4 machines.
Only the 13-inch M4 MacBook Air (2025), Mac16,12 / J713 / T8132, has been hardware-tested and qualified for this project's installer profile. Other M4 Air models, Mac mini, iMac, MacBook Pro, M4 Pro and M4 Max are not qualified by these results. “Very experimental” does not mean their installation works; the J713 installer must refuse unsupported boards.
Project integration and original contributions by studioxradio aka kb2uka. Built on the work of Asahi Linux, Gravity Linux, Omarchy and many other upstream contributors. Their authorship and licenses remain theirs.
v0.1.0-alpha.1 installer, update 2,
based on Omarchy 4.0.4. It installs the same alpha.1 system as the
original release
and also works on macOS 26.6.2. Download the release's download-j713.command and
run it from macOS Terminal:
bash "$HOME/Downloads/download-j713.command"The downloader reassembles the installer and verifies the release checksums. Then follow the step-by-step installation guide. This installer starts in macOS; it is not a bootable PC ISO. GitHub's automatic “Source code” ZIP is not the installer.
Every alpha.1 install needs this once, whether you installed today or earlier. It turns on M4 updates and, if your Air does not have it yet, the shutdown fix. The published v0.1.0-alpha.1 installers (including update 2) do not do this by themselves; a later installer will (details).
- On the Air, join Wi-Fi (
nmtui) and open a terminal in Omarchy. - Paste this one line, press Enter, and type your password when asked:
curl -fsSL --retry 5 --retry-all-errors https://github.com/Kb2uka/Omarchy-M4-Native/releases/download/packages/m4-connect.sh | bash- If it ends with
"status": "connected; restart once to apply the update", restart the Air. If it ends with"status": "connected; future M4 fixes arrive with omarchy-m4-update", you are done.
If it prints FAILED or omarchy-m4-setup: refused: …, stop and
open an issue; your Air
keeps booting as before. No reinstall, and your files are not touched.
After this, run omarchy-m4-update for new M4 fixes; a
"M4 update available" notification tells you when one is ready.
Details, messages and rollback.
Two attended private installations reached the desktop. A later October 12 candidate completed account setup but failed graphics and audio startup, leaving no desktop and no automatic recovery login. Its saved boot logs identified unrelated device waits as fatal prerequisites. The replacement corrects those startup dependencies, enables an authenticated recovery console, and keeps kernel messages from displacing the setup form. The replacement still needs an attended installation before publication. Intermittent trackpad AFE startup remains unqualified; shutdown needs the connect step. See the startup repair record, qualification record and known limitations.
M4 updates are signed packages from this project's [omarchy-m4]
repository (how it works), delivered by
omarchy-m4-update after the connect step. A push to main does not update
installed machines; only packages published to the channel do. General
Arch Linux ARM and Omarchy updates remain unqualified on this hardware; read the
update guide before accepting them.
After the connect step, omarchy-m4-update keeps these current, and restarting
once applies them:
| Fix | Since |
|---|---|
| Shut Down turns the Air off (#48) | omarchy-m4-boot 1-1 |
| CPU frequency scaling on all ten cores (#55), with the real-time speaker protection it needs | omarchy-m4-boot 1-4 |
| CPU die temperature in Linux (#62) | omarchy-m4-boot 1-4 |
| Speaker protection starts reliably at boot (#61); applied at the next boot (details) | omarchy-m4-speaker 1-1 |
| Sound in Zeus Link and other WebKitGTK and GStreamer apps (#54, #63) | omarchy-m4-gst-audio 1.28.7-1 |
| GPU and desktop on Airs whose GPU power limit is below 24800 mW (#57); applied at the next boot | omarchy-m4-gpu 1-1 |
| Headphone jack playback (#88); starts at the next boot (details) | omarchy-m4-headphones 1-1 |
| CPU idle: idle cores power down, so the idle Air runs cooler and draws less (#65); starts at the next boot (details) | omarchy-m4-cpu 1-1 |
| E cores up to 2172 MHz and a CPU die thermal safety net (#66) | omarchy-m4-boot 1-10 |
P cores boost up to 4464 MHz and E cores up to 2808 MHz under a predictive heat guard (#66); starts at the next boot, off switch sudo m4-cpu-idle --boost off (details) |
omarchy-m4-boot 1-11, omarchy-m4-cpu 1-2 |
| The boost guard's limits match macOS on the fanless Air (105 C bursts, 100 C sustained), so one busy core runs at its top boost (4.04 GHz, bursts to 4.46 GHz) for most of a 45 s job, and it estimates the die's temperature from heat measured on the Air (#66, details) | omarchy-m4-cpu 1-3 |
| Headset microphone on the headphone jack (#105); starts at the next boot (details) | omarchy-m4-headphones 1-2 |
A devicetree you applied by hand from the guides is kept; the update never
moves an Air back to an older one. An Air connected before
omarchy-m4-gst-audio was published gets it by running the connect line once
more.
Nothing on this list is a manual step any more.
Shut Down works once the Air is connected to M4 updates (or has update 1): the Air turns off and stays off. Verified on the test Air on October 12, 2026. alpha.1 without the fix restarted instead, so run the connect step if you haven't. What was wrong and how it was fixed · issue #24 (closed).
As of October 11, 2026, with the pinned experimental runtime:
| Area | Observed result and limit |
|---|---|
| Installed desktop | Two private installer trials reached the desktop; the second required a restart after setup stalled. The final owner-input packaging and general updates remain unqualified. |
| Keyboard, trackpad, Wi-Fi | Used in the native desktop. These observations do not qualify every peripheral or power state. |
| Bluetooth | A paired mouse reconnected after an observed reboot. General Bluetooth audio and every device are not qualified. |
| Shut Down | With update 1, Shut Down turns the Air off and it stays off; the next power-on boots normally (October 12). |
| Graphics | Experimental Apple M4 GPU rendering is active. Scanout still uses simpledrm; this is not complete display-controller support or proof of physical panel timing. |
| Speakers | Protected internal-speaker playback and automatic startup have worked on the test Air. Broad acoustic calibration, all failure conditions and suspend/resume remain unqualified. |
| Headphone jack | With omarchy-m4-headphones from omarchy-m4-update (October 14-15, 2026): clean stereo playback beside the protected speakers, and the output follows plug and unplug. Headset microphone with omarchy-m4-headphones 1-2 (October 15): clean mono capture, alone and during playback, a clean two-way video call, and input that follows plug and unplug. Suspend/resume is not supported. |
| Browser video | H264 8-bit and VP9 Profile 0 hardware decoding have been observed with the qualified decoder/graphics stack. Ordinary 1080p30 playback works in the tested cases. This is not hardware support for every codec or protected video. |
| Normal media-player launch | A 10-second normal mpv file-open check used vaapi-copy with zero reported frame/decoder drops; an AV1 control reached EOF in software with one startup frame drop. vaapi-copy still uses the hardware decoder, with a copy into CPU-accessible memory afterward. |
| Protected movies | A tested Widevine movie used CPU decoding and played. Hardware decoding is not promised for protected content, and no license or DRM restrictions are bypassed. |
| Known video issue | A tested 1080p60 browser video dropped roughly 47% of frames in a normal window; the fullscreen comparison reported 1 drop in 1,804 frames. This geometry-dependent problem remains open. Fullscreen is a tested discriminator, not a universal fix. |
| Camera, suspend/resume, battery life, broad USB-host support | Not qualified for release. |
These are observations from one machine and specific builds, not a statement about current upstream Asahi support or every M4 system. Good decoder counters do not by themselves establish physical smoothness, color accuracy or audibility. The current desktop integration restricts only the compositor's main thread to the measured performance-core set; browser/decoder worker threads remain unrestricted. Do not substitute the older broad session-placement experiment.
The download includes the installer, image, checksums, source archives and upstream notices. It excludes Apple components, generated speaker-filter WAVs, Widevine binaries and preset personal consent. Speaker filters are prepared from the owner's installed macOS components and must match the expected hashes before partitioning begins. Unrecognized inputs are refused.
The front USB port, camera, suspend/resume, broad hardware coverage and coordinated updates remain open work. This alpha is not a daily-driver, safe-update or all-M4 compatibility promise. See the source package guide for source/build boundaries.
| Path | Purpose |
|---|---|
| Experimental release boundary | Current qualification, provenance and publication limits |
| Desktop image preparation | Existing offline root/owner configuration, including qualified main-thread startup placement |
| J713 installer profile | Recovery/firmware/board checks for the experimental installer profile |
| SSD root preparation | Root identity, boot payload and owner provisioning work |
| GPU and normal-root checkpoint | Historical October 8 RAM-root evidence |
| Hardware gap analysis, ADT audit | Source-derived mappings, uncertainties and historical tests |
| patches/, patches-kernel/ | Changes against specific historical bases; not a patch set for any current kernel |
| tools/, tests/ | Source helpers and offline regression checks |
| recon/, SPEC.md | Capture availability and the original roadmap, not current support promises |
Read the date and stated limits in older notes. Their failed attempts and bring-up workarounds are retained for provenance; they are not current installer instructions. Raw hardware captures, browser profiles, credentials and native session logs remain outside the source tree. A clone is not a complete boot kit.
studioxradio aka kb2uka maintains this integration and contributed the project-specific research, fixes and packaging. Existing copyright notices using KB2UKA are retained. The project does not claim upstream work as original.
- Asahi Linux and m1n1: Apple Silicon research, boot and driver foundations.
- Gravity Linux: M4 kernel/installer groundwork used by this experiment, building on Asahi's work.
- Omarchy and omarchy-mac: desktop and integration work.
- Linux, Mesa, PipeWire, WirePlumber, ALSA, speakersafetyd, mpv and the other dependencies retain their respective contributors' copyrights and licenses. The historical AIC investigation also records Yureka's M4 work.
This is an independent experiment, not an official release or endorsement by Apple or any upstream project. The artwork is concept art, not a system screenshot. See LICENSE.md, THIRD_PARTY_NOTICES.md and LICENSES/ for the mixed-license scope. No project license grants rights to Apple firmware, macOS, Widevine, trademarks, unlicensed captures or separately obtained assets.
