Skip to content

Silkscreen 0.2.0 - #1

Merged
BenTech2 merged 3 commits into
mainfrom
release-0.2.0
Oct 21, 2026
Merged

BenTech2 merged 3 commits into
mainfrom
release-0.2.0

Conversation

@BenTech2

Copy link
Copy Markdown
Owner

Several displays at once and mirroring, PyroWave (experimental), tray / start at login, live stream settings, Wi-Fi catch-up options, GUI for every CLI option, macOS fixes and icons, Windows fixes from the first Surface tests, and complete licensing and credits. See the two commit messages for details.

Protocol version 3: every device needs this release.

🤖 Generated with Claude Code

BenTech2 and others added 3 commits October 21, 2026 13:28
…ettings

Hosting
- Extend to several displays at once (each its own virtual monitor) or
  mirror a screen to many; mirrors share one capture and one encode, each
  display still gets its own encrypted stream. --connect and --mirror are
  repeatable.
- Stream settings apply live while connected: bitrate, codec, encoder and
  packet size switch in place; source, resolution, size and refresh
  reconnect briefly.
- Frame rate limit (--max-fps) for slow links; a full send queue drops a
  packet instead of ending the session.
- macOS: unique virtual display serials, existing-screen capture keeps its
  aspect ratio; virtual monitor creation is serialized on every OS.

Display
- Skip ahead when the picture falls behind (--skip-behind MS): measures
  queueing delay per frame, drains the backlog and resumes at a keyframe.
- Hardware decoding toggles mid-stream (Ctrl/Cmd+Alt/Option+Shift+H); the
  debug overlay shows the live decoder and how far behind the picture is.
- Waiting screen: app name, display name and a shortcut list.

App
- Every CLI option has a GUI equivalent; settings are saved in gui.json.
- Optional tray / menu bar icon (closing the window keeps Silkscreen
  running) and start at login (window, tray or display mode); both off by
  default. macOS menu bar template icon, Dock icon and icon on Apple's grid.
- Header bar redesigned; the log level can be raised from the Debug tab.
- Fixes: the macOS window drew nothing (font atlas dropped on the first
  frame); ~11k redraws/s while the window was hidden; Windows prefers
  Direct3D 12 (Intel Vulkan drivers crashed on device creation).
- Windows: log file in %APPDATA%\silkscreen\config, panic message box.

Codec
- PyroWave (experimental): GPU wavelet codec via Metal on macOS and Vulkan
  elsewhere, vendored as submodules (scripts/fetch-submodules.sh). The
  Vulkan library is loaded on first use and probed in a separate process,
  so a blocked DLL or a driver crash only disables PyroWave.
- Protocol version 3 (new codec): all devices need this release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- LICENSE-MIT and LICENSE-APACHE (the project was already MIT OR
  Apache-2.0 but had no license texts).
- THIRD-PARTY-NOTICES.md: FFmpeg (LGPL v3 in the Windows and Linux
  downloads, GPL v3 Homebrew build in the macOS app), PyroWave, Granite,
  volk, Vulkan-Headers, AndroidX/Compose, the Parsec VDD interface, fonts.
- THIRD-PARTY-LICENSES.md: every Rust crate's license, generated by
  cargo-about (scripts/third-party-licenses.sh); all of these ship in the
  downloads.
- README: Silkscreen exists to keep displays without video inputs (the
  original Surface Studio, Retina iMacs) out of e-waste, and will always be
  free and open source, with no paid features.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cmd read the '/' in a mixed-slash path with '..' as a switch, so linking
Granite into PyroWave failed on the Windows CI runner.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@BenTech2
BenTech2 merged commit b25cb7a into main Oct 21, 2026
8 checks passed
@BenTech2
BenTech2 deleted the release-0.2.0 branch October 21, 2026 18:37
BenTech2 added a commit that referenced this pull request Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant