SBMS complete the calculation rules for the default logical desktop topology relationship and the physical dimensions of the displays in the Windows multi-screen collaboration system.
光标边界和截图跨屏跟随逻辑屏幕布局;截图时自动定位到真实显示器,结束后恢复光标并过滤旧移动事件。
Cursor boundaries and screenshot navigation follow the logical display layout, with automatic handoff to physical displays and stable restoration that filters stale movement events.
## English
### Configuration profiles
- Quick Access now supports up to three named profiles. Create a profile from the current configuration, switch profiles, rename them, confirm deletion, or open the JSON storage directory from one menu.
- Switching profiles while mapping is running asks for confirmation, then safely stops the current mapping and restarts it with the selected profile.
- The Virtual display card now reports real background persistence activity as **Saving… / Saved**. All profiles remain safely stored in one JSON profile store.
## 中文
### 多配置支持
- Quick Access 现已支持最多三套具名配置:可从当前配置复制新建、切换、改名、二次确认删除,或打开 JSON 存储目录。
- 映射运行中切换配置时会先请求确认,然后安全停止当前映射,并使用所选配置重新启动。
- Virtual display 卡片现在会以 **Saving… / Saved** 显示真实的后台写入状态。所有配置仍安全保存在同一个 JSON 配置存储中。
SBMS 1.4.514 focuses on multi-output configuration, topology recovery, diagnostics, and release reliability.
- Reworks the tray control panel around per-output local-mirror and stream-only groups, with geometry, screen-size, streaming, and diagnostics pages.
- Adds up to three persistent configuration profiles with CLI import, export, activation, hot reload, and migration of existing `config-v2.json` settings.
- Adds rolling JSONL diagnostics linked to mapping sessions, including recent-error access from the tray.
- Automatically retries mappings after display disconnects, rearrangements, or Desktop Duplication topology loss, with manual restart available after recovery fails.
- Strengthens atomic multi-output startup, rollback, window migration, display restoration, elevated tray handoff, and scheduled-task compatibility.
- Creates SHA-256-verified rotating configuration snapshots before upgrades and aborts the upgrade if the backup cannot be completed safely.
- Locks Cargo dependencies in release builds, verifies application, driver, and installer signatures, and adds an explicit non-distributable `-Unsigned` packaging smoke path.
Validated with 175 Rust tests, 32 installer and Sunshine contract tests, clippy with warnings denied, and independent installer hash, signature, and product-version checks.
The installer and binaries use the project's local test-signing certificate. Windows must trust that certificate or have test-signing mode enabled.
SBMS 1.4.5 is a rollback release that restores the proven v1.4.4 interaction and runtime behavior while retaining the completed Windows permission fix.
- Removes the v1.5 adjustment-mode, cursor-capture, display-number, and cross-screen-guide prototype from the release line.
- Routes UI launches through the highest-privileged tray so mapping no longer crosses the session gate at medium integrity.
- Preserves upgrade compatibility with existing scheduled tasks.
- Ships signed application, driver, and installer artifacts.
Validated with 132 Rust tests, 18 installer contract tests, clippy with warnings denied, signature checks, and a local silent upgrade. No reboot was required.
## English
- Restores click-away dismissal for Quick Access: clicking outside hides the window back to the system tray.
- Keeps the tray-click toggle and Escape-to-hide behavior unchanged.
- Includes signed Windows installer, application binaries, and display driver.
## 中文
- 恢复快捷面板的点击外部区域收起功能:点击窗口外后自动隐藏回系统托盘。
- 保留托盘单击切换和 Escape 隐藏行为。
- Windows 安装器、应用程序和显示驱动均已签名。
SHA-256: `70BE1007FDEE25514099284890ED33228DD32D651F7B5FAD3AF157F0F891CF74`
## English
SBMS 1.4.3 is a focused tray and input-behavior follow-up.
- Removes the F8 mouse-capture release shortcut and its Quick Access/documentation hint.
- Keeps the Print Screen and Win+Shift+S capture-release safeguards.
- Simplifies Quick Access to explicit tray-toggle and Escape dismissal, eliminating focus polling and timing state.
- Adds a lightweight native tray health check that reuses the existing registration retry path when the notification-area icon disappears.
- Includes a signed x64 installer and SHA-256 checksum.
Windows must trust the driver's test-signing certificate or allow test-signed drivers before installing the virtual display driver.
Installer SHA-256: `F11B6BAEEFDA22AF8C2DF36C0D858C901D5EFB862E7D452E4147C533C919D5A8`
## 中文
SBMS 1.4.3 是一次聚焦托盘与输入行为的后续更新。
- 删除 F8 释放鼠标捕获的快捷键,以及 Quick Access 和文档中的对应提示。
- 保留 Print Screen 与 Win+Shift+S 的截图安全释放逻辑。
- Quick Access 改为仅由托盘切换或 Escape 关闭,删除焦点轮询和时序状态。
- 增加轻量原生托盘健康检查;通知区域图标消失时复用已有注册退避路径自动恢复。
- 提供已签名的 x64 安装器与 SHA-256 校验文件。
安装虚拟显示驱动前,Windows 必须信任驱动的测试签名证书,或允许测试签名驱动。
安装器 SHA-256:`F11B6BAEEFDA22AF8C2DF36C0D858C901D5EFB862E7D452E4147C533C919D5A8`
# SBMS 1.4.2
This release makes the Windows notification-area icon resilient across sign-in and Explorer restarts.
## Highlights
- Replaced Slint's tray wrapper with a small native Win32 tray host.
- Uses a hidden top-level tool window so `TaskbarCreated` broadcasts are received after Explorer recreates the notification area.
- Retries initial registration with bounded backoff, then keeps a low-frequency recovery loop.
- Applies `NOTIFYICON_VERSION_4` after every registration and validates callback icon IDs.
- Allows the elevated tray to receive the required Explorer callback messages through UIPI.
- Keeps Quick Access visible until it has actually acquired foreground focus, fixing the open-then-immediately-hide race.
- Preserves the existing status tooltip, left-click flyout, native context menu, single-instance task, and upgrade configuration.
- Adds focused diagnostics for registration, recovery, tray actions, foreground activation, and shutdown.
## 下载与安装
下载 `SBMS-Setup-1.4.2-x64.exe` 并覆盖安装即可。安装器、程序和驱动包均已签名。驱动使用测试签名证书;Windows 需要信任该驱动测试证书,或允许测试签名驱动。
## Integrity
`SBMS-Setup-1.4.2-x64.exe`
SHA-256: `66018428E43791D4B23F9244B7A8057382007F7FB4B73974AAF62783787356C4`
SBMS 1.4.1 expands multi-output mapping and makes large remote-stream batches more resilient.
- Up to sixteen independent mirror or stream-only outputs through the v7 session gate
- Managed Sunshine instances automatically use WGC when the projected Desktop Duplication process count exceeds four
- The WGC override is runtime-only; existing Sunshine and SBMS persistent configuration is not rewritten
- Dirty/move-rectangle GPU copies remain enabled for local mirror outputs
- Topology startup and removal timeouts scale from 15 seconds up to 31 seconds for larger plans
- Signed installer and SHA-256 checksum sidecar
SBMS 1.4.1 扩展了多输出映射能力,并改善大规模远程串流组的启动稳定性。
- Session Gate v7 支持最多十六组独立的本地镜像或纯串流输出
- 预计 Desktop Duplication 进程数超过四个时,托管 Sunshine 实例自动改用 WGC
- WGC 仅作为运行时启动参数,不改写 Sunshine 或 SBMS 的持久化配置
- 本地镜像继续保留 dirty/move rectangle GPU 增量复制
- 大型映射计划的拓扑启动与移除等待预算从 15 秒自适应增加到最多 31 秒
- 提供签名安装器及 SHA-256 校验文件
The included indirect-display driver is test-signed. Windows must trust the included test certificate or allow test-signed drivers before the driver can load.
安装包内的间接显示驱动使用测试证书签名。Windows 必须信任该测试证书或允许加载测试签名驱动。
SHA-256: `CA2A3BE0A1432805AE5CF65C9A027FC5F38B349636B09E0A7D80757F3EC5EDED`
SBMS 1.4.0 adds persistent multi-output mapping and a practical stream-only workflow.
- Up to eight independent mirror or stream-only outputs
- Full per-output persistence for targets, sizing, resolution, refresh rate, aspect ratio and orientation; existing single-output configuration migrates to Output 1
- Native portrait virtual modes instead of landscape modes plus Windows rotation
- A managed Sunshine instance for each stream-only output, with its LAN endpoint, Web panel and lifecycle cleanup
- Lower renderer and topology idle overhead, dirty-source GPU copies and cancellable startup
- Safer installer rollback and a SHA-256 checksum sidecar
SBMS 1.4.0 加入了可持久化的多输出映射和可直接使用的纯串流流程。
- 最多八组独立的本地镜像或纯串流输出
- 持久化每组目标、尺寸、分辨率、刷新率、宽高比和方向;旧单组配置自动迁移为 Output 1
- 原生竖屏虚拟模式,不再依赖横屏模式加 Windows 旋转
- 每个纯串流输出使用独立 Sunshine 实例,显示局域网连接地址,可打开网页面板,并随映射停止完成清理
- 降低渲染器和拓扑轮询空闲开销,启用 dirty-source GPU copy,并支持取消启动
- 改进安装器回滚并附带 SHA-256 校验文件
The included indirect-display driver is test-signed. Windows must trust the included test certificate or allow test-signed drivers before the driver can load.
安装包内的间接显示驱动使用测试证书签名。Windows 必须信任该测试证书或允许加载测试签名驱动。
SHA-256: `F8AC57DAA1871F9901446C25A49E04C13F613E04DD7B49216E95EC300EBFE9F9`
SBMS 1.2.0 is the first cleaned-up Rust release.
- GPU-only Desktop Duplication → D3D11 mirror path with area downscaling and subpixel-fringe reduction
- Dynamic virtual modes, reversible window migration, real-pointer mouse forwarding, and tray controls
- Lean v5 Rust ↔ IDD session gate with obsolete frame/stride protocol removed
- Installer upgrade, auto-start, uninstall, and old DriverStore package cleanup
- Simplified bilingual README and developer documentation
The Windows package is signed with a local test certificate. Windows must trust that certificate or allow test-signed drivers; this is not a Microsoft production-signed driver.
---
SBMS 1.2.0 是整理完成后的首个 Rust 正式版本。
- 纯 GPU 的 Desktop Duplication → D3D11 映射链路,包含面积缩放和彩边抑制
- 动态虚拟模式、可逆窗口迁移、真实指针鼠标转发和托盘控制
- 精简的 v5 Rust ↔ IDD 会话通道,移除旧帧传输和 stride 遗留
- 完整的安装升级、自启动、卸载和 DriverStore 旧包清理
- 重写精简双语 README,并收口开发文档
当前 Windows 安装包使用本地测试证书签名。系统需要信任该证书或允许测试签名驱动;它不是微软生产签名驱动。
SHA-256: `7701E3AB5E6F5102208520A1CAEE0F395C273EC08AB95A4A31B5CC43C0111D3F`
# 1.0.0
## Product changes
- Persists the selected physical display by stable DisplayConfig ID in
`%LOCALAPPDATA%\SBMS\config-v1.json`.
- Adds `sbms config path|show|set-target|clear-target|reset`; `sbms map` falls
back to the saved target when `--target` is omitted.
- Preserves malformed or unsupported configuration files and requires an
explicit reset before replacement.
- Publishes a pure Rust sizing API with explicit pixel geometry, physical
dimensions or diagonal, rotation, physical/integer scaling strategy,
alignment, and preferred refresh.
- Makes input forwarding consume the same `CoordinateTransform` used by future
rendering geometry.
- Keeps IddCx's default software cursor as the only pointer path. SBMS does not
draw a duplicate cursor.
## Boundary
- The sizing API calculates a planned virtual mode but does not yet change the
driver's fixed 3840x2160@240 mode.
- UI does not read or write configuration in this release.
- Touch, pen, absolute pointer, and runtime topology recovery remain absent.
## 2026-06-29.069-beta
- Removed the cumulative 5-recovery fuse from single native and multi-screen BETA topology/source recovery, so repeated Windows Settings layout or orientation edits no longer stop bridge recovery just because earlier recoveries succeeded in the same run.
- Kept recoverable native display/source exits on the existing restart/rebind path while leaving the virtual display host alive during BETA topology recovery.
- Added Issue #8 comments near the single-output and BETA recovery logic.
- Bumped the GUI and setup build labels to 2026-06-29.069-beta.
Fixes #8.