Stremio shell using WebView2/mpv, written in Rust
Find a file
Timothy Z. d61dfb9073
Some checks are pending
Continuous integration / test (push) Waiting to run
fix: keep crash-restart off the GUI message-pump thread
start() ended with rx.recv().unwrap(), so every caller blocked until
the server reported readiness. process_event runs on the NWG message
pump and is invoked when crash_notice fires; the modal_error_message
returns, start() is called, and the entire UI freezes for up to 60s
while the new stremio-runtime boots.

Return the readiness receiver from start() instead of consuming it.
build_partial keeps the synchronous wait for initial startup so the
WebView isn't attached against a not-yet-bound port. process_event
fires-and-forgets so the GUI keeps pumping; if the new runtime also
fails, the server thread will simply fire crash_notice again.

Closes #49
2026-05-11 17:33:19 +02:00
.github/workflows Fix checkout action 2026-03-10 12:13:52 +02:00
bin Us correct DLLs 2025-08-05 13:49:03 +03:00
bin-arm64 Arm64 installer 2025-12-18 12:40:50 +02:00
images Arm64 installer 2025-12-18 12:40:50 +02:00
mpv-arm64 Windows no ARM build 2025-11-12 18:02:41 +02:00
mpv-x64 Windows no ARM build 2025-11-12 18:02:41 +02:00
setup Arm64 installer 2025-12-18 12:40:50 +02:00
src fix: keep crash-restart off the GUI message-pump thread 2026-05-11 17:33:19 +02:00
.gitignore 64 bit build 2025-06-30 12:39:12 +03:00
build-arm64.ps1 Remove build thread arm64 2026-03-12 17:54:25 +02:00
build.ps1 Remove sign thread 2026-03-12 17:27:44 +02:00
build.rs Arm64 installer 2025-12-18 12:40:50 +02:00
Cargo.lock Version updated to v5.0.20 2026-03-23 14:18:20 +02:00
Cargo.toml Version updated to v5.0.21 2026-04-27 13:18:20 +03:00
generate_descriptor.js Multi architecture descriptors 2025-12-05 15:44:01 +02:00
libmpv-2_arm64.zip Windows no ARM build 2025-11-12 18:02:41 +02:00
libmpv-2_x64.zip Fix libmpv 2025-11-27 18:12:02 +02:00
README.md fix typo 2025-02-05 09:14:50 +02:00
rust-toolchain.toml Windows no ARM build 2025-11-12 18:02:41 +02:00
server.js update server to v4.20.17 2026-03-20 14:16:19 +02:00
stremiover.js Version check 2026-03-10 10:54:23 +02:00
upload.ps1 Better uploader 2026-02-05 13:48:58 +02:00

Stremio shell: new gen

A Windows-only shell using WebView2 and MPV

Goals:

  • Performance
  • Reliability
  • Easy to ship

In all three, this architecture excels the Qt-based shell: it is about 2-5x more efficient depending on the use case, as it allows MPV to render directly in the window through it's optimal video output rather than using libmpv to integrate with Qt.

This is due to Qt having a complex rendering pipeline involving ANGLE and multiple levels of composing and drawing to textures, which inhibits full HW acceleration.

Meanwhile in this setup MPV uses whichever pipeline it considers to be optimal (like the mpv desktop app), which is normally d3d11, allowing full HW acceleration.

For web rendering, we use the native WebView2, which is Chromium based but shipped as a part of Windows 10: therefore we do not need to ship our own "distribution" of Chromium.

Finally, this should be a lot more reliable as it uses a much simpler and more native overall architecture.