All notable changes to VirtualDisplayKit will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
While on 0.x, minor version bumps may include breaking API changes.
0.1.0 - 2026-04-16
Initial public release. Forked from Stengo/DeskPad (MIT-licensed) and extended into a Swift Package with the following capabilities:
VirtualDisplay— create and manage virtual displays via the privateCGVirtualDisplayAPIVirtualDisplayConfiguration— configurable resolution, refresh rate, HiDPI support, vendor/product identifiers, and preset configurations (.preset1080p,.preset4K,.presetSignage)DisplayStreamRenderer—CGDisplayStream-based frame delivery with bothIOSurfaceandCVPixelBufferoutput pathsDisplayRecorder— record virtual display content to H.264/HEVC MP4/MOV viaAVAssetWriter, with.standard,.highQuality, and.hevcHighEfficiencypresetsFrameOutputStream— emit encoded H.264/HEVC Annex-B or rawCVPixelBufferframes for RTMP streaming, OBS integration, or custom pipelines, viaVTCompressionSession; presets for.rtmpStreaming,.highQuality,.realtimeVirtualDisplayController— high-level facade combining display, recording, and streamingVirtualDisplayView(SwiftUI) andVirtualDisplayNSView(AppKit) for preview integrationMouseTracker— cursor position mapping between preview view and virtual display coordinate space- Demo app at
Virtual Display.xcodeprojdemonstrating all features - Examples for SwiftUI, AppKit, and digital signage use cases