Skip to content

Releases: BenTech2/silkscreen

Silkscreen 0.2.1

Choose a tag to compare

@BenTech2 BenTech2 released this 26 Oct 16:22

Silkscreen turns any computer, tablet or phone into a wireless monitor for another — made to keep great screens without a video input, like the original Surface Studio and Retina iMacs, out of e-waste. Free and open source, with no paid features, ever.

0.2.1 works with 0.2.0. The new full-colour option needs 0.2.1 on both computers.

New

  • Intel Macs (macOS 11 Big Sur and later), for example the 2014 and 2015 Retina 5K iMacs as displays. Hosting from an Intel Mac needs macOS 12.3+.
  • Full colour detail (4:4:4) in Stream options (or --full-color): every pixel keeps its own colour, so coloured text and thin lines stay sharp. Uses H.264 4:4:4 (software encoding on the host, so more CPU) or PyroWave.
  • Reconnects after sleep or a dropped link. A host notices a silent display within 8 seconds and keeps trying to reconnect; a display frees itself after 15 seconds; the same computer coming back takes over its old session straight away instead of being told the display is in use.
  • Clear version messages. If two computers' versions can't work together, the host's display list says Update this display or Update this computer (with a link to the downloads), and the display's waiting screen says which to update.
  • Start at login in display mode, full screen or in a window, as separate choices.

Fixed

  • Windows displays freezing on a still picture (often on a Surface over Wi-Fi): Skip ahead fired on normal Wi-Fi jitter, and a new frame could arrive without the window being told to draw it.
  • macOS: a self-built app can keep its Screen Recording and Accessibility permissions across updates (see Building in the README).

Downloads

System File
Windows 10/11 (x64) silkscreen-windows-x64.zip — not code-signed yet: choose More info → Run anyway if Windows warns
macOS 12.3+ (Apple Silicon) silkscreen-macos-arm64.zip
macOS 11+ (Intel) silkscreen-macos-intel.zip — display on macOS 11+, host on 12.3+; no PyroWave
Linux x86_64 silkscreen-linux-x86_64.tar.gz
Raspberry Pi 4/5 (64-bit) silkscreen-linux-aarch64.tar.gz
Android 11+ silkscreen-android.apk — installs as an update over 0.2.0

The Mac apps are not notarized: the first time, right-click Silkscreen and choose Open.

Licenses and credits for everything included: THIRD-PARTY-NOTICES.md and THIRD-PARTY-LICENSES.md (also inside each download).

Silkscreen 0.2.0

Choose a tag to compare

@BenTech2 BenTech2 released this 21 Oct 18:40

Silkscreen turns any computer, tablet or phone into a wireless monitor for another — made to keep great screens without a video input, like the original Surface Studio and Retina iMacs, out of e-waste. Free and open source, with no paid features, ever.

Every device needs this version: the connection protocol changed (version 3), so 0.2.0 can't talk to 0.1.0. Update the Android app too.

New

  • Several displays at once. Each display has Extend (its own virtual monitor) and Mirror (a copy of one of your screens). Mirrored displays share one capture and one encode.
  • Settings change live while connected — bitrate, codec, encoder and packet size switch instantly; source, resolution, size and refresh reconnect for a moment.
  • Better on Wi-Fi: Skip ahead after N ms on the display drops a backlog and jumps back to live; Frame rate limit on the host sends fewer frames.
  • System tray / menu bar icon and start at login (window, tray or straight into display mode). Both off unless you turn them on.
  • Everything is in the app now — every command-line option has a setting, and settings are remembered.
  • PyroWave (experimental): a GPU codec with sub-millisecond encode and decode for wired Ethernet. Needs an Apple Silicon Mac or a recent Vulkan GPU on both ends.
  • Hardware decoding can be switched mid-stream (Ctrl+Alt+Shift+H), and the debug overlay shows how far behind the picture is.

Fixed

  • macOS: the window could stay black; it no longer uses a full CPU core while hidden; proper Dock and menu bar icons.
  • Windows: starts on Intel graphics (uses Direct3D 12) and no longer fails to start when Smart App Control blocks the PyroWave library; writes a log to %APPDATA%\silkscreen\config\silkscreen.log.
  • Mirroring an existing screen on macOS no longer stretches it.

Downloads

System File
Windows 10/11 (x64) silkscreen-windows-x64.zip — not code-signed yet: choose More info → Run anyway if Windows warns
macOS 12.3+ (Apple Silicon) silkscreen-macos-arm64.zip
Linux x86_64 silkscreen-linux-x86_64.tar.gz
Raspberry Pi 4/5 (64-bit) silkscreen-linux-aarch64.tar.gz
Android 11+ silkscreen-android.apk — installs as an update over 0.1.0

The macOS and Linux files are built by GitHub after publishing and appear a few minutes (Raspberry Pi: up to about 40 minutes) later.

Licenses and credits for everything included: THIRD-PARTY-NOTICES.md and THIRD-PARTY-LICENSES.md (also inside each download).

Silkscreen 0.1.0

Silkscreen 0.1.0 Pre-release
Pre-release

Choose a tag to compare

@BenTech2 BenTech2 released this 21 Oct 01:52

First release of Silkscreen: use any Windows, macOS, Linux, Raspberry Pi or Android device as a wireless display for another computer — a real extended monitor at native resolution and 60 Hz, with touch, pen and keyboard, over Ethernet or Wi-Fi.

Downloads

System File
Windows 10/11 (x64) silkscreen-windows-x64.zip — unzip and run silkscreen.exe
macOS 12.3+ (Apple Silicon) silkscreen-macos-arm64.zip — unzip, run xattr -dr com.apple.quarantine silkscreen-macos-arm64, start silkscreen
Linux x86_64 silkscreen-linux-x86_64.tar.gz — glibc 2.36+ (Debian 12, Ubuntu 22.10, Fedora 37 or newer) with PipeWire
Raspberry Pi 4 / 5 (64-bit Raspberry Pi OS) silkscreen-linux-aarch64.tar.gz
Android 11+ silkscreen-android.apk (display only)

Desktop bundles include their own FFmpeg 8.1, so nothing else needs installing.

Highlights

  • Virtual monitors sized to the display: KWin (exact resolution and scale, no prompt), xdg-desktop-portal (GNOME and others), Parsec VDD or a dummy plug on Windows, CGVirtualDisplay on macOS
  • Hardware encode/decode: NVENC, AMF, QSV, VAAPI, VideoToolbox, Media Foundation, MediaCodec; HEVC by default
  • Low latency: zero-copy capture on Linux/macOS, no B-frames, ~1–4 ms receive-to-decoded on a LAN; panels above 4K stream at half resolution by default (--resolution full for native)
  • Input back to the host: multitouch, pen with pressure/tilt (Windows and Android), mouse, and keyboard
  • Pairing and encryption: 6-digit code (SPAKE2 + Noise), every video packet encrypted
  • App with discovery, pairing, Debug tab and overlay; keep-awake setting; hotkeys Ctrl+Alt+Shift+G (disconnect) / D (debug) / F (fullscreen), Ctrl/Cmd+Option+Shift on macOS

Status

  • Tested end to end: Linux (KDE) host → Windows (Surface Studio), Linux and Android (TCL tablet) displays.
  • Not yet run on real hardware: Windows and macOS as hosts, Raspberry Pi, macOS as a display.
  • Builds are unsigned: Windows SmartScreen and macOS Gatekeeper will warn the first time.