Polaris v1.4.2
Polaris v1.4.2 is the matched host release for Nova v1.4.2. It is a stability and diagnostics update: per-game encoder selection for capable clients, a Linux Vulkan Video crash fix at disconnect, and the gamescope session fixes that came out of the first SteamOS 3.8 field report.
A Nova v1.4.2 client can now choose the encoder backend for a single game from the list the host advertises. Auto is the only per-game choice that may fall back after its live probe; an explicit NVENC, VA-API, Vulkan, or software choice is strict and fails instead of silently switching, and the host default is restored when the session ends. Older clients keep the configured host default.
On SteamOS and Arch, gamescope ships with the cap_sys_nice file capability. A process that gains a file capability is not dumpable, so /proc/<pid>/exe and /proc/<pid>/fd become unreadable to the user that launched it, the ownership checks that prove which compositor owns the stream failed, and the teardown then killed a healthy compositor. The private nested compositor now starts with no_new_privs, so the capability is never granted to it and the checks pass. Desktop Game Mode keeps its capability and the system binary is untouched.
Existing v1.4.1 configuration and paired devices remain valid. 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.2/Polaris-fedora44-x86_64.rpm &&
sudo dnf install "./Polaris-fedora44-x86_64.rpm" &&
sudo -H polaris --setup-host &&
systemctl --user restart polarisArch Linux / CachyOS
wget --output-document=./Polaris-arch-x86_64.pkg.tar.zst https://github.com/papi-ux/polaris/releases/download/v1.4.2/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 polarisUbuntu 24.04
wget --output-document=./Polaris-ubuntu24.04-x86_64.deb https://github.com/papi-ux/polaris/releases/download/v1.4.2/Polaris-ubuntu24.04-x86_64.deb &&
sudo apt install ./Polaris-ubuntu24.04-x86_64.deb &&
sudo -H polaris --setup-host &&
systemctl --user restart polarisSteamOS 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.2/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 polarisBazzite 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
Encoding and streaming
- Advertises the encoder backends compiled into the host and accepts a per-session encoder request from a capable client: the host default, explicit Auto with a live probe and fallback, or a strict named backend that fails instead of switching. The request is bound to the deterministic launch envelope, reported in session status, and the host configuration is restored at teardown.
- Closes FFmpeg's codec-owned picture views before releasing the Vulkan converter and device resources, fixing a Linux Vulkan Video crash at client disconnect, and records bounded teardown phase markers for field verification.
- Keeps harmless low-latency LAN RTT jitter from reducing the Auto Safe bitrate, and keeps a clean Auto Safe recovery informational in Doctor while confirmed media loss still warns.
- Records bounded per-session evidence for encoded frames that exceed the four-block FEC protection envelope, without changing packetization or bitrate policy.
Launch reliability
- Makes machine-facing decimal parsing and formatting locale-independent across
/optimize, display planning, launch profiles, compositor arguments, and telemetry, and keeps GTK tray initialization from changing Polaris's numeric semantics. A host running under a comma-decimal locale could not launch before this. - Captures a labwc startup client's exit status and a bounded, redacted stderr tail when no private-session window appears, so a failed Flatpak or Heroic private-session launch leaves evidence instead of a guess.
Gamescope sessions on SteamOS, Arch, and manual installs
- Starts the private nested gamescope with
no_new_privs, keeping thecap_sys_nicefile capability from hiding the compositor's/procidentity from same-user ownership checks. Game Mode is untouched. - Runtime-masks the idle compositor unit only on hosts that have one, and repairs a leaked runtime mask on the idempotent stop path, so a standalone package no longer wedges every later launch with
inconsistent gamescope services idle=maskedafter one failed start. - Classifies the scripts/install layout, an idle compositor unit with the host XDG portal and no private portal unit, as
host-portalinstead of refusing it as inconsistent. That stack had been unable to start a nested session since 2026-08-27. - Skips the private portal rebind on hosts without a private portal unit instead of polling an absent bus for eight seconds on every launch and logging a warning that read like a failure.
- Resolves
polaris-gamescope-sessionbeside the Polaris binary before PATH, so a copy left under~/.local/binby an earlier manual install cannot shadow the packaged launcher, ships reference copies of the helper modules, and reports at launch when the launcher in use is shadowed or was installed from a different checkout.
Validation boundary
The SteamOS no_new_privs change was verified on the maintainer's NVIDIA host and by the field report's own measurements through a wrapper script, but it has not yet received physical SteamOS validation in packaged form; the reporter's retest on the stock gamescope binary is pending. The scripts/install host-portal mode is covered by the stop state machine harness and source contracts rather than a live manual-install host. The encoder selection contract passed the Retroid Pocket 6 Control smoke at 1920x1080, 120 FPS, HEVC with strict NVENC and no fallback, using the per-game encoder client that ships in Nova v1.4.2. Final publication still requires exact merge-SHA CI and signed package verification.
Official assets
Polaris-arch-x86_64.pkg.tar.zstPolaris-fedora44-x86_64.rpmPolaris-steamos3.8-x86_64.pkg.tar.zstPolaris-ubuntu24.04-x86_64.deb