← back

Bugs and fixes

Updated 2026-10-17. The installed elementary OS 9 desktop boots on an M1 Pro; the factory arm64 ISO built successfully but has not been booted on hardware. Items are ranked by how often they are hit, how small the fix is and what they depend on. The full detail and evidence are in the repository roadmap. See also customizations and Omarchy parity and the support matrix.

Open and in progress, ranked

#ItemStatusNext step
1Launcher search text was hard to readFixed 2026-10-14; please confirmPress Command+Space and type. The colors and font size are in mseries/mseries-launcher.py.
2Window buttons on the left, Mac styleFixed 2026-10-14; please confirmCheck a few windows. Revert by changing the layout in mseries/apply-desktop-settings.py.
3Dock Ethernet icon dying on replugFixed 2026-10-14; verify on the next replugA permanent profile bound to the adapter replaces the temporary one NetworkManager kept deleting; the Realtek firmware package is installed. Replug the dock and watch the panel icon.
4Lid-open login needs the power buttonClosed; docked case untestedThe undocked path works. A tracer (mseries-lid-trace) logs the next docked lid close.
5Screenshot thumbnail: drag to use without keeping, hold Alt to also keepBuilt 2026-10-14; please tryDrag a fresh screenshot into an app with and without Alt, and tell us what happens. See mseries/screenshot-shelf/README.md.
6Preview-style markup for images and PDFsBuilt 2026-10-14; please tryClick the thumbnail, or use Open With, Markup. Images use Swappy; PDFs open in Papers. PDF signing is not covered.
7Omarchy parity gapsMostly doneAudio watchdog and rules installed. Still open: the function-key default (running with media keys first; needs your choice) and the microphone mapper.
8Touch ID for loginSEP boots; the first Aurora boot then froze (2026-10-17); cause unknownThe Aurora kernel (omacom/linux-aurora) and its Touch ID userspace are installed. The Secure Enclave was disabled in the m1n1 device tree; enabling it and adding an alias brought it up (/dev/sep-bio exists, driver bound, calibration firmware extracted locally). The missing fingerprint sensor node is now ported into the boot device tree, and a Touch ID settings app handles enrollment. The Aurora kernel was booted once: the Secure Enclave came up, then the machine hung about 34 seconds in with no panic logged (details below). Next: find the cause before a second boot, then enroll a finger and wire sudo, polkit and the lock screen. Password stays as fallback. See mseries/aurora-touchid-state.md.
9iMessageDocumented; install laterPreferred: Tether (iPhone to Linux, one-time-code handoff; needs BlueZ 5.86, this Mac has 5.85). BlueFerry works with 5.85. BlueBubbles is the fallback. Install after the reinstall.
10iCloud password syncDocumented; decide laterLeaning to a Brave extension (icp supports Brave) or Brave Sync. Nothing installed.
11Small checksNeeds hardware checksBrightness keys and level after login; keyboard light on lock and lid; Wi-Fi resume; build and test the Gala keyboard-helper guard (patch written); file the drafted Wingpanel crash report.
12Factory imageRelease blocker for the imageBoot the built ISO on hardware; package the audio chain and Wi-Fi firmware; test from the image.
13Dock display, suspend with a dock, USB-C after resumeKernel work; fixes staged, untestedStill no dock video. Controlled boots found two DP-IN failures (retry on no-link, and a crash on a stale PHY); both are fixed in the staged kernel patch 0011 and the desktop-crash race has a LightDM wait for the display. None of it has been booted yet. The dock driver still refuses suspend (docked lid mode locks instead); USB-C devices can vanish after resume. Details in mseries/REBOOT-QUEUE.md.
14Hotkey app drawers and dock panelInstalled; needs a relogin to testControl+N toggles a per-app drawer, Control+Alt+N assigns the focused app, a Drawer Shortcuts settings app and a Command+Option dock panel are installed, and the dock can be slid along its edge with Command-drag. Log out and in, then run mseries/check-drawers.sh. The dock slide offset resets when the dock restarts.
15ArtCraft apps as Adobe and Office replacementsNot startedBuild, license-check and benchmark each Rust app on arm64 before packaging any.
16Dock monitor: audio and video out of sync; monitor speakers not usableReported 2026-10-18; not measuredThe picture works at 1080p60 (4K30 stays dark; 4K60 is not offered by this TV). HDMI audio is off in the driver (marked unstable upstream), so sound plays on the Mac speakers or an AirPlay output, and the lag has not been traced. See mseries/AV-SYNC-EXTERNAL-DISPLAY.md.

Fixed

WhenProblemFix
2026-10-17Touch ID: the Secure Enclave driver bound to nothing, so no fingerprint device existed.The SEP was disabled in m1n1's embedded j314s device tree, and m1n1 only injects its firmware when the node has an alias. Both patched with a byte-checked swap (backups kept). The driver binds and /dev/sep-bio exists. Sensor calibration firmware extracted locally; the SPI fingerprint node ported into the boot device tree. Fingerprint enrollment has not been tested; the first boot froze before it.
2026-10-17The Aurora Touch ID kernel dropped to an initramfs shell.Its shipped initramfs was an Arch image with no hooks (no cryptsetup, LVM or busybox). Rebuilt from the known-good image with the Aurora modules; the original is kept in /var/backups.
2026-10-17No graphical way to enroll a fingerprint.Added a Touch ID settings app (GTK4) for enrollment and the PAM chain.
2026-10-17CodexBar popover flickered and was hard to scan; missing-upstream errors were unclear.Redesigned with tabs, usage levels and a quiet bar; added a Sessions section (ChatGPT, Claude Code, OpenCode), list-price spend estimate and a clear OpenCode Go quota message; atomic install with a testable wrapper and a headless render probe.
2026-10-17Dock drawer panel clicks stole icon clicks, or the gesture never fired.Panel moved to a Command+Option gesture in the capture phase, tiles kept in step, icon clicks pass through. Drawers toggle moved off Command+number so in-app tab switching works.
2026-10-16No quick way to launch or place apps by hotkey.Added the Gala drawers plugin, assign hotkeys with an on-screen confirmation, live-reloading config and a settings app. Installed; takes effect at the next login.
2026-10-16Monitor layouts were lost on every dock plug or unplug.Display profiles remember the layout per set of attached displays and re-apply on hotplug, polling the DRM connector so a replug is noticed, and never applying a layout across an unplug. A Display Settings app adds drag-and-drop layout, modes, refresh, scale and plain-language diagnostics.
2026-10-16No single switch for dark mode.Added a universal dark mode tool that cuts over at sunset and sunrise and ships in the image payload.
2026-10-16The network readout gave no cue near saturation (reported earlier).Speeds and graph lines turn pastel green when the link saturates (PR 54).
2026-10-16Electron apps ran as X11 clients under Xwayland, costing GPU power.Native-Wayland hint added (savings not yet measured) after a read-only power survey found the ChatGPT app dominating GPU jobs. See the power roadmap.
2026-10-15The CPU speed ceiling ignored the power profile.mseries-power cap or follow modes with a service and test.
2026-10-15The watt meter did not show whole-system power, and sat tight against the battery icon.Reads the SMC total system power; 8 px gap added.
2026-10-15The ten-minute password prompt returned after the first fix.The network usage cache read asked polkit for interactive permission. It now never asks, with a polkit rule for the dump-cache action. Confirmed 2026-10-15: no helper entries across the 14:33 and 14:43 marks.
2026-10-16CI failures (user-enhance test, factory unit directory, mkosi build scripts).Fixed in PR 56.
2026-10-14Launcher search text was hard to read.Explicit colors for the typed text, caret, selection and placeholder, a visible field and larger type (2026-10-14).
2026-10-14Window buttons were split across both sides.Close, minimize and maximize now sit together on the left, Mac style (2026-10-14).
2026-10-14Dock Ethernet icon vanished and reappeared on every replug.NetworkManager was deleting a temporary profile on unplug. A permanent profile bound to the adapter now exists, and the Realtek firmware package is installed (2026-10-14; verify on the next replug).
2026-10-14Dock Ethernet, hub and mouse were listed as unverified.Verified on a Dell WD22TB4 on 2026-10-14.
2026-10-14Audio could wedge at logout or resume with no automatic recovery.Audio watchdog installed (restarts PipeWire and WirePlumber after two failed checks, limited to 3 restarts per 30 minutes, only when unlocked). Two WirePlumber rules installed; they apply at the next login.
2026-10-14Lid-open login needing the power button.Not reproduced. A traced undocked cycle woke and showed the login screen in about 2 seconds; closed unless a docked cycle shows it.
2026-10-14A password dialog popped up about every ten minutes for no visible reason.Automatic timezone was asking the system to change an already-correct timezone. Automatic timezone is now off (also set in the desktop settings script). Please confirm no prompt for 30 minutes.
Oct 12-13CodexBar quota exhaustion estimates were hidden in tooltips.The menu bar shows the earliest available quota ETA and its limiting window. Each dropdown limit shows a visible pace forecast or reset countdown; stale and unavailable estimates stay unknown.
Oct 12-13CodexBar usage could lag by five-minute fetching plus one-minute panel reads.The native indicator reads snapshots asynchronously every five seconds and requests a throttled refresh when opened. One-minute backend polling is documented and applied on the working desktop.
Oct 12-13Public status contradicted the recorded M1 Pro desktop boot.Pages now distinguish the installed transformed system from the unverified factory ISO.
Oct 12-13CI path filters could skip changes to the transform script, root mkosi config, repositories, or arm64 package manifest.Added these paths to the M-series validation workflow.
Oct 12-13The fork's scheduled builds needed elementary's private publishing credentials.Added a manual experimental arm64 build with retained logs, checksums, and installer artifacts. The first arm64 image build succeeded on October 13.
Oct 12-13The hardware overlay pruned packages that its final image consumers did not explicitly install.Added runtime dependencies to both arm64 consumers and a regression test.
Oct 12-13Overlay cleanup deleted the brightness helper and its desktop autostart entry.Retained the files and added a regression test using a temporary image tree.
Oct 12-13ARM installer APT disc metadata used the amd64 directory; the ISO label also triggered a standards warning.Corrected target architecture selection and normalized the volume label. Rebuilt-image verification is pending.
Oct 12-13The base image missed systemd-coredump, now included by current elementary OS 9 upstream.Ported upstream commit 7024fd04646a6a8565bf6805989b59fd72de928c.
Oct 12-13Porting notes pointed at the retired omarchy-mac quattro branch for current package behavior.Recorded omacom/omarchy-mac-pkgs as the maintained reference and pinned the audited revision.
Oct 12-13An older optimization audit listed ambient keyboard lighting as missing, though it was implemented and measured on the M1 Pro.Corrected the audit and listed the remaining lock, lid, and suspend checks.
Oct 12-13Package notes said the Asahi speaker packages had no Ubuntu source, but resolute/universe provides the installed versions.Updated the package manifest and build notes. Factory-image audio packaging remains open.
Oct 12-13Battery charge limit had no desktop control.Added a quick-settings switch and an 80% limit service; the limit reads 80% on the M1 Pro.
Oct 12-13The Mac stayed awake with the display off when the lid closed on a USB4 dock.Added docked lid mode, which locks instead of retrying suspend. Running; a lid-close test with the dock is pending.
Oct 12-13Network speed and usage were not visible, and the indicator was not part of the image.Added the speed graph and usage view, and pinned the build into the Apple Silicon image overlay.
Oct 12-13No plain-language way to see what failed on the machine.Added the Local Troubleshooter, briefing and read-only assistant, all running on-device.

Reported earlier, not yet ranked

Recorded from earlier owner reports. They are not in the ranked list above yet.

IssueNext stepStatus
App windows do not consistently follow the Mac display's rounded shape.Define a system-level window-surface policy, then qualify native, third-party, maximized, fullscreen, dialog, and external-display cases.Needs implementation and visual qualification
The red and blue palette still feels harsh in use; existing GTK overrides do not reach every toolkit.Review shared theme/system settings and check contrast, focus, selection, and warning/error distinction across supported toolkits.Needs palette review
Network usage readouts can fail to recover around Ethernet suspend/resume or reboot.Compare the indicator and panel rates/history with interface counters before sleep, after wake/startup, and once the interface settles.Needs reproduction
The signal strength dropdown does not feel native to elementary and could be more fully built out.Review native panel/menu patterns, capture the current behavior, then define the added information and actions.Owner reported; needs design/reproduction
A bug was reported in Tasks, but the affected behavior is unspecified.Capture the failing flow, expected and actual results, app version, and reproduction steps.Needs details
A bug was reported in Energy Monitor, but the affected behavior is unspecified.Capture the failing flow, expected and actual results, app version, and reproduction steps.Needs details
Touch ID passkey/WebAuthn user verification is unverified on M1 Pro.Needs working fingerprint enrollment first (see item 8); then verify passkey creation and sign-in while retaining password/recovery fallback.Owner requested; waiting on Touch ID boot test
Successful authentication is not remembered for a configurable period; duration and reauthentication rules are undefined.Define duration, scope, idle/lock/suspend expiry, and fresh-verification behavior.Owner requested; policy to define

Verified on hardware 2026-10-17

CheckResult
Aurora kernel with the patched boot device tree (21:56)Partly works, then froze. apple_sep bound to the Secure Enclave, which accepted its firmware, advertised 12 endpoints and registered the hardware RNG; apple-sep.service succeeded. About 34 seconds in the log simply stops: no panic, oops or shutdown, the next boot reported the journal as uncleanly shut down, and pstore held nothing. The log shows no fingerprint-sensor lines and no /dev/sep-bio before the stop. The cause is unknown (the SEP, the new SPI sensor node, the display controller or something else). The machine currently runs the stock 7.1.13-3-2-ARCH kernel.

Verified on hardware 2026-10-14

CheckResult
Dell WD22TB4 Thunderbolt 4 dock on the M1 Pro (kernel 7.1.13 Fairydust USB4)The USB4 link trains, the dock enumerates, and the downstream USB hub, mouse and wired Ethernet work. Ethernet takes a DHCP lease and connects. The displays do not (see below).
Lid close, suspend (s2idle), lid open, resume without a dockWorks: a 14 minute 44 second suspend returned the moment the lid opened. The display controller powered back on and the login greeter started. Wi-Fi reconnected within about three seconds.
Docked lid mode (mseries-docked-lid)Running; it logged dock attached: holding the lid-switch inhibitor when the dock was plugged in. A lid-close test with the dock attached has not been repeated since.