Skip to content

Releases: julianmb/OpenWinSidecar

OpenWinSidecar 0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:48

Streaming & latency

  • Stream settings (display, FPS, quality, codec, color depth, zoom) moved from the
    iPad viewer to the desktop dashboard; the viewer keeps only iPad-local controls.
    Default is now 60 FPS across the stack.
  • Glass-to-glass latency halved: ~150 ms with spikes to 1.4 s → 65 ms flat,
    verified over a 6-hour soak (360 samples, avg 65 / p95 69 / max 76 ms, zero
    encoder restarts, zero decode errors). Fixes: encoder keep-alive during idle
    (prevents the 75–440 ms QSV wake-up stall), 3-second calm-upgrade hysteresis,
    and the AU flush backstop cut from 33 ms to 8 ms.
  • Log flood fix: parser diagnostics flush per 5 s window instead of per frame.

Dashboard UI

  • Display status card distinguishes Driver disabled / Driver error / Not installed
    from plain Off, each with the exact fix as the button label.
  • Stream controls split into Stream Encoding and Virtual Display groups; QR code
    enlarged; maintenance section compressed to one collapsed row (redundant
    Start/Stop service and Clean stale buttons removed — Turn on/off and the
    automatic stale-client sweep cover them).
  • Copy button now flashes "Copied ✓"; noisy HEVC/Hub diagnostics hidden from the
    inline log preview.

Robustness

  • Zombie clients no longer linger: input-loop exit cancels the session, a 60 s
    stale-activity sweep evicts dead connections, and TCP keepalive (15s/5s) is set
    on accepted sockets.

Maintenance

  • Repository slimmed from 68 MB to 1.1 MB: the 163 MB bundled VDD control
    executable and a 68 MB zip were purged from git history (uninstaller never
    shipped them; the installer already excluded both).
  • Orphaned Apple USB detection code removed (feature parked; the registry
    setting round-trips untouched for older installs).

Validation: 121 .NET tests, 2-hour soak on the release commit, silent-install
smoke test in CI.


Verify your download

The installer is not code-signed yet, so SmartScreen may show "Windows protected your PC" — choose More info → Run anyway after checking the hash:

SHA-256: 2834b5bd0e705162c7608e77bba3c588c11c412f95d68a31c5473b2f36a41801

Verify in PowerShell:

Get-FileHash .\OpenWinSidecar-Setup-0.2.0.exe -Algorithm SHA256

OpenWinSidecar 0.1.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 00:29

Three winget-validation failures taught us what a clean, silent, GPU-less machine does to an
installer built on one dev box. This release makes the Windows installer survive all of it.

Fixed

  • Ghost virtual monitors eliminated. devcon install unconditionally creates a new
    device node, so reinstalls stacked up ROOT\DISPLAY\0001, 0002, … (Settings showed extra
    gray display tiles). Node creation now runs only when no virtual display exists, and
    uninstall removes all instances + the DriverStore package (previously only 0000).
  • Silent installs never hang. Two headless-VM hang sources removed: the FFmpeg-missing
    MsgBox (silent installs now log; interactive keeps the prompt) and the driver operations
    themselves — in silent installs pnputil staging and devcon node creation run
    fire-and-forget, so setup terminates even where an IddCx driver can never start.
    Verified: silent install wall time 12.3 s, virtual display appears ~2 s later.
  • FFmpeg made a real dependency. The installer detects FFmpeg like the runtime and
    installs Gyan.FFmpeg via winget when missing (interactive); winget installs declare it
    as a package dependency. No FFmpeg at all still works — the app degrades to JPEG and
    tells you exactly what to install.

Added

  • One-click FFmpeg fix in the dashboard: if FFmpeg is missing, the app shows a warning
    banner with an Install FFmpeg button (background winget install, auto re-resolve — no
    restart needed).

Notes

  • The installer is not code-signed; the release notes carry the SHA-256 to verify your
    download. winget install --id julianmb.OpenWinSidecar is pending Microsoft review.

Verify your download

The installer is not code-signed yet, so SmartScreen may show "Windows protected your PC" — choose More info → Run anyway after checking the hash:

SHA-256: b2256a648c362c867fc2af9c8c64ef40840a644b27a35b8002040987a0c2a200

Verify in PowerShell:

Get-FileHash .OpenWinSidecar-Setup-0.1.1.exe -Algorithm SHA256

OpenWinSidecar v0.1

Choose a tag to compare

@julianmb julianmb released this 12 Sep 04:06

OpenWinSidecar v0.1 — first public release.

Turn an iPad into a real extra monitor for Windows: an IddCx virtual display, hardware HEVC end-to-end (Intel Quick Sync → WebCodecs), touch/keyboard/gesture input, and live Windows DPI control — straight from Safari, no client app, no subscription.

Install

  1. Download OpenWinSidecar-Setup-0.1.0.exe below and run it (administrator).
  2. The installer registers the virtual display driver (creating the real extra monitor), installs FFmpeg (Gyan.FFmpeg) via winget if none is present, and adds a private-network firewall rule.
  3. Launch OpenWinSidecar, then on the iPad open http://<your-pc-ip>:8080 in Safari → Share → Add to Home Screen.

winget install --id julianmb.OpenWinSidecar will work once the winget-pkgs submission is approved.

Requirements

  • Windows 10/11 (x64). Intel Quick Sync is used for hardware HEVC; NVIDIA NVENC / AMD AMF profiles are auto-probed when QSV is unavailable.
  • FFmpeg is installed automatically at setup time; without it the stream degrades to JPEG (the app logs the install command).

Notes

  • Verified installer flow: driver device-node creation on clean machines, vdd_settings.xml deployment with automatic backup, and clean uninstall (device node, DriverStore package, firewall rule).
  • See CHANGELOG.md for the full engineering log.

Verify your download

The installer is not code-signed yet, so SmartScreen may show "Windows protected your PC" — choose More info → Run anyway after checking the hash:

SHA-256: 6e2aa1506c43cdc2420877b6d1ef587ba97f047cfc0a981fb7aa94b247034beb

Verify in PowerShell:

Get-FileHash .OpenWinSidecar-Setup-0.1.0.exe -Algorithm SHA256

The same value is recorded in this release's winget manifest (julianmb.OpenWinSidecar), and the build history is documented in the CHANGELOG.