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 (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
sigil-pi:5900 · SRDX — host, port, and active protocol displayed at the top of the control panel.awaiting — transitions through awaiting → negotiating → connected as the session handshake progresses.connected.rdp · vnc — displayed when SRDX negotiation is not available on the remote host; reflect the auto-negotiate fallback order.srdx_negotiate_* OS 0.6 seam to begin the handshake.Right panel — remote canvas
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.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:
sigil-pi.local:0 640×400SRDX (primary, highlighted) · rdp (fallback) · vnc (fallback) — the three tiers of the auto-negotiate stack, in priority order.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.