<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Engine Comparison</title><link>https://sourceforge.net/p/sucrose/wiki/Engine%2520Comparison/</link><description>Recent changes to Engine Comparison</description><atom:link href="https://sourceforge.net/p/sucrose/wiki/Engine%20Comparison/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 04 Jul 2026 04:15:48 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sucrose/wiki/Engine%20Comparison/feed" rel="self" type="application/rss+xml"/><item><title>Engine Comparison modified by Bayram Emekli</title><link>https://sourceforge.net/p/sucrose/wiki/Engine%2520Comparison/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,12 +1,12 @@
 # Engine Comparison

-This page is a side-by-side matrix of Sucrose's **seven 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.
+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.

 &amp;gt; **Audience:** users and developers. For the conceptual overview and launch mechanics, see [Engines-Overview](Engines-Overview).

 ## Contents

-- [The seven engines](#the-seven-engines)
+- [The eight engines](#the-eight-engines)

 - [Engine enum order](#engine-enum-order)
 - [Type → allowed engines](#type--allowed-engines)
 - [Full capability matrix](#full-capability-matrix)
@@ -16,11 +16,12 @@
 - [Choosing an engine](#choosing-an-engine)
 - [See also](#see-also)

-## The seven engines
+## The eight engines

 | Engine | Assembly | Underlying tech | Renders |
 |---|---|---|---|
 | [MpvPlayer](Engine-MpvPlayer) | `Sucrose.Live.MpvPlayer.exe` | **libmpv** (native, via `Sucrose.Mpv.NET`) | Gif, Video |
+| [VlcPlayer](Engine-VlcPlayer) | `Sucrose.Live.VlcPlayer.exe` | **libVLC** (native, via LibVLCSharp.WPF) | Gif, Video |
 | [WebView](Engine-WebView) | `Sucrose.Live.WebView.exe` | **Microsoft Edge WebView2** (Chromium) | Gif, Url, Web, Video, YouTube |
 | [CefSharp](Engine-CefSharp) | `Sucrose.Live.CefSharp.exe` | **CEF / CefSharp** (Chromium Embedded, offscreen) | Gif, Url, Web, Video, YouTube |
 | [Nebula](Engine-Nebula) | `Sucrose.Live.Nebula.exe` | **WPF `MediaElement`** (Windows Media / DirectShow) | Video |
@@ -31,6 +32,7 @@
     :::mermaid
     flowchart LR
         Mpv["MpvPlayer"] --&amp;gt; Gif &amp;amp; Video

+        Vlc["VlcPlayer"] --&amp;gt; Gif &amp;amp; Video
         WV["WebView"] --&amp;gt; Gif &amp;amp; Url &amp;amp; Web &amp;amp; Video &amp;amp; YouTube
         Cef["CefSharp"] --&amp;gt; Gif &amp;amp; Url &amp;amp; Web &amp;amp; Video &amp;amp; YouTube
         Neb["Nebula"] --&amp;gt; Video
@@ -45,7 +47,7 @@
 The internal `EngineType` enum (`src/Shared/Sucrose.Shared.Dependency/Enum/EngineType.cs`) defines the canonical engine order, which is used as integer indices:

     :::csharp

-    internal enum EngineType { AuroraLive, NebulaLive, VexanaLive, XavierLive, WebViewLive, CefSharpLive, MpvPlayerLive }
+    internal enum EngineType { AuroraLive, NebulaLive, VexanaLive, XavierLive, WebViewLive, CefSharpLive, MpvPlayerLive, VlcPlayerLive }

 The six wallpaper types are defined in `WallpaperType.cs`:

@@ -58,10 +60,10 @@

 | Type | Allowed engines | Default |
 |---|---|---|
-| Gif (`GifEngineType`) | Vexana, Xavier, WebView, CefSharp, MpvPlayer | **MpvPlayer** |
+| 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 | **MpvPlayer** |
+| Video (`VideoEngineType`) | Nebula, WebView, CefSharp, MpvPlayer, VlcPlayer | **MpvPlayer** |
 | YouTube (`YouTubeEngineType`) | WebView, CefSharp | **CefSharp** |
 | Application (`ApplicationEngineType`) | Aurora (only) | **Aurora** |

@@ -82,6 +84,7 @@
 | 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 |
@@ -93,13 +96,14 @@


 - "Audio/System data" means the JavaScript audio-reactive and system-status APIs (`SucroseAudioData`, `SucroseProcessorData`, etc.). These are delivered **only for the Web type on WebView or CefSharp**. See [Create-Audio-API](Create-Audio-API) and [Create-System-API](Create-System-API).
 - MpvPlayer intentionally does **not** serve the YouTube type even though libmpv could — YouTube is routed only to the browser engines.
-- "Interactive" reflects which engines forward input: WebView, CefSharp, and Aurora reference `RawInput.Sharp`; MpvPlayer, Nebula, Vexana, and Xavier are non-interactive renderers.
+- "Interactive" reflects which engines forward input: WebView, CefSharp, and Aurora reference `RawInput.Sharp`; MpvPlayer, VlcPlayer, Nebula, Vexana, and Xavier are non-interactive renderers.

 ## Runtime requirement matrix

 | 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 | — |
@@ -116,6 +120,7 @@
 | 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 |
@@ -125,7 +130,7 @@
 ## Interactivity and data-API support


 - **Interactive engines:** WebView, CefSharp, Aurora (reference `RawInput.Sharp`; forward mouse/keyboard).
-- **Non-interactive renderers:** MpvPlayer, Nebula, Vexana, Xavier.
+- **Non-interactive renderers:** MpvPlayer, VlcPlayer, Nebula, Vexana, Xavier.
 - **Audio-reactive + system-status JS APIs:** Only the **Web** type on **WebView** or **CefSharp**. The engine flips `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](Create-Web-Architecture) and [IPC](IPC).

 ## Choosing an engine
@@ -133,6 +138,7 @@
 | If you want… | Use |
 |---|---|
 | The most format-robust video/GIF playback | [MpvPlayer](Engine-MpvPlayer) (default for Gif &amp;amp; Video) |
+| A self-contained video/GIF player as a libVLC-based alternative to libmpv | [VlcPlayer](Engine-VlcPlayer) |
 | Audio-reactive / system-data web wallpapers | [CefSharp](Engine-CefSharp) (default for Web) or [WebView](Engine-WebView) |
 | The most versatile browser engine across all browser types | [WebView](Engine-WebView) |
 | A lightweight video player without libmpv | [Nebula](Engine-Nebula) (relies on OS codecs) |
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bayram Emekli</dc:creator><pubDate>Sat, 04 Jul 2026 04:15:48 -0000</pubDate><guid>https://sourceforge.netd1bd92afeacdcb17b64589afd1b6a826f577c441</guid></item><item><title>Engine Comparison modified by Bayram Emekli</title><link>https://sourceforge.net/p/sucrose/wiki/Engine%2520Comparison/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -28,7 +28,17 @@
 | [Xavier](Engine-Xavier) | `Sucrose.Live.Xavier.exe` | **`Sucrose.XamlAnimatedGif`** (XAML attached behavior) | Gif |
 | [Aurora](Engine-Aurora) | `Sucrose.Live.Aurora.exe` | **External process embedding** (per monitor) | Application |

-&amp;gt; 🖼️ **Diagram needed:** A matrix/grid graphic mapping the six wallpaper types (rows) to the seven engines (columns), with cells marked "default" or "available".

+    :::mermaid
+    flowchart LR
+        Mpv["MpvPlayer"] --&amp;gt; Gif &amp;amp; Video
+        WV["WebView"] --&amp;gt; Gif &amp;amp; Url &amp;amp; Web &amp;amp; Video &amp;amp; YouTube
+        Cef["CefSharp"] --&amp;gt; Gif &amp;amp; Url &amp;amp; Web &amp;amp; Video &amp;amp; YouTube
+        Neb["Nebula"] --&amp;gt; Video
+        Vex["Vexana"] --&amp;gt; Gif
+        Xav["Xavier"] --&amp;gt; Gif
+        Aur["Aurora"] --&amp;gt; Application
+
+&amp;gt; Engine → types it can render. For a default/available cell grid see the [Full capability matrix](#full-capability-matrix) below.

 ## Engine enum order

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bayram Emekli</dc:creator><pubDate>Sat, 04 Jul 2026 04:15:43 -0000</pubDate><guid>https://sourceforge.netc697aca75be3f655c1c71ea9155eb9d87dd0aca4</guid></item><item><title>Engine Comparison modified by Bayram Emekli</title><link>https://sourceforge.net/p/sucrose/wiki/Engine%2520Comparison/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-engine-comparison"&gt;Engine Comparison&lt;/h1&gt;
&lt;p&gt;This page is a side-by-side matrix of Sucrose's &lt;strong&gt;seven render engines&lt;/strong&gt; — 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 &lt;strong&gt;Settings → Wallpaper&lt;/strong&gt; page. Each wallpaper has a &lt;strong&gt;type&lt;/strong&gt; (Gif, Url, Web, Video, YouTube, Application), and Sucrose maps that type to a configurable engine, launching the chosen &lt;code&gt;.exe&lt;/code&gt; as a child process behind the desktop icons.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Audience:&lt;/strong&gt; users and developers. For the conceptual overview and launch mechanics, see &lt;a href="./Engines-Overview"&gt;Engines-Overview&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="h-contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#the-seven-engines"&gt;The seven engines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#engine-enum-order"&gt;Engine enum order&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#type--allowed-engines"&gt;Type → allowed engines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#full-capability-matrix"&gt;Full capability matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#runtime-requirement-matrix"&gt;Runtime requirement matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#hardware-acceleration-behavior"&gt;Hardware acceleration behavior&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#interactivity-and-data-api-support"&gt;Interactivity and data-API support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#choosing-an-engine"&gt;Choosing an engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#see-also"&gt;See also&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-the-seven-engines"&gt;The seven engines&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Engine&lt;/th&gt;
&lt;th&gt;Assembly&lt;/th&gt;
&lt;th&gt;Underlying tech&lt;/th&gt;
&lt;th&gt;Renders&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-MpvPlayer"&gt;MpvPlayer&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.MpvPlayer.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;libmpv&lt;/strong&gt; (native, via &lt;code&gt;Sucrose.Mpv.NET&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Gif, Video&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-WebView"&gt;WebView&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.WebView.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Microsoft Edge WebView2&lt;/strong&gt; (Chromium)&lt;/td&gt;
&lt;td&gt;Gif, Url, Web, Video, YouTube&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-CefSharp"&gt;CefSharp&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.CefSharp.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CEF / CefSharp&lt;/strong&gt; (Chromium Embedded, offscreen)&lt;/td&gt;
&lt;td&gt;Gif, Url, Web, Video, YouTube&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-Nebula"&gt;Nebula&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.Nebula.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;WPF &lt;code&gt;MediaElement&lt;/code&gt;&lt;/strong&gt; (Windows Media / DirectShow)&lt;/td&gt;
&lt;td&gt;Video&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-Vexana"&gt;Vexana&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.Vexana.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;WPF image + in-house frame-by-frame GIF decode&lt;/td&gt;
&lt;td&gt;Gif&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-Xavier"&gt;Xavier&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.Xavier.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;code&gt;Sucrose.XamlAnimatedGif&lt;/code&gt;&lt;/strong&gt; (XAML attached behavior)&lt;/td&gt;
&lt;td&gt;Gif&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="./Engine-Aurora"&gt;Aurora&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Sucrose.Live.Aurora.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;External process embedding&lt;/strong&gt; (per monitor)&lt;/td&gt;
&lt;td&gt;Application&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;🖼️ &lt;strong&gt;Diagram needed:&lt;/strong&gt; A matrix/grid graphic mapping the six wallpaper types (rows) to the seven engines (columns), with cells marked "default" or "available".&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="h-engine-enum-order"&gt;Engine enum order&lt;/h2&gt;
&lt;p&gt;The internal &lt;code&gt;EngineType&lt;/code&gt; enum (&lt;code&gt;src/Shared/Sucrose.Shared.Dependency/Enum/EngineType.cs&lt;/code&gt;) defines the canonical engine order, which is used as integer indices:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;internal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;enum&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;EngineType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AuroraLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;NebulaLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VexanaLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;XavierLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WebViewLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CefSharpLive&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;MpvPlayerLive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The six wallpaper types are defined in &lt;code&gt;WallpaperType.cs&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;internal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;enum&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WallpaperType&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Gif&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Web&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Video&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;YouTube&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="h-type-allowed-engines"&gt;Type → allowed engines&lt;/h2&gt;
&lt;p&gt;Per-type allowed engines are sub-enums whose values alias back to &lt;code&gt;EngineType&lt;/code&gt;. The default for each type comes from &lt;code&gt;src/Shared/Sucrose.Shared.Space/Manage/Internal.cs&lt;/code&gt;:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Allowed engines&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gif (&lt;code&gt;GifEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Vexana, Xavier, WebView, CefSharp, MpvPlayer&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MpvPlayer&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Url (&lt;code&gt;UrlEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;WebView, CefSharp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CefSharp&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web (&lt;code&gt;WebEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;WebView, CefSharp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CefSharp&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Video (&lt;code&gt;VideoEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Nebula, WebView, CefSharp, MpvPlayer&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MpvPlayer&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;YouTube (&lt;code&gt;YouTubeEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;WebView, CefSharp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CefSharp&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Application (&lt;code&gt;ApplicationEngineType&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Aurora (only)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The defaults in source:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEUET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;UrlEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEUET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CefSharp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEWET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;WebEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEWET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CefSharp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEGET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GifEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEGET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MpvPlayer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEVET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;VideoEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEVET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MpvPlayer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEAET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ApplicationEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEAET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Aurora&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEYTET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;YouTubeEngine&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SSDEYTET&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CefSharp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You change these in Portal → &lt;strong&gt;Settings → Wallpaper&lt;/strong&gt; (see &lt;a href="./Choosing-Engines"&gt;Choosing-Engines&lt;/a&gt; and &lt;a href="./Settings-Wallpaper"&gt;Settings-Wallpaper&lt;/a&gt;). The combo boxes are &lt;strong&gt;GifPlayer&lt;/strong&gt; and &lt;strong&gt;VideoPlayer&lt;/strong&gt; in the Extensions area, and &lt;strong&gt;UrlPlayer&lt;/strong&gt;, &lt;strong&gt;WebPlayer&lt;/strong&gt;, &lt;strong&gt;YouTubePlayer&lt;/strong&gt;, &lt;strong&gt;ApplicationPlayer&lt;/strong&gt; in the Engines area; each writes the engine setting key (&lt;code&gt;Gif&lt;/code&gt;, &lt;code&gt;Url&lt;/code&gt;, &lt;code&gt;Web&lt;/code&gt;, &lt;code&gt;Video&lt;/code&gt;, &lt;code&gt;YouTube&lt;/code&gt;, &lt;code&gt;Application&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id="h-full-capability-matrix"&gt;Full capability matrix&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Engine&lt;/th&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Gif&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Url&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Web&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Video&lt;/th&gt;
&lt;th style="text-align: center;"&gt;YouTube&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Application&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Interactive&lt;/th&gt;
&lt;th style="text-align: center;"&gt;Audio/System data&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MpvPlayer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;libmpv&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebView&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Edge WebView2&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Yes&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Yes (Web only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CefSharp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CEF / CefSharp&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Yes&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Yes (Web only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Nebula&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;WPF MediaElement&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vexana&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;In-house GIF parser&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Xavier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;XamlAnimatedGif&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;td style="text-align: center;"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Process embedding&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;–&lt;/td&gt;
&lt;td style="text-align: center;"&gt;✔ (default)&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Input forwarded&lt;/td&gt;
&lt;td style="text-align: center;"&gt;Volume only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"Audio/System data" means the JavaScript audio-reactive and system-status APIs (&lt;code&gt;SucroseAudioData&lt;/code&gt;, &lt;code&gt;SucroseProcessorData&lt;/code&gt;, etc.). These are delivered &lt;strong&gt;only for the Web type on WebView or CefSharp&lt;/strong&gt;. See &lt;a href="./Create-Audio-API"&gt;Create-Audio-API&lt;/a&gt; and &lt;a href="./Create-System-API"&gt;Create-System-API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;MpvPlayer intentionally does &lt;strong&gt;not&lt;/strong&gt; serve the YouTube type even though libmpv could — YouTube is routed only to the browser engines.&lt;/li&gt;
&lt;li&gt;"Interactive" reflects which engines forward input: WebView, CefSharp, and Aurora reference &lt;code&gt;RawInput.Sharp&lt;/code&gt;; MpvPlayer, Nebula, Vexana, and Xavier are non-interactive renderers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-runtime-requirement-matrix"&gt;Runtime requirement matrix&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Engine&lt;/th&gt;
&lt;th&gt;Extra runtime requirement&lt;/th&gt;
&lt;th&gt;Auto-download offered?&lt;/th&gt;
&lt;th&gt;Min OS / version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MpvPlayer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ships its own &lt;code&gt;libmpv-{x86,x64,ARM64}.dll&lt;/code&gt; (no external install)&lt;/td&gt;
&lt;td&gt;n/a (bundled)&lt;/td&gt;
&lt;td&gt;Windows 10 1607 (Redstone 1) via &lt;code&gt;IsRedstone1&lt;/code&gt; check&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebView&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Edge &lt;strong&gt;WebView2 runtime ≥ 131.0.2903.70&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes (Continue / Download / Remember / Close)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CefSharp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;VC++ Redistributable ≥ 14.40.33816.0&lt;/strong&gt;; CEF native binaries shipped with engine&lt;/td&gt;
&lt;td&gt;Yes (Continue / Download / Remember / Close)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Nebula&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;OS media codecs (Media Foundation / DirectShow)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vexana&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None (pure managed WPF)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Xavier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None (pure managed WPF)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aurora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None beyond .NET + Skylark; the embedded app supplies its own&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All engines target &lt;code&gt;.NET 10.0-windows&lt;/code&gt; and ship for x86, x64, and ARM64. The .NET 10 runtime is bundled privately as &lt;code&gt;Sucrose.Runtime&lt;/code&gt; — no system .NET install is required. See &lt;a href="./System-Requirements"&gt;System-Requirements&lt;/a&gt; and &lt;a href="./Runtime-Dependencies"&gt;Runtime-Dependencies&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="h-hardware-acceleration-behavior"&gt;Hardware acceleration behavior&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;HardwareAcceleration&lt;/strong&gt; toggle (Settings → Wallpaper) maps to engine-specific flags:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Engine&lt;/th&gt;
&lt;th&gt;HardwareAcceleration ON&lt;/th&gt;
&lt;th&gt;HardwareAcceleration OFF&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MpvPlayer&lt;/td&gt;
&lt;td&gt;&lt;code&gt;hwdec=auto-safe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;hwdec=no&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebView&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--enable-gpu&lt;/code&gt; + &lt;code&gt;--enable-gpu-vsync&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--disable-gpu&lt;/code&gt; + &lt;code&gt;--disable-gpu-vsync&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CefSharp&lt;/td&gt;
&lt;td&gt;&lt;code&gt;enable-gpu=1&lt;/code&gt; + &lt;code&gt;enable-gpu-vsync=1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;disable-gpu=1&lt;/code&gt; + &lt;code&gt;disable-gpu-vsync=1&lt;/code&gt; (skipped on Germanium)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nebula / Vexana / Xavier / Aurora&lt;/td&gt;
&lt;td&gt;n/a (WPF/native handles it)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Stay Awake&lt;/strong&gt; applies across all engines via a 30-second &lt;code&gt;SetThreadExecutionState&lt;/code&gt; loop (ON → &lt;code&gt;ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED&lt;/code&gt;; OFF → &lt;code&gt;ES_CONTINUOUS&lt;/code&gt;); MpvPlayer additionally rewrites its &lt;code&gt;stop-screensaver&lt;/code&gt; config. See &lt;a href="./Performance-Rules"&gt;Performance-Rules&lt;/a&gt; and &lt;a href="./Choosing-Engines"&gt;Choosing-Engines&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="h-interactivity-and-data-api-support"&gt;Interactivity and data-API support&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interactive engines:&lt;/strong&gt; WebView, CefSharp, Aurora (reference &lt;code&gt;RawInput.Sharp&lt;/code&gt;; forward mouse/keyboard).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-interactive renderers:&lt;/strong&gt; MpvPlayer, Nebula, Vexana, Xavier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio-reactive + system-status JS APIs:&lt;/strong&gt; Only the &lt;strong&gt;Web&lt;/strong&gt; type on &lt;strong&gt;WebView&lt;/strong&gt; or &lt;strong&gt;CefSharp&lt;/strong&gt;. The engine flips &lt;code&gt;Backgroundog&lt;/code&gt;'s &lt;code&gt;AudioRequired = true&lt;/code&gt;, opens a communication channel (&lt;code&gt;CommunicationType&lt;/code&gt;: Pipe / Signal / Transmission), receives data from &lt;code&gt;Backgroundog&lt;/code&gt;, and calls &lt;code&gt;ExecuteScriptAsync&lt;/code&gt; with the theme's JS callbacks. Video/Gif/Application engines inject no system data (Aurora apps get volume only). See &lt;a href="./Create-Web-Architecture"&gt;Create-Web-Architecture&lt;/a&gt; and &lt;a href="./IPC"&gt;IPC&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-choosing-an-engine"&gt;Choosing an engine&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;If you want…&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;The most format-robust video/GIF playback&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-MpvPlayer"&gt;MpvPlayer&lt;/a&gt; (default for Gif &amp;amp; Video)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio-reactive / system-data web wallpapers&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-CefSharp"&gt;CefSharp&lt;/a&gt; (default for Web) or &lt;a href="./Engine-WebView"&gt;WebView&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The most versatile browser engine across all browser types&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-WebView"&gt;WebView&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A lightweight video player without libmpv&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-Nebula"&gt;Nebula&lt;/a&gt; (relies on OS codecs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A lightweight local-GIF player, no native runtime&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-Vexana"&gt;Vexana&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A GIF streamed from a remote URL, no native runtime&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-Xavier"&gt;Xavier&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;To run an app/game as the wallpaper&lt;/td&gt;
&lt;td&gt;&lt;a href="./Engine-Aurora"&gt;Aurora&lt;/a&gt; (Application only)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If a type is manually assigned to an engine that cannot render it, the engine's &lt;code&gt;Configure()&lt;/code&gt; switch hits &lt;code&gt;default → Close()&lt;/code&gt; and nothing shows — but the Portal only offers compatible engines per type, so this is a safeguard.&lt;/p&gt;
&lt;h2 id="h-see-also"&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="./Engines-Overview"&gt;Engines-Overview&lt;/a&gt; — selection and launch mechanics&lt;/li&gt;
&lt;li&gt;&lt;a href="./Choosing-Engines"&gt;Choosing-Engines&lt;/a&gt; — changing engines per type in Settings&lt;/li&gt;
&lt;li&gt;&lt;a href="./Settings-Wallpaper"&gt;Settings-Wallpaper&lt;/a&gt; — the per-type engine selectors&lt;/li&gt;
&lt;li&gt;&lt;a href="./Performance-Rules"&gt;Performance-Rules&lt;/a&gt; — Close/Pause/Resume behavior per engine&lt;/li&gt;
&lt;li&gt;&lt;a href="./Wallpaper-Types"&gt;Wallpaper-Types&lt;/a&gt; — the six types and their defaults&lt;/li&gt;
&lt;li&gt;&lt;a href="./Create-Web-Architecture"&gt;Create-Web-Architecture&lt;/a&gt; — how web wallpapers receive live data&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bayram Emekli</dc:creator><pubDate>Sat, 04 Jul 2026 04:15:26 -0000</pubDate><guid>https://sourceforge.nete29b3e5fadf5c2d93bd2aeb851b8621be76ed480</guid></item></channel></rss>