← Blog
0.6.0 · APPS · SRDX

SRDX Viewer + Session Manager — sigilOS Gets a Remote Desktop UI (0.6.0 T1)

June 22, 2026 · sigil-apps · Sigil-Docs
srdx remote-desktop apps lumen 0.6.0

The 0.6.0 SRDX kernel proof now has a face. apps/viewer/viewer.sg (sigil-apps 864df81) ships the SRDX viewer: a Lumen window at the far end of the round-trip, presenting the remote canvas that srdx_decode_frame populates. apps/sessions/sessions.sg gains the REMOTE DISPLAY folder — an SRDX session type with host/port/protocol-chip UI. Together they close the 0.6.0 T1 loop: kernel transport proven, now the user-visible surfaces exist for when a real two-machine session connects.

SRDX viewer — Lumen window showing stream metadata, STATE badge (awaiting), negotiate controls, and remote canvas placeholder
SRDX viewer — Lumen window showing stream metadata, STATE badge (awaiting), negotiate controls, and remote canvas placeholder
Session Manager REMOTE DISPLAY folder — sigil-pi SRDX session with proto chips and negotiate button
Session Manager REMOTE DISPLAY folder — sigil-pi SRDX session with proto chips and negotiate button

SRDX viewer (viewer.sg) — the far-end window

The SRDX viewer is what the user sees when they open a remote session. It is a two-panel Lumen window that holds both the session controls and the remote canvas.

Left panel — stream control

Connection header
sigil-pi:5900 · SRDX — host, port, and active protocol displayed at the top of the control panel.
STATE badge
awaiting — transitions through awaiting → negotiating → connected as the session handshake progresses.
Metadata strip
Live stream stats: FPS / BUF / W×H — populated once a session reaches connected.
Fallback capability chips
rdp · vnc — displayed when SRDX negotiation is not available on the remote host; reflect the auto-negotiate fallback order.
Negotiate button
Opens the SRDX session — calls the srdx_negotiate_* OS 0.6 seam to begin the handshake.

Right panel — remote canvas

Canvas area
Where srdx_decode_frame writes decoded pixels. The srdx_decode handoff seam comment in the source marks the exact ABI boundary where the Video team's frame-buffer output arrives.
Transport row
Current protocol (SRDX) and connection status — updated on each state transition.
Status bar
Bottom-of-window status strip showing session health and last event.

The viewer is the user-visible proof of the 0.6.0 stack. All the kernel transport work — nic_iface.sg, srdx_xport.sg sys 109–116, fbtap, srdx_encode/srdx_decode — has been building toward this window. When the SRDX-NET-RT-PASS round-trip runs inside a real two-machine pair, the viewer is where the remote display appears.


Session Manager SRDX (sessions.sg update) — where you save your sessions

sessions.sg had two folders: Production (SSH sessions) and Lab (RDP/VNC sessions). The 0.6.0 update adds a third: REMOTE DISPLAY — the sigilOS-native protocol tier.

The REMOTE DISPLAY folder contains the sigil-pi session:

Host
sigil-pi.local
Display
:0 640×400
Port
5900
Proto chips
SRDX (primary, highlighted) · rdp (fallback) · vnc (fallback) — the three tiers of the auto-negotiate stack, in priority order.
Negotiate button
Calls srdx_negotiate_*; the OS 0.6 seam hint links to the transport surface.

The three-tier protocol hierarchy is now visible in the UI: SRDX first (kernel-native, capability-secured), then RDP, then VNC — matching the auto-negotiate order the kernel uses. The user sees the same priority ordering the OS enforces.

Folder Protocol Session type Notes
Production SSH ssh-session Terminal sessions
Lab RDP / VNC rdp-session, vnc-session Legacy Windows/Linux remote display
REMOTE DISPLAY SRDX srdx-session sigilOS-native, cap-secured, pixel-perfect

0.6.0 T1 status — where the two-machine session stands

The 0.6.0 SRDX work divides into transport (kernel-proven) and UI (now complete). The table below shows what is wired and what remains:

Layer Status Commit
fbtap compositor tap PASS sigil-kernel
srdx_encode_frame (delta encoder) PASS sigil-video
srdx_decode_frame (decoder + VESA) PASS sigil-video
srdx_wire TCP path (sys 109–112) WIRE-PASS sigil-video 12e99d5
srdx_wire raw-NIC path (sys 113–116) RAW-PASS sigil-video 487d00a
SRDX-NET-RT-PASS (full round-trip) PASS sigil-video 905c968
SRDX viewer (far-end Lumen window) LIVE sigil-apps 864df81
Session Manager REMOTE DISPLAY LIVE sigil-apps 864df81
e1000 NIC driver (real silicon) in progress sigil-drivers
RDP/VNC interop layer RFC
2→16 node mesh 0.7.x

When the e1000 driver lands and the viewer's srdx_decode handoff seam receives live frames from a real two-machine pair, the SRDX viewer will transition from awaiting to connected and show a live remote display. The transport is proven; the UI is ready.