Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions docs/release-notes/0.6.26.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
**This release adds an option to turn on ApolloVibe's second video stream for seats, and fixes a misleading error in the optional USB driver install.**

## What changes

- **A new option, `MultiSeat:SecondVideoStream` (off by default).** When it is `true`, every seat's Apollo is written with `second_video_stream = enabled`, so a MoonlightVibe client can ask for a second picture of a window in that seat. When it is `false`, the config says `disabled`. The seat config is rewritten each time a seat is provisioned, so the setting follows the option after the next provision. Set it in `appsettings.local.json`, then restart the service.
- **A seat can show a window, not a whole display.** A seat is a remote-desktop session, and Windows will not add a virtual monitor to one. If a client asks a seat for a display, it gets one stream. A display works on the console host, which needs no MultiSeat setting.
- **The USB driver signature check now works when Windows PowerShell is started from PowerShell 7** (#141, refs #140). PowerShell 7's module folders came first in the module path, so `Get-AuthenticodeSignature` returned nothing and the check reported `signature status is ''` for a genuine Microsoft-signed file. The check now loads the right module first, and an unreadable signature is reported as unreadable. Nothing is relaxed: a file is still accepted only with a valid signature, the exact signer and the pinned root.
- **The README** covers the second screen, a corrected port table, and a split troubleshooting entry.

## Who this affects

- **Everyone who leaves `SecondVideoStream` off**, which is the default, sees no change to their seats.
- **Anyone who runs the optional USB driver step from a PowerShell 7 session.** Before, a genuine driver could be refused with the wrong reason.

## What the second stream needs

- An ApolloVibe build from `v2026.6.1-ms8` or newer. MultiSeat's installer fetches the latest release, so a new install has it.
- MoonlightVibe 6.4.0 or newer on the client, with "Show a second window" turned on.

## How this was checked

- **The seat option:** seven new unit tests cover the written config line for each setting, and the setting following the option on the next provision. The CI run on `master` passed.
- **On the reference host:** the Gaming seat was re-provisioned with the option on. Its Apollo log read `second_video_stream = enabled`.
- **The USB fix:** reproduced on a real host with PowerShell 7's path first, then fixed. The new test fails when the fix is removed.

## Not verified

- **A second window from a real seat** was not tried. A window stream ran in a remote-desktop session like a seat's on a scratch host, and a display stream ran on the console host.
- **The USB fix on a CI runner.** It is not known whether the one timeout in #140 came from this cause.
- **The full test suite** for the USB change was not run locally. It ran in CI.

## Install

```powershell
.\scripts\install-service.ps1 -FromZip .\multiseat-windows-x64.zip
```

If an isolated Steam is running, the installer stops without changing anything; close Steam first, then run it again. Afterwards, confirm what landed:

```powershell
& 'C:\Program Files\MultiSeat\MultiSeat.Service.exe' --config
```

It should report `0.6.26`.
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6.25
0.6.26
Loading