Spatial Linux Desktop

Linux, locally in your headset.

A Termux-powered desktop for Meta Quest, presented through a native Android and Spatial SDK interface.

A floating Linux development desktop in a mixed-reality room, targeted by a controller ray
Quest-native presentation · Linux-owned session● local desktop connected

A desktop bridge, built for Quest.

Termux, Termux:X11 and XFCE own the Linux session. A native Android app carries the pixels and input over device-local loopback.

Meta Quest
Native panel
loopback RFB
Termux:X11
Linux desktop

Every practical way to interact.

One shared input system works in both Horizon-managed window mode and a grabbable Spatial SDK panel.

  • Ray pointerhover · tap · drag
  • Right clickarmed · controller
  • Virtual keyboardHorizon IME
  • Bluetooth keyboardphysical keys
  • Quest microphonesynchronized voice
sld@quest: ~/workspaceMIC LIVE
workspace/
├─ app/
│  ├─ src/
│  └─ build.gradle.kts
├─ README.md
└─ LICENSE
You
Add a small status action and test it.

Codex
I’ll inspect the project, make the change,
run the tests, and show you the diff.

✓ source updated
✓ tests passed
✓ APK assembled
Ask Codex… ● voice input active
An agentic coding workspace running in the floating Quest Linux desktop
▷  Demo video coming soon

The showcase: agentic work, entirely on Quest.

Run the Codex desktop app inside the local Linux environment. Point, right-click, type with a virtual or Bluetooth keyboard, dictate through the Quest microphone, work with Git, and build Android apps on the headset.

Inkscape, camera import and local printing are also validated.

Related work and alternatives

Part of a much wider ecosystem.

Linux on Quest is established prior work. Local userlands appeared on the original Quest, a Quest 2 demonstration combined XFCE with noVNC, and current projects offer direct Termux:X11, PRoot/VNC, local compatibility runtimes, and remote spatial desktops. Our contribution is this specific local Termux:X11, loopback RFB, and hybrid Spatial SDK integration—not a claim to have invented Linux in a headset. (RangerMauve, 2019; Eternal_Density, 2020)

We make no “first,” “only,” or “unprecedented” claim.

Local Linux + native VR VNC

Tokoro paired UserLAnd, OVRVNC, and a Bluetooth keyboard on Oculus Go—adjacent hardware, but important standalone precedent. (Tokoro, 2018; OVRVNC)

Linux reaches Quest

The 2019 record establishes a local UserLAnd workflow; the 2020 Quest 2 record supplies the earlier graphical XFCE/noVNC evidence found in this scan.

Reproducible Quest 3 routes

Direct Termux:X11, UserLAnd, and Andronix/bVNC guides made the conventional local desktop route increasingly accessible. (legokichi; Ben Kaiser; DevWithZachary)

Spatial SDK desktops

A native Meta Spatial SDK Ubuntu client demonstrated panel-coordinate input, right-click, scrolling, keyboard forwarding, and hardware HEVC decode from an external Linux host. (Hughes, 2026)

Choose by where the workload runs.

A spatial panel is only one design choice. For many users, direct X11 or a mature generic VNC client is the simpler answer; for demanding workloads, a remote Linux workstation can be the better answer.

Route Runs on Presentation Best fit Boundary
Direct Termux:X11 Quest Horizon-managed Android window The shortest local display path No application-owned XR panel (legokichi)
Andronix / UserLAnd + VNC Quest Generic VNC app or browser Familiar distribution setup and mature client behavior Normally PRoot and a virtual VNC desktop, not privileged chroot or a Spatial SDK surface (Andronix architecture)
DroidDesk Android / Quest-compatible route Direct Termux:X11 or its standalone Android app Consolidated installation and desktop packaging No Quest-specific spatial renderer was established in the inspected material (DroidDesk)
WinlatorXR Quest Purpose-built native XR frontend Locally executing Windows applications Wine/CPU translation and a local X server, rather than native ARM Linux/XFCE or Meta Spatial SDK (WinlatorXR)
Spatial Linux Desktop Quest Horizon window or Spatial SDK panel Local Linux plus Quest-specific input and device bridges More setup and local transport work; deliberately bounded compatibility
Spatial SDK remote desktop External Ubuntu/PC host Native video surface and spatial panel Desktop-class compute and efficient media transport Requires a host and network (remote-desktop-for-ubuntu; Moonlight-SpatialSDK)
WayVR + WiVRn External Linux host Linux-native spatial workspace streamed to Quest Several apps, richer compute, and open Linux XR Not an Android-hosted local desktop (WayVR; WiVRn)
01

Finish text input

Unicode, dead keys, composition, selection, and clipboard behavior are a more consequential adopter gap than another application screenshot. noVNC and mature Android VNC clients are useful protocol references, subject to their licenses. (noVNC)

02

Measure the whole local path

Direct Termux:X11, retained RFB, and any hardware-video experiment should run the same visible tasks. Local encoding, copies, queueing, decode, text clarity, latency, thermal state, and battery all count.

03

Study direct surfaces

WinlatorXR and the Ubuntu Spatial SDK client are useful references for direct local rendering boundaries and decoder-to-panel surfaces. Neither proves that a zero-copy Termux:X11 handoff already exists.

04

Treat lifecycle and trust as features

Release held input, stop the microphone on interruption, bound reconnects, and authenticate local peers if hostile same-device applications enter the threat model. Loopback limits exposure; it is not per-app authentication.

Selected references

  1. MesmerPrism. “Spatial Desktop Panel implementation snapshot.” 2026.
  2. Tokoro. “A standalone VR work environment on Oculus Go.” 2018.
  3. y-fujii. “OVRVNC.” Source repository.
  4. RangerMauve. “Linux on the Oculus Quest.” 2019.
  5. Eternal_Density. “XFCE desktop environment on Quest 2.” 2020.
  6. legokichi. “Standalone Linux with Termux on Meta Quest 3.” 2025.
  7. Ben Kaiser. “Web development in VR.” 2025.
  8. DevWithZachary. “Ubuntu Desktop on Meta Quest 3.” Video, 2025. Architecture cross-checked against Andronix documentation.
  9. orailnoor. “DroidDesk.” Source repository and compliance record.
  10. WinlatorXR contributors. “WinlatorXR.” See the inspected XR controller implementation.
  11. Yves Hughes. “Remote desktop for Ubuntu.” Meta Spatial SDK client, 2026.
  12. XXJones21. “Moonlight-SpatialSDK.” Source repository.
  13. WayVR and WiVRn contributors. “WayVR” and “WiVRn.” Open-source Linux XR workspace and transport.
  14. Termux contributors. “Termux” and “Termux:X11.” Core upstream projects.
  15. LibVNC and noVNC contributors. “x11vnc” and “noVNC.” Display-transport references.

A working reference, not a black box.

The Android client, bounded RFB transport, Linux setup, fixtures and validation notes are public and MIT licensed. Third-party applications remain user-installed dependencies under their own terms.

Page exports