Omarchy on a OnePlus 7 Pro
The first Agentic operating system, in your pocket
What this is
This is my attempt to run a real Omarchy desktop on a phone: Arch Linux ARM, Hyprland, GPU rendering, and a touch-oriented Quickshell interface on a OnePlus 7 Pro (guacamole, Snapdragon 855 / Adreno 640).
The phone-specific kernel and firmware work lives separately from the mobile shell, so other devices can eventually share the same interface. It is an experimental port — not a daily driver.
To see what currently works, and what doesn’t: Current status

Lighting up the screen
The first real milestone was getting the panel to show anything. For a long stretch the phone would boot into a black screen, a frozen logo, or a crashdump. The only way to guess what happened was to add delays and count the seconds until it crashed.
Once the leftover bootloader framebuffer was usable as a console, the screen itself became the log. Kernel messages printed on the panel. That is how we finally saw why the system was not coming up — unused clocks getting disabled, a missing initramfs, USB DMA without the right SMMU mapping, that kind of thing.


Those on-screen logs were the difference between flashing blindly and actually debugging the boot path.
Arch in RAM, then on storage
With a kernel that stayed alive, the next step was a real userspace. Arch first ran from a ramdisk — enough to prove the userspace, but nothing that survived a reboot on its own. Soon after that came a persistent install on the phone’s storage: a small initramfs that mounts Arch from UFS and continues from there.
That is still how the phone boots today. It is not a conventional systemd-from-disk image yet, but it is a real Arch Linux ARM system with ordinary pacman.
USB networking changed the pace
Once USB networking came up, development got a lot less painful. Instead of photographing the last lines on the panel and reflashing, I could SSH in, copy files, and iterate. Replug support and a pinned SSH key followed. The screen was still the fallback when USB died, but day-to-day work moved onto the cable.
A usable desktop
From there the phone started to look like Omarchy instead of a bring-up experiment:
- Native display at 1440×3120, 60 Hz, with Adreno 640 hardware rendering (90 Hz is not enabled yet)
- All eight Snapdragon 855 cores online
- Multitouch, including five-finger input
- Wi-Fi through NetworkManager, including reconnect after wake
- A basic touch interface: app launcher, workspace overview, on-screen keyboard, notification shade
- Standard Omarchy themes and wallpapers
Captures from the running shell — these are from the phone itself, not mockups:






Gestures are phone-native: swipe up from the bottom-left for the launcher, bottom-center for windows and workspaces, bottom-right for the keyboard, and down from the top bar for the notification shade.
Where we are now
As of mid-September 2026 the phone boots into a usable touch desktop. Charging works, conservatively — 500 mA / 4.20 V, no fast charge yet. Sleep/wake is physically tested, with touch and Wi-Fi coming back afterward. Chromium and a Grok webapp run on native Wayland. The shell remembers theme and wallpaper choices.
The current work is audio. The ADSP firmware runs, the WCD9340 codec and SLIMbus enumerate, and ALSA exposes playback. Both TFA9874 amplifiers are identified. I have heard an initial tone, but independent confirmation of both speakers is still pending, and application playback — PipeWire, the browser, YouTube — is not really there yet. Volume keys and a themed slider exist; the microphone, DSP speaker protection, and audio-over-suspend are unfinished.
Still on the list after audio:
- Deeper idle states and real battery-life numbers
- Reliable shutdown (power-off currently tends to reboot)
- Bluetooth, haptics, sensors, GPS, and cameras
- Cellular data, SMS, and voice — modem groundwork exists, but nothing is tested
- Moving the desktop off root and onto a normal user with sudo
The full notes, kernel work, and recovery checkpoints live in the GitHub repo.