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
2 changes: 1 addition & 1 deletion app/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.3.11
6.4.0
41 changes: 41 additions & 0 deletions docs/release-notes/6.4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
**This release adds a second window: a second picture from the same session, showing one host window or a whole extra display.**

## What changes

- **Second window.** A session can now carry two video streams. The main window works as before. The second picture opens in a window of its own, with the same connection and the same pairing. It shows one of two things:
- **A window on the host**, picked by its title. It follows the window if it moves.
- **A whole display** that the host makes, like an extra monitor. Windows dragged onto it in the main window show up in the second one.
- **A new "Second Window" section in Settings.** Turn on "Show a second window", then choose what to show, the resolution (720p to 4K), the frame rate (30 or 60), and which of your displays the second window opens on. The title and choices are saved, and starting a stream from the app tile now asks for the second window when the box is on.
- **Full screen on open, and F11.** The second window opens in full screen by default. F11 switches between full screen and a window. You can turn the default off in Settings.
- **Closing the second window stops only the second picture.** The main window keeps streaming, and a display the host made for it is removed.
- **Choose the display for the main window too** ("Stream window display" in Settings).
- **Command line:** `--second-window <title>`, `--second-window-source window|display`, `--second-window-resolution WxH`, `--second-window-fps N`, `--second-window-display N`, `--second-window-fullscreen` / `--no-second-window-fullscreen`, and `--window-display N`.
- **Mouse and focus.** The second window opens without taking focus. Its focus and pointer-leave events no longer reach the main window's mouse capture, so the pointer moves freely between the two windows.
- The README is rewritten for the second window, USB forwarding and the current settings.

## What the second window needs

- **An [ApolloVibe](https://github.com/vibesoftwarecoder/ApolloVibe) host** with `second_video_stream = enabled` (ApolloVibe PR 16). Stock Apollo and Sunshine do not support it. Against any other host the client drops the request and you get one window.
- **A whole display needs the console host**, the main desktop of the machine. A MultiSeat seat is a remote-desktop session and can only show a window. If you ask a seat for a display, you get one window.

## Who this affects

Nobody who leaves the second window off, which is the default. With it off, a stream behaves as before.

## Known limits

- The second window follows the mouse by absolute position only, with no relative mouse mode inside it.
- A host window that is not 16:9 shows black bars in the second picture.
- The first few seconds after connecting can show some mouse lag. It also happens with one stream, a little shorter, so it is not only this feature.
- Starting both streams takes a bit longer than starting one.

## How this was checked

- Tested by hand on one Windows client (a handheld with an AMD Radeon 890M, on ethernet) against an ApolloVibe console host, and a window stream in a remote-desktop session of the kind a MultiSeat seat uses.
- Window and display second pictures, clicks reaching the right window, placing each window on a chosen display, resolution and frame rate options, full screen on open, F11, saved settings, and closing the second window were all tried.
- The Windows and macOS builds both pass on `master`.
- **Not tested:** the macOS and Linux builds have never been run on those systems. Only the D3D11VA renderer ran in the tests. A host without the feature was checked by reading the code, not by streaming from one. A MultiSeat seat was not tested with the second window.

## Install

Download the asset for your platform from the release. Windows: unzip and run. macOS: open the DMG, drag to Applications — you'll likely see an "unidentified developer" prompt on first launch, which is expected.
Loading