This page is a side-by-side matrix of Sucrose's eight render engines — their underlying technology, the wallpaper types each can render, runtime requirements, interactivity, and support for the audio-reactive / system-status JavaScript APIs. Use it to decide which engine to assign per type on the Settings → Wallpaper page. Each wallpaper has a type (Gif, Url, Web, Video, YouTube, Application), and Sucrose maps that type to a configurable engine, launching the chosen .exe as a child process behind the desktop icons.
Audience: users and developers. For the conceptual overview and launch mechanics, see Engines-Overview.
| Engine | Assembly | Underlying tech | Renders |
|---|---|---|---|
| MpvPlayer | Sucrose.Live.MpvPlayer.exe |
libmpv (native, via Sucrose.Mpv.NET) |
Gif, Video |
| VlcPlayer | Sucrose.Live.VlcPlayer.exe |
libVLC (native, via LibVLCSharp.WPF) | Gif, Video |
| WebView | Sucrose.Live.WebView.exe |
Microsoft Edge WebView2 (Chromium) | Gif, Url, Web, Video, YouTube |
| CefSharp | Sucrose.Live.CefSharp.exe |
CEF / CefSharp (Chromium Embedded, offscreen) | Gif, Url, Web, Video, YouTube |
| Nebula | Sucrose.Live.Nebula.exe |
WPF MediaElement (Windows Media / DirectShow) |
Video |
| Vexana | Sucrose.Live.Vexana.exe |
WPF image + in-house frame-by-frame GIF decode | Gif |
| Xavier | Sucrose.Live.Xavier.exe |
Sucrose.XamlAnimatedGif (XAML attached behavior) |
Gif |
| Aurora | Sucrose.Live.Aurora.exe |
External process embedding (per monitor) | Application |
flowchart LR
Mpv["MpvPlayer"] --> Gif & Video
Vlc["VlcPlayer"] --> Gif & Video
WV["WebView"] --> Gif & Url & Web & Video & YouTube
Cef["CefSharp"] --> Gif & Url & Web & Video & YouTube
Neb["Nebula"] --> Video
Vex["Vexana"] --> Gif
Xav["Xavier"] --> Gif
Aur["Aurora"] --> Application
Engine → types it can render. For a default/available cell grid see the Full capability matrix below.
The internal EngineType enum (src/Shared/Sucrose.Shared.Dependency/Enum/EngineType.cs) defines the canonical engine order, which is used as integer indices:
internal enum EngineType { AuroraLive, NebulaLive, VexanaLive, XavierLive, WebViewLive, CefSharpLive, MpvPlayerLive, VlcPlayerLive }
The six wallpaper types are defined in WallpaperType.cs:
internal enum WallpaperType { Gif, Url, Web, Video, YouTube, Application }
Per-type allowed engines are sub-enums whose values alias back to EngineType. The default for each type comes from src/Shared/Sucrose.Shared.Space/Manage/Internal.cs:
| Type | Allowed engines | Default |
|---|---|---|
Gif (GifEngineType) |
Vexana, Xavier, WebView, CefSharp, MpvPlayer, VlcPlayer | MpvPlayer |
Url (UrlEngineType) |
WebView, CefSharp | CefSharp |
Web (WebEngineType) |
WebView, CefSharp | CefSharp |
Video (VideoEngineType) |
Nebula, WebView, CefSharp, MpvPlayer, VlcPlayer | MpvPlayer |
YouTube (YouTubeEngineType) |
WebView, CefSharp | CefSharp |
Application (ApplicationEngineType) |
Aurora (only) | Aurora |
The defaults in source:
public static SSDEUET UrlEngine = SSDEUET.CefSharp;
public static SSDEWET WebEngine = SSDEWET.CefSharp;
public static SSDEGET GifEngine = SSDEGET.MpvPlayer;
public static SSDEVET VideoEngine = SSDEVET.MpvPlayer;
public static SSDEAET ApplicationEngine = SSDEAET.Aurora;
public static SSDEYTET YouTubeEngine = SSDEYTET.CefSharp;
You change these in Portal → Settings → Wallpaper (see Choosing-Engines and Settings-Wallpaper). The combo boxes are GifPlayer and VideoPlayer in the Extensions area, and UrlPlayer, WebPlayer, YouTubePlayer, ApplicationPlayer in the Engines area; each writes the engine setting key (Gif, Url, Web, Video, YouTube, Application).
| Engine | Tech | Gif | Url | Web | Video | YouTube | Application | Interactive | Audio/System data |
|---|---|---|---|---|---|---|---|---|---|
| MpvPlayer | libmpv | ✔ (default) | – | – | ✔ (default) | – | – | No | No |
| VlcPlayer | libVLC | ✔ | – | – | ✔ | – | – | No | No |
| WebView | Edge WebView2 | ✔ | ✔ | ✔ | ✔ | ✔ | – | Yes | Yes (Web only) |
| CefSharp | CEF / CefSharp | ✔ | ✔ (default) | ✔ (default) | ✔ | ✔ (default) | – | Yes | Yes (Web only) |
| Nebula | WPF MediaElement | – | – | – | ✔ | – | – | No | No |
| Vexana | In-house GIF parser | ✔ | – | – | – | – | – | No | No |
| Xavier | XamlAnimatedGif | ✔ | – | – | – | – | – | No | No |
| Aurora | Process embedding | – | – | – | – | – | ✔ (default) | Input forwarded | Volume only |
Notes:
SucroseAudioData, SucroseProcessorData, etc.). These are delivered only for the Web type on WebView or CefSharp. See Create-Audio-API and Create-System-API.RawInput.Sharp; MpvPlayer, VlcPlayer, Nebula, Vexana, and Xavier are non-interactive renderers.| Engine | Extra runtime requirement | Auto-download offered? | Min OS / version |
|---|---|---|---|
| MpvPlayer | Ships its own libmpv-{x86,x64,ARM64}.dll (no external install) |
n/a (bundled) | Windows 10 1607 (Redstone 1) via IsRedstone1 check |
| VlcPlayer | Ships its own bundled libVLC (VideoLAN.LibVLC.Windows, one arch per build); no external install |
n/a (bundled) | — |
| WebView | Edge WebView2 runtime ≥ 131.0.2903.70 | Yes (Continue / Download / Remember / Close) | — |
| CefSharp | VC++ Redistributable ≥ 14.40.33816.0; CEF native binaries shipped with engine | Yes (Continue / Download / Remember / Close) | — |
| Nebula | OS media codecs (Media Foundation / DirectShow) | n/a | — |
| Vexana | None (pure managed WPF) | n/a | — |
| Xavier | None (pure managed WPF) | n/a | — |
| Aurora | None beyond .NET + Skylark; the embedded app supplies its own | n/a | — |
All engines target .NET 10.0-windows and ship for x86, x64, and ARM64. The .NET 10 runtime is bundled privately as Sucrose.Runtime — no system .NET install is required. See System-Requirements and Runtime-Dependencies.
The HardwareAcceleration toggle (Settings → Wallpaper) maps to engine-specific flags:
| Engine | HardwareAcceleration ON | HardwareAcceleration OFF |
|---|---|---|
| MpvPlayer | hwdec=auto-safe |
hwdec=no |
| VlcPlayer | EnableHardwareDecoding=true (color filters active) |
EnableHardwareDecoding=false (color filters skipped) |
| WebView | --enable-gpu + --enable-gpu-vsync |
--disable-gpu + --disable-gpu-vsync |
| CefSharp | enable-gpu=1 + enable-gpu-vsync=1 |
disable-gpu=1 + disable-gpu-vsync=1 (skipped on Germanium) |
| Nebula / Vexana / Xavier / Aurora | n/a (WPF/native handles it) | n/a |
Stay Awake applies across all engines via a 30-second SetThreadExecutionState loop (ON → ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED; OFF → ES_CONTINUOUS); MpvPlayer additionally rewrites its stop-screensaver config. See Performance-Rules and Choosing-Engines.
RawInput.Sharp; forward mouse/keyboard).Backgroundog's AudioRequired = true, opens a communication channel (CommunicationType: Pipe / Signal / Transmission), receives data from Backgroundog, and calls ExecuteScriptAsync with the theme's JS callbacks. Video/Gif/Application engines inject no system data (Aurora apps get volume only). See Create-Web-Architecture and IPC.| If you want… | Use |
|---|---|
| The most format-robust video/GIF playback | MpvPlayer (default for Gif & Video) |
| A self-contained video/GIF player as a libVLC-based alternative to libmpv | VlcPlayer |
| Audio-reactive / system-data web wallpapers | CefSharp (default for Web) or WebView |
| The most versatile browser engine across all browser types | WebView |
| A lightweight video player without libmpv | Nebula (relies on OS codecs) |
| A lightweight local-GIF player, no native runtime | Vexana |
| A GIF streamed from a remote URL, no native runtime | Xavier |
| To run an app/game as the wallpaper | Aurora (Application only) |
If a type is manually assigned to an engine that cannot render it, the engine's Configure() switch hits default → Close() and nothing shows — but the Portal only offers compatible engines per type, so this is a safeguard.