github papi-ux/polaris v1.4.1

5 hours ago

Polaris v1.4.1

Polaris v1.4.1 is the matched host release for Nova v1.4.1. It focuses on smoother Linux streaming, safer ways to share a host, and clearer evidence when a capture or encoder path falls back.

The Linux build adds experimental Vulkan Video H.264 and HEVC encoding across DRM/KMS, wlroots, and Portal capture. Auto may prefer Vulkan on a compatible AMD private-stream route only after an exact live-frame probe, with VA-API retained as the fallback. NVIDIA remains on NVENC by default, Intel remains on VA-API, and an explicit Vulkan selection is strict rather than silently choosing a different encoder. AV1 remains unavailable on the Vulkan path.

Existing v1.4.0 configuration and paired devices remain valid. New pairings default to Game Control and show the host cursor; existing permission and cursor choices are unchanged. Steam Input remains manual and read-only.

Fedora 44

wget --output-document=./Polaris-fedora44-x86_64.rpm https://github.com/papi-ux/polaris/releases/download/v1.4.1/Polaris-fedora44-x86_64.rpm &&
sudo dnf install "./Polaris-fedora44-x86_64.rpm" &&
sudo -H polaris --setup-host &&
systemctl --user restart polaris

Arch Linux / CachyOS

wget --output-document=./Polaris-arch-x86_64.pkg.tar.zst https://github.com/papi-ux/polaris/releases/download/v1.4.1/Polaris-arch-x86_64.pkg.tar.zst &&
sudo pacman -U ./Polaris-arch-x86_64.pkg.tar.zst &&
sudo -H polaris --setup-host &&
systemctl --user restart polaris

Ubuntu 24.04

wget --output-document=./Polaris-ubuntu24.04-x86_64.deb https://github.com/papi-ux/polaris/releases/download/v1.4.1/Polaris-ubuntu24.04-x86_64.deb &&
sudo apt install ./Polaris-ubuntu24.04-x86_64.deb &&
sudo -H polaris --setup-host &&
systemctl --user restart polaris

SteamOS 3.8

Open a terminal in Desktop Mode and run this exact version-pinned command. It initializes the package keyring when needed and restores the read-only root before starting Polaris.

wget --output-document=./Polaris-steamos3.8-x86_64.pkg.tar.zst https://github.com/papi-ux/polaris/releases/download/v1.4.1/Polaris-steamos3.8-x86_64.pkg.tar.zst &&
(
set -e
trap 'sudo steamos-readonly enable' EXIT
sudo steamos-readonly disable || exit $?
sudo pacman-key --init || exit $?
sudo pacman-key --populate || exit $?
sudo pacman -Sy || exit $?
sudo pacman -U ./Polaris-steamos3.8-x86_64.pkg.tar.zst || exit $?
sudo -H polaris --setup-host || exit $?
sudo steamos-readonly enable || exit $?
trap - EXIT
) &&
systemctl --user enable --now polaris

Bazzite users should follow the exact-output Bazzite guide. SteamOS 3.8 users should follow the SteamOS guide, including its keyring bootstrap and read-only-root restoration. SteamOS remains experimental Desktop Mode support rather than certified Game Mode support.

Changes

Linux capture and encoding

  • Adds the experimental Vulkan Video encoder with low-latency CBR defaults, fenced asynchronous image ownership, and patched FFmpeg Vulkan teardown. H.264 and HEVC are enabled; AV1 remains disabled.
  • Supports explicit Vulkan on DRM/KMS, wlroots, and Portal. Auto promotes Vulkan only on a compatible AMD private stream with an exact live GPU-frame probe, and records the detected driver, policy, selected encoder, fallback, and reason in Doctor.
  • Keeps NVIDIA Auto on NVENC and Intel Auto on VA-API. AMD desktop routes remain on VA-API until they have the same live-frame retirement contract as the private route.
  • Makes KMS report the real capture transport, frame residency, format, and cursor-composition path. The host cursor defaults on for new installs so DRM/KMS streams retain a pointer, while an explicit off setting remains respected.
  • Names the exact selected wlroots connector even when its description is blank, and refuses to fall back from a requested virtual output to a physical monitor.
  • Defers frame-pacing verdicts until six complete video telemetry windows and two consecutive warnings exist, preventing startup and encoder probes from becoming a false Doctor warning.

Guest access and desktop workflows

  • Adds memory-only guest pairing to QR and Manual PIN flows. A temporary_authorization is never written to the durable device database and is revoked after its final stream disconnect or a Polaris restart.
  • Locks the access and lifetime controls while an OTP is live so the visible choice always matches the issued pairing credential.
  • Adds Hyprland Desktop Takeover: Polaris creates a client-sized virtual output, moves the live workspaces to it, powers down the original displays, and restores the exact prior layout before removing the virtual output.
  • Serializes Desktop Takeover timeout and start-failure cleanup against replacement launch and RTSP setup, preventing stale teardown from restoring over a newer session.
  • Defaults newly paired Moonlight-compatible clients to Game Control. Existing device permissions are not broadened.

Doctor, console, and game library

  • Exposes encoder-selection evidence to Doctor and Nova Play Setup without letting AI, history, or an informational live_bitrate_control capability warning change deterministic launch behavior.
  • Preserves a healthy ok / info / green Doctor verdict for capability-only Watch evidence, while partial verdict envelopes and contradictory hard failures still fail closed.
  • Grades encoder time against the active stream's real FPS budget, stops recommending the same GPU-native mode after its live probe already fell back, and tells an AMD Private Stream explicitly pinned to VA-API when Auto can live-probe Vulkan with a safe VA-API fallback.
  • Treats a missing managed-window observation as inconclusive for fullscreen and XWayland apps instead of asserting that a working private stream is empty or that the game rendered on the host desktop.
  • Preserves write-only API keys during ordinary Settings saves, separates first install from upgrade sign-in, and gives the main console surfaces consistent read-only status and action language.
  • Launches imported Flatpak Heroic titles through the visible launcher protocol and carries Heroic's recorded platform and Wine or Proton runtime into each imported GOG or Epic title.
  • Publishes a single Heroic launcher entry after the first successful Heroic import, using the native or Flatpak command found on that host so players can install games and repair logins from a stream.
  • Verifies the dedicated Linux seat marker on every virtual keyboard, mouse, touch, and pen device, and warns when client input isolation did not actually take effect.
  • Updates the web build lockfile to patched @humanfs/node and postcss-selector-parser releases; the release candidate reports a clean npm audit.

Validation boundary

The experimental Vulkan implementation has not received physical AMD-host validation for this release candidate. Its automatic route remains limited to the live-probed AMD private-stream case with VA-API fallback, and explicit Vulkan remains opt-in. The candidate passed independent review and the approved NVIDIA host plus Retroid Pocket 6 Control smoke with Nova v1.4.1. Final publication still requires exact merge-SHA CI and signed package verification.

Official assets

  • Polaris-arch-x86_64.pkg.tar.zst
  • Polaris-fedora44-x86_64.rpm
  • Polaris-steamos3.8-x86_64.pkg.tar.zst
  • Polaris-ubuntu24.04-x86_64.deb

Don't miss a new polaris release

NewReleases is sending notifications on new releases.