✏️
Skeldri DrawPad
Not yet compatible with Skeldri 1.0 for iPad. The Linux host on this page still uses the earlier DrawPad protocol (version 2, _drawpad._tcp). Skeldri 1.0 for Mac and iPad uses protocol 7, so the iPad app cannot find this host until it is updated.
Linux (Omarchy / Hyprland) & macOS Native

Turn your iPad into a Wireless Drawing Tablet for Linux

Mirror any Linux or Mac display over your local network with low-latency H.264 video. Annotate with Apple Pencil or finger strokes on a transparent, 100% click-through desktop overlay.

$ curl -fsSL https://onembyte.github.io/Skeldri/install.sh | bash

Installs the skeldri binary, systemd user daemon, and Omarchy QuickShell bar plugin.

● Arch Linux / Omarchy ● Wayland & Hyprland ● macOS 15+ Native ● iPadOS 18+ App

Engineered for Latency & Precision

Built with native system components in Rust, Wayland, PipeWire, Swift, and QuickShell.

⚡

Real-Time H.264 Video

Screen capture encoded at 30 FPS (~4 Mbps) with zero B-frames and length-prefixed AVCC access units, keeping video latency sub-50ms.

🖱️

100% Click-Through Overlay

Wayland wlr-layer-shell surface with an empty input region. Draw over live browsers and code editors without blocking any clicks.

📡

Zero-Config Bonjour Discovery

Advertises _drawpad._tcp over Avahi mDNS with persistent machine UUIDs. The iPad discovers and connects automatically.

🖥️

Omarchy Shell Integration

Native QuickShell bar widget and dropdown panel in Omarchy for live iPad status, active display switching, and canvas clearing.

✏️

Normalized Vector Inking

Normalized top-left vector coordinates keep pen strokes sharp across different monitor resolutions and aspect ratios.

🔒

100% Local & Private

Operates strictly over your local Wi-Fi network. No cloud relays, accounts, telemetry, tracking, or remote control permissions.

Protocol Architecture

Two dedicated TCP streams guarantee responsive drawing even under heavy network load.

1

mDNS Discovery

Avahi publishes _drawpad._tcp with protocol version 2 and host UUID.

2

Control Plane (TCP)

Bidirectional JSON packets for stroke vectors, display descriptors, ping/pong, and canvas clearing.

3

Video Plane (TCP)

H.264 stream with SPS/PPS parameter set packets and AVCC length-prefixed video envelopes.

// Linux / Omarchy Host Architecture
Hyprland Output -> FFmpeg (libx264) -> AVCC Parser
└─ Video TCP -> iPad AVSampleBufferDisplayLayer
iPad Touch Vectors -> Control TCP -> DrawingState
└─ tiny-skia -> Wayland wlr-layer-shell Overlay

CLI Reference

Manage the background daemon directly from your terminal or scripts.

Command Description
skeldri Run the Skeldri daemon interactively in foreground
skeldri status Show live connection status, active monitor, and stroke count
skeldri status --json Output machine-readable JSON status (for bar plugins & scripts)
skeldri clear Clear all annotations from host overlay and iPad screen
skeldri toggle Toggle annotation overlay visibility without erasing strokes
skeldri select-display <id> Switch mirrored video output to the specified display ID
skeldri stop Gracefully stop the background daemon