Skip to content

Add experimental Apple Silicon Touch Bar support - #32

Draft
Githubguy132010 wants to merge 1 commit into
mainfrom
feat/apple-silicon-touchbar
Draft

Githubguy132010 wants to merge 1 commit into
mainfrom
feat/apple-silicon-touchbar

Conversation

@Githubguy132010

Copy link
Copy Markdown
Owner

Summary

Adds an experimental Asahi hardware profile for the 13-inch M1 MacBook Pro (2020, MacBookPro17,1/J293) and M2 MacBook Pro (2022, Mac14,7/J493). This targets an existing compatible Omarchy installation, not macOS or an Omarchy ARM64 installer.

Research

Apple Silicon uses ADP DRM, Apple Z2 SPI touch input, and Summit backlight control, not the T2 USB appletbdrm path. Upstream drivers and tiny-dfr provide the hardware support already. Pinned sources and interface details are recorded in docs/APPLE-SILICON.md.

Changes

  • Exact device-tree model recognition with experimental diagnostics and profile-specific UI messaging.
  • ADP rotation and padded framebuffer allocation while retaining the visible 2008x60 layout and existing T2 behavior.
  • Separate non-USB broker acquisition/recovery, verified device identities, and dark-on-release behavior. Existing T2 recovery journals remain supported.
  • Asahi udev isolation and explicit uninstall permission handoff. No automatic stopping, masking, or restarting of tiny-dfr.
  • Architecture-separated native caches and native Ubuntu ARM64 CI alongside x86 Node 22/24.
  • Mocked DRM, profile, broker, installer, cache, and lifecycle regression coverage.

Local verification

  • Native build passed on Linux x64, Node 26.7.0.
  • npm test: 164 passed.
  • Python broker/installer suite: 71 passed.
  • QML: 6 editor checks and 71 regression checks passed.
  • Shell syntax, udev rule verification, systemd unit verification, and git diff checks passed.
  • Independent review completed; identified recovery and acquisition-race issues were fixed with regression tests.

M1 tester instructions

Follow the setup, installation, hardware checklist, and rollback guide. The published branch is feat/apple-silicon-touchbar. Record the exact tested commit with git rev-parse HEAD.

Important: Omarchy plugin add has no branch flag, and its normal updater fetches the remote default HEAD. The guide uses a local clone of this branch for first installation and explicit branch fetches for updates. Run development builds outside the installed plugin; use marchybar prepare for its isolated native cache.

Keep tiny-dfr runtime-masked during the hardware test if it was the baseline renderer. Disable MarchyBar and successfully uninstall its helper before unmasking/restarting tiny-dfr, because restrictive device rules remain after disable alone.

Pending physical validation

  • M1 native ARM64 build and effective udev permissions
  • Upright rendering, all edges, touch alignment, sliders, and Fn
  • Brightness, dim/off/wake, disable/re-enable
  • Lock/unlock, process/helper recovery, suspend/resume
  • Clean uninstall and return to the original tiny-dfr layout
  • Separate M2 testing before claiming M2 validation

No Apple Silicon hardware has been tested with MarchyBar yet. Draft status is intentional. Mock tests and generic ARM64 CI do not prove scanout, touch alignment, or sleep behavior. Apple Silicon stays dark while disabled/locked; it has no T2-style firmware fallback. The existing ACPI lid-state reader is not an Apple Silicon lid implementation.

@Githubguy132010

Copy link
Copy Markdown
Owner Author

CI is green for commit 0a041cd: native build plus Node/Python suites passed on Ubuntu x86_64 with Node 22 and 24, and on native Ubuntu ARM64 with Node 24. Run: https://github.com/Githubguy132010/MarchyBar/actions/runs/34038131341

This confirms ARM64 compilation and hardware-free execution. The M1 hardware checklist is still pending; please use the setup and rollback guide before enabling the Touch Bar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant