Repository navigation
Releases: julianmb/OpenWinSidecar
Release list
OpenWinSidecar 0.2.0
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
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 installunconditionally creates a new
device node, so reinstalls stacked upROOT\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
installsGyan.FFmpegvia 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.OpenWinSidecaris 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 SHA256OpenWinSidecar v0.1
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
- Download OpenWinSidecar-Setup-0.1.0.exe below and run it (administrator).
- 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. - Launch OpenWinSidecar, then on the iPad open
http://<your-pc-ip>:8080in 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.xmldeployment 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 SHA256The same value is recorded in this release's winget manifest (julianmb.OpenWinSidecar), and the build history is documented in the CHANGELOG.