-
-
Notifications
You must be signed in to change notification settings - Fork 60
Choosing Engines
Sucrose renders each wallpaper through one of eight separate rendering engines, and you decide which engine handles each wallpaper type on the Settings → Wallpaper page. This page is the task-oriented guide to picking an engine per type and to the cross-engine global toggles (Hardware Acceleration, Stay Awake, Stretch, Loop, Shuffle, Background Image, Input) that live on the same page. For the deep technical breakdown of every engine, see Engines Overview; for the per-setting reference table, see Settings Wallpaper.
- Why the engine matters
- The six types and their selectable engines
- Changing an engine per type
- Default engines
- Global wallpaper toggles
- Runtime auto-download prompts
- Quick recommendations
- See also
A wallpaper has a type (Gif, Url, Web, Video, YouTube, Application). Sucrose maps each type to a configurable engine; the chosen engine .exe is launched as a child process and draws into the desktop behind your icons. Different engines use different underlying technologies (libmpv, WebView2, CEF, WPF MediaElement, in-house GIF decoders, or external process embedding), so the engine you pick affects:
- Compatibility — which file formats and features work.
- Performance — CPU/GPU/RAM cost.
- Interactivity — only the browser engines forward mouse/keyboard and inject the Audio API / System API data.
- Runtime requirements — some engines need an extra runtime (WebView2 runtime, VC++ redistributable) or a minimum Windows version.
Changing an engine selection (like most wallpaper settings) is applied live — Sucrose kills and restarts the running engine. Expect a brief flicker when you switch.
Each type only offers the engines that can render it. The Portal UI only lists compatible engines, so you cannot accidentally pick an incompatible one.
| Type | Selectable engines | Default engine |
|---|---|---|
| Gif | Vexana, Xavier, WebView, CefSharp, MpvPlayer, VlcPlayer | MpvPlayer |
| Video | Nebula, WebView, CefSharp, MpvPlayer, VlcPlayer | MpvPlayer |
| Url | WebView, CefSharp | CefSharp |
| Web | WebView, CefSharp | CefSharp |
| YouTube | WebView, CefSharp | CefSharp |
| Application | Aurora (only) | Aurora |
The underlying EngineType enum order is AuroraLive, NebulaLive, VexanaLive, XavierLive, WebViewLive, CefSharpLive, MpvPlayerLive, VlcPlayerLive. Per-type sub-enums restrict which engines a given type may use.
flowchart LR
subgraph Types
G["Gif"]
V["Video"]
U["Url"]
W["Web"]
Y["YouTube"]
A["Application"]
end
subgraph Engines
Mpv["MpvPlayer"]
Vlc["VlcPlayer"]
Neb["Nebula"]
Vex["Vexana"]
Xav["Xavier"]
WV["WebView"]
Cef["CefSharp"]
Aur["Aurora"]
end
G -->|default| Mpv
G --> Vex
G --> Xav
G --> WV
G --> Cef
V -->|default| Mpv
V --> Neb
V --> WV
V --> Cef
G --> Vlc
V --> Vlc
U -->|default| Cef
U --> WV
W -->|default| Cef
W --> WV
Y -->|default| Cef
Y --> WV
A -->|default| Aur
- Open the Portal.
- Click the Settings button in the top toolbar, then open the Wallpaper settings page.
- Each type has its own engine ComboBox:
-
Gif Player (
Gifkey, in the Extensions area) -
Video Player (
Videokey, in the Extensions area) -
Url Player (
Urlkey, in the Engines area) -
Web Player (
Webkey, in the Engines area) -
YouTube Player (
YouTubekey, in the Engines area) -
Application Player (
Applicationkey, in the Engines area)
-
Gif Player (
- Pick the engine you want. The change is saved to
Engine.jsonand the live wallpaper restarts with the new engine.
📷 Screenshot needed: Portal → Settings → Wallpaper page showing the per-type engine selector ComboBoxes (Gif/Video/Url/Web/YouTube/Application Player).
Out of the box:
-
Gif and Video → MpvPlayer. MpvPlayer (libmpv) is the most format-robust and ships its own native
libmpv-{arch}.dll, so it needs no external install (requires Windows 10 1607 / Anniversary Update or newer). - Url, Web, and YouTube → CefSharp. CefSharp (Chromium Embedded Framework) is the default browser engine and serves the theme through a built-in local HTTP server.
- Application → Aurora. Aurora is the only engine that can embed an external program/game as a wallpaper.
Defaults are platform-conditional and resolved from
Sucrose.Shared.Space.Manage.Internal(GifEngine = MpvPlayer,VideoEngine = MpvPlayer,UrlEngine = CefSharp,WebEngine = CefSharp,YouTubeEngine = CefSharp,ApplicationEngine = Aurora).
The same Settings → Wallpaper page also exposes cross-engine options that apply regardless of which engine you choose. All keys are stored in Engine.json.
| Setting | Key | Default | Options / effect |
|---|---|---|---|
| Hardware Acceleration | HardwareAcceleration |
true |
GPU-accelerates rendering. ON → MpvPlayer hwdec=auto-safe, WebView --enable-gpu, CefSharp enable-gpu=1. OFF disables GPU per engine. |
| Stay Awake | StayAwake |
false |
Prevents the system from sleeping / showing the screensaver while a wallpaper is running. |
| Stretch Mode | StretchType |
UniformToFill |
None, Fill, Uniform, UniformToFill — how media is scaled to the screen. |
| Loop Mode | WallpaperLoop |
true |
Loops video/GIF playback. |
| Shuffle Mode | WallpaperShuffle |
true |
Shuffles when multiple sources are available. |
| Background Image | BackgroundImage |
false |
Also sets/resets the static desktop wallpaper (a fallback image behind the live wallpaper). |
| Input Mode | InputType |
MouseKeyboard |
Close, OnlyMouse, OnlyKeyboard, MouseKeyboard — which input is forwarded to interactive wallpapers. |
| → Input module | InputModuleType |
RawInput |
Only RawInput is available (the Native option is disabled in current builds). |
| → Input on desktop | InputDesktop |
false |
Forwards input only when the desktop is shown. |
| Screen Layout | ScreenType |
DisplayBound |
How the wallpaper maps to the display(s). |
| Crash Mode | CrashExplorer |
false |
Restart Explorer if the engine crashes. |
Input matters for interactivity. Mouse/keyboard input is only forwarded by the browser engines (WebView, CefSharp) and by Aurora — the GIF and pure-video engines (MpvPlayer for media playback, VlcPlayer, Nebula, Vexana, Xavier) are non-interactive renderers.
For the complete annotated table of every Wallpaper-page setting, see Settings Wallpaper.
Two browser/video engines depend on an external runtime and will offer to download it if it is missing:
- WebView needs the Microsoft Edge WebView2 runtime ≥ 131.0.2903.70. If it is missing or older, the engine shows a dialog (Continue / Download / Remember / Close); Download silently installs the WebView2 bootstrapper, Remember snoozes the prompt for 1 day.
-
CefSharp needs the Visual C++ Redistributable ≥ 14.40.33816.0. If too old, the engine shows the same Continue / Download / Remember / Close dialog and can fetch
VC_redist.{arch}.exe. - MpvPlayer does not download anything (it ships its own libmpv) but requires Windows 10 1607 (Anniversary Update) or newer; on older Windows it shows a warning and closes.
See Runtime Dependencies for the full list and download links.
- Most GIFs/videos: keep the default MpvPlayer — it is the most format-robust and ships its own codec stack.
-
A video format MpvPlayer struggles with, or you want a lighter player: try Nebula (WPF
MediaElement, uses OS codecs) — note it can only play formats Windows already supports. - A self-contained video/GIF engine as an alternative to libmpv: try VlcPlayer (bundles libVLC; same role as MpvPlayer, handy if a format misbehaves under one of them).
- Pure WPF GIF playback without Chromium/libmpv: Vexana (in-house frame parser) or Xavier (XamlAnimatedGif, can also stream remote GIFs).
- Interactive / audio-reactive / system-data web wallpapers: these must be the Web type rendered by WebView or CefSharp — no other engine injects live data into content.
-
WebView vs CefSharp: WebView is the everything-capable browser (Gif/Url/Web/Video/YouTube via
file:///serving and the evergreen Edge runtime); CefSharp is the default for Url/Web/YouTube and serves via a local HTTP server. Choose WebView if you would rather not install the VC++ redistributable; choose CefSharp if WebView2 is unavailable on your machine. - Run a game/app/screensaver as a wallpaper: Application type → Aurora (one instance per monitor).
Getting Started
- Installation
- System Requirements
- Quick Start
- Portal Interface Tour
- Updating Sucrose
- Uninstalling Sucrose
Wallpaper Types
Using Sucrose
- Managing Library
- Using Store
- Customizing Wallpaper
- Multi-Monitor
- Wallpaper Cycling
- Choosing Engines
- Performance Rules
- Theme, Tray & Startup
- Discord Rich Presence
Settings Reference
- Settings Overview
- Settings: General
- Settings: Personal
- Settings: Performance
- Settings: Wallpaper
- Settings: System
- Settings: Other
- Settings: All Keys
Creating Wallpapers
- Create Overview
- Create: Step By Step
- Create: Package Format
- Create: Customization Controls
- Create: JS Bridge
- Create: Audio API
- Create: System API
- Create: Property Listener & Filters
- Create: Web Architecture
- Create: Compatibility
- Create: Example Wallpapers
- Create: Sharing & Publishing
Engine Reference
- Engines Overview
- Engine: MpvPlayer
- Engine: VlcPlayer
- Engine: WebView
- Engine: CefSharp
- Engine: Nebula
- Engine: Vexana
- Engine: Xavier
- Engine: Aurora
- Engine Comparison
Automation & Command Line
Architecture & Internals
- Architecture Overview
- Lifecycle
- Commandog Dispatcher
- Single-Instance Mutexes
- IPC
- Backgroundog Service
- Crash Reporting
- Update Internals
- Property Service
- Undo Internals
Data, Files & Diagnostics
Building & Contributing
- Building From Source
- Repository Layout
- Shared Item Projects
- Code Conventions
- Preprocessor Symbols
- Publish Pipeline
- Bundle Installer Internals
- Extending Sucrose
- Contributing
- Translating with Localizer
- Localization Coverage
- Security Policy
- Privacy & Telemetry
Help & Support