# Spec: Desktop native video — mpv renders the picture, everywhere **Status:** Partially implemented — phase 1 routing shipped: mpv is the only Linux video renderer (`native_video::enabled()` is unconditional on Linux, no webview fallback is offered). **Left:** Linux's device profile still claims only `h264` (DR-234), so video still arrives as a server transcode — mpv plays it, but the direct-play gain is not yet taken; `hwdec` is unset, so mpv decodes in software (DR-236); a failed surface attach only logs, it does not surface an error; the phase 1 soak and X11/Wayland criteria are unrecorded; phases 2 and 3. Phase 3 also deletes the now-inert frontend switch (`experimentalNativeVideo`, `nativeVideoWanted`, the Settings toggle and the adapter's suppressor flag), which no platform reaches since `webview_video_fallback` became false everywhere. **Requirements:** UR-080 (new) → DR-231 … DR-237 (new); IR-033 (new) **UX spec:** n/a — nothing about the player's appearance changes. What changes is what is behind the controls. **Supersedes / revises:** consumes and closes [linux-native-video-spike.md](linux-native-video-spike.md), whose gates authorised exactly this spec and nothing more. Settles finding 2 of [playback-backend-unification.md](playback-backend-unification.md) on the desktop; finding 3 was already settled by DR-229. Absorbs the video half of what [windows-native-audio-backend.md](windows-native-audio-backend.md) leaves open. **Depends on:** backend-owned stream selection (DR-225 … DR-230), the branch below this one. mpv is a *consumer* of `StreamSelection`, never a second place to decide what to play. **Destination on completion:** [05-platform-backends.md](../architecture/05-platform-backends.md) — a "Native Video Compositing (Desktop)" section beside the existing Android one, which this mirrors; and [01-rust-backend.md](../architecture/01-rust-backend.md) — the device profile becomes renderer-dependent, beside the stream-selection section. **The spike is deleted in the same commit**, its three traps and its hardware-decode table folded in; they are the durable half. ## Summary mpv decodes and draws video on **every desktop platform**, composited beneath the transparent webview, exactly as Android already does with ExoPlayer. The HTML5 `