The red button hides a distributed system. A recorder must negotiate with two display worlds, discover an audio graph, keep clocks aligned, preserve editable intent, encode within hardware constraints, and deliver a file or share that still matches what the user saw.
Two display paths: X11 and Wayland
X11 capture can address display resources through X APIs, while Wayland intentionally routes screen capture through compositor-mediated interfaces. Screenix has distinct X11 and Wayland capture paths; its Wayland path uses the XDG ScreenCast portal and PipeWire stream handoff. See the primary source.
Portals authorize; PipeWire transports
The portal returns stream node IDs and a PipeWire remote file descriptor. PipeWire then represents media processing through nodes, ports, and links. Screenix consumes the authorized stream rather than treating the chooser itself as a frame API. See the primary source.
Audio is a graph of sinks, sources, and monitors
A source is recordable input; a sink is playback output; a sink monitor exposes what is being played. Screenix discovers microphone sources and output sinks separately, maps a selected output to its monitor for system sound, and builds FFmpeg inputs from the enabled selections. See the primary source.
Cursor and camera need their own timing
A cursor may be embedded in captured frames or supplied as portal metadata, depending on the supported mode. Screenix also tracks cursor data for editing and compositing. Its camera recorder runs as a separate capture path, so recording logic must establish timestamps and later align camera, audio, and screen material.
Pause and resume are pipeline operations
Screenix exposes pause and resume commands and coordinates recorder state rather than merely hiding the interface. A robust implementation must decide what time means across pauses so output does not accumulate an unintended gap and synchronized inputs resume coherently.
Encoding spans software and hardware paths
FFmpeg separates demuxing, decoding, filtering, encoding, and muxing. Hardware acceleration can move supported work to device-specific APIs, but availability and usable formats depend on the system and selected encoder. See the primary source.
Screenix contains FFmpeg-based export paths plus GPU-assisted rendering and hardware-encoder selection with fallbacks. This is a repository-verified implementation statement, not a promise that every GPU or encoder works on every Linux installation.
A project preserves more than a video
Screenix projects retain recording and edit information used by the timeline, clips, zoom and cursor treatment, camera layout, and export. Keeping intent separate from the final encoded frames lets an editor change presentation without recreating the original interaction.
Transcription and sharing are separate systems
Screenix includes caption generation and editing flows and can attach captions to hosted shares. Hosted sharing also requires authentication, storage, upload coordination, access policy, and lifecycle handling. Local export remains a separate delivery option when upload is unnecessary or inappropriate.
The engineering boundary is the user promise
Capture correctness, synchronization, editability, export reliability, accessibility, and controlled delivery are different subsystems. Calling all of them 'screen recording' hides the work—and explains why a minimal capture utility and a modern production workflow can both be valid while solving different problems.
Sources and verification
Technical claims in this guide were checked against the upstream documentation below. Screenix-specific behavior was also verified against the desktop implementation current on August 31, 2026.
- 1. ScreenCast portal specification
XDG Desktop Portal · The session lifecycle, selectable source types, cursor modes, restore tokens, and PipeWire handoff.
- 2. PipeWire: Objects Design
PipeWire · The node, port, link, client, and device object model.
- 3. PulseAudio FAQ
freedesktop.org · Sink monitor sources and recording playback output.
- 4. FFmpeg Hardware Acceleration
FFmpeg · Hardware acceleration options and device-dependent availability.
- 5. FFmpeg documentation
FFmpeg · FFmpeg's transcoding pipeline, stream selection, codecs, filters, and output handling.