Skip to content

Install on Fedora 44

Fedora 44 is one of the two recommended Polaris package paths, and the official Polaris-fedora44-x86_64.rpm asset ships with every release. Fedora 44 is the only Fedora release with a published package; earlier Fedora versions should build from source.

For an atomic Fedora derivative such as Bazzite, do not follow this page directly — layer the same RPM with rpm-ostree using the Bazzite guide instead.

Terminal window
wget --output-document=./Polaris-fedora44-x86_64.rpm https://github.com/papi-ux/polaris/releases/latest/download/Polaris-fedora44-x86_64.rpm &&
sudo dnf install ./Polaris-fedora44-x86_64.rpm &&
sudo -H polaris --setup-host &&
polaris

The package installs the host binary, the web console assets, desktop metadata, and the user service file. Host integration stays explicit: --setup-host is a separate step you run yourself.

Fresh install: open https://localhost:47990/#/welcome, create your web UI account, and pair a client.

Upgrade or reinstall: open https://localhost:47990/#/login and use the existing account. Fedora package operations preserve credentials, pairing keys, settings, and the library under ~/.config/polaris; removing the RPM does not reset the web account. If needed, follow the credential reset instead of returning to Welcome.

It installs the udev rules and modules-load configuration that make virtual input work, and reports anything it could not complete. It does not silently take privileges you did not ask for.

[!WARNING] Only add --enable-kms when you actually need DRM/KMS capture: sudo -H polaris --setup-host --enable-kms grants cap_sys_admin. Polaris works without it on the default compositor and Headless Stream paths.

If you ran --setup-host on a version before v1.3.5, a copy of the udev rules may still sit in /etc/udev/rules.d/60-polaris.rules and override the packaged file. Host setup keeps it and warns rather than deleting something it cannot prove is disposable; see Troubleshooting for the check and the removal.

Terminal window
systemctl --user enable --now polaris

Polaris runs as a user service, so it starts with your graphical session and has access to it. Check status with systemctl --user status polaris.

The application menu entry starts this same service, so opening Polaris from the desktop and autostart never run two copies. Quitting from the tray stops it; the menu entry, the next login, or systemctl --user start polaris brings it back. For a host that boots with no desktop at all, see Headless Boot.

Confirm the recommended Linux configuration in the first-run wizard or ~/.config/polaris/polaris.conf:

headless_mode = enabled
linux_use_cage_compositor = enabled
linux_prefer_gpu_native_capture = enabled

Then start a game and read the active runtime, capture path, and encoder in Mission Control. See Runtime and streaming model for what each value means, and Configuration for the full setting reference.

With the package repository added once, an upgrade is one command:

Terminal window
sudo dnf upgrade polaris &&
sudo -H polaris --setup-host &&
systemctl --user restart polaris

Without the repository, install the newer RPM the same way. dnf replaces the package in place, and your configuration, pairing keys, and library stay in ~/.config/polaris.

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

Re-running --setup-host after an upgrade is how packaged udev rules and module configuration get refreshed.

After the restart, return to https://localhost:47990/#/login with the existing web credentials.

Terminal window
systemctl --user disable --now polaris
sudo dnf remove polaris

Package-owned udev rules and modules-load configuration are removed with the package. Your host configuration in ~/.config/polaris is left alone; delete it yourself if you want a clean slate.

For a clean slate, or to remove what the package leaves behind, see Uninstall Polaris, or start over.

NVIDIA with NVENC is the most validated path. AMD and Intel Mesa VAAPI are supported and use the same Headless Stream flow, with the real capture path reported in Mission Control rather than assumed. See Compatibility for the current status of each combination.