Repository navigation
Releases: lbgos/rift-s-linux
Release list
r33
Rift S tracking, Room View camera timing and Linux Desktop fixes.
Changes since r32:
- Stop repeated SLAM restarts during initial feature acquisition and keep live head orientation renderable while position is held. Bound the live Basalt camera queue to one frame.
- Stop publishing controller poses after 250 ms without a new accepted IMU sample. Publish validated battery percentages through SteamVR and the existing Settings UI; clear stale readings.
- Preserve head velocity for compositor prediction.
- Correct Room View capture ticks to SteamVR's raw clock. A roughly 317 ms clock mismatch was measured on the test machine; a scripted camera test reduced capture-pose error by 69%.
- Keep Linux Desktop available after SteamVR autolaunch and hide the broken duplicate Steam Desktop button while our working KWin tab exists. Restore the original visibility preference on exit.
- Use Valve-style Touch scroll bindings instead of sending joystick position directly as scroll input.
Built from merged main commit 920bfdd25bf0b2679fee7f215d7907578af34cb3, PR #9. Validation: native Arch and Steam Runtime SDK each passed 43/43 tests at this commit. Archive contents, bundled backends, resolved dependencies, glibc requirements and SHA256 checksums were verified, alongside live Desktop/autolaunch/lifecycle screenshots. Real camera delivery is still 30 fps with about 28.5 ms mean frame age; the fix changes timing metadata, not the physical camera rate. Perceived Room View lag and physical-controller scrolling need the next wearer check. The user confirmed the previous grey-screen fix and did not notice black edges in the latest trial.
Arch Linux and derivatives:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r33/rift-s-linux-bin-33-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-33-1-x86_64.pkg.tar.zstOther distributions with glibc 2.35 or newer:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r33/rift-s-linux-r33-x86_64.tar.xz
tar -xf rift-s-linux-r33-x86_64.tar.xz
./rift-s-linux-r33-x86_64/install.shClose SteamVR before installation. Settings needs WebKitGTK 4.1, e.g. libwebkit2gtk-4.1-0 on Debian/Ubuntu or webkit2gtk4.1 on Fedora. Install either Arch or universal builds, not both. Flatpak and Snap Steam are not supported. Existing r32 installations can run rifts-setup update after closing SteamVR.
The .tar.zst contains the Arch /usr payload. The -git package needs the separate included Basalt package; the -bin package and universal build bundle their tracking backend. Verify downloads with sha256sum -c SHA256SUMS.
r32
Prebuilt x86_64 build of main at 6a261ca.
Arch Linux and derivatives:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r32/rift-s-linux-bin-32-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-32-1-x86_64.pkg.tar.zstOther distributions with glibc 2.35 or newer (Ubuntu 22.04+, Debian 12+, Fedora 36+), installed into your home directory:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r32/rift-s-linux-r32-x86_64.tar.xz
tar -xf rift-s-linux-r32-x86_64.tar.xz
./rift-s-linux-r32-x86_64/install.shThe universal build needs no SteamVR launch option. install.sh asks for your password once for the udev rule. Settings needs WebKitGTK 4.1 (Debian/Ubuntu libwebkit2gtk-4.1-0, Fedora webkit2gtk4.1). install.sh --uninstall removes it. Don't install both builds at once. Flatpak and Snap Steam are not supported.
Changes since r31:
rifts-setup updateinstalls the latest release for your install type after checking it againstSHA256SUMS;--checkonly reports whether one exists. Close SteamVR first. The universal build runs it as~/.local/share/rift-s-linux/bin/rifts-setup update. This is the last release you install by hand.rifts-setup triagecollects machine facts (install type and release, SteamVR version, paths, logs) and starts your coding agent (Claude Code, Codex, Gemini CLI or opencode) with a support playbook. The agent asks what went wrong, reads the logs, looks for an existing fix and drafts an issue only with your approval.
rift-s-linux-r32-x86_64.tar.zst is the payload for the rift-s-linux-bin PKGBUILD in packaging/aur.
r31
Prebuilt x86_64 build of main at d157d0a.
Arch Linux and derivatives:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r31/rift-s-linux-bin-31-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-31-1-x86_64.pkg.tar.zstOther distributions with glibc 2.35 or newer (Ubuntu 22.04+, Debian 12+, Fedora 36+), installed into your home directory:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r31/rift-s-linux-r31-x86_64.tar.xz
tar -xf rift-s-linux-r31-x86_64.tar.xz
./rift-s-linux-r31-x86_64/install.shThe universal build needs no SteamVR launch option. install.sh asks for your password once for the udev rule. Settings needs WebKitGTK 4.1 (Debian/Ubuntu libwebkit2gtk-4.1-0, Fedora webkit2gtk4.1). install.sh --uninstall removes it. Don't install both builds at once. Flatpak and Snap Steam are not supported.
Changes since r30:
- First-time Room Setup works again. Without a saved room, the floor step showed no floor and drawing the boundary did nothing; the driver now gives SteamVR a starting calibration for the room universe.
- Fixed a Basalt memory leak: tracking timing stats grew for the whole session, roughly 60–145 MB per hour inside vrserver. The bundled Basalt carries the fix (
basalt-monado-rifts0.1.r544-2). - If
vrcompositor-launcherhasCAP_SYS_NICEwhile vrserver runs with a zero realtime time limit, the kernel kills the compositor right after start. vrserver.txt now names this and thesetcap -rfix. The driver no longer asks for realtime priority under that limit.
rift-s-linux-r31-x86_64.tar.zst is the payload for the rift-s-linux-bin PKGBUILD in packaging/aur.
r30
Prebuilt x86_64 build of main at b23b5e2.
Arch Linux and derivatives:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r30/rift-s-linux-bin-30-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-30-1-x86_64.pkg.tar.zstOther distributions with glibc 2.35 or newer (Ubuntu 22.04+, Debian 12+, Fedora 36+), installed into your home directory:
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r30/rift-s-linux-r30-x86_64.tar.xz
tar -xf rift-s-linux-r30-x86_64.tar.xz
./rift-s-linux-r30-x86_64/install.shThe universal build needs no SteamVR launch option. install.sh asks for your password once for the udev rule. Settings needs WebKitGTK 4.1 (Debian/Ubuntu libwebkit2gtk-4.1-0, Fedora webkit2gtk4.1). install.sh --uninstall removes it. Don't install both builds at once.
If Steam is running during the install, restart it once before starting SteamVR.
Changes since r29:
- Settings can pair a new or replacement Touch controller. Close SteamVR, open Pair controller, hold Menu + Y (left) or Oculus + B (right) until the light flashes, then select it. Existing pairings are kept. (#6)
- Universal build for non-Arch distributions.
- The Desktop overlay runs in its own systemd unit, so the registration service's memory limit no longer kills it.
rift-s-linux-r30-x86_64.tar.zst is the payload for the rift-s-linux-bin PKGBUILD in packaging/aur.
r29
Prebuilt x86_64 build of main at 41e1aab for Arch Linux.
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r29/rift-s-linux-bin-29-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-29-1-x86_64.pkg.tar.zstIf Steam is running during the install, restart it once before starting SteamVR.
The r28 package installed its files owned by the build user instead of root. After upgrading from r28, reset the owner once:
pacman -Qlq rift-s-linux-bin | sudo xargs -d '\n' chown -h root:rootChanges since r28:
- Package files are owned by root.
- SteamVR loads the Rift S driver again. Recent SteamVR runs inside the Steam Linux Runtime, where it cannot see the driver; the package now sets SteamVR's launch option to
vrmonitor.sh %command%so it runs on the host. Custom launch options are left alone. (#3) - First-time Room Setup gets a floor to adjust at the floor step instead of waiting for one. (#4)
- Quick Calibrate with the headset off your head no longer puts the floor at head height; the previous floor and boundary are kept. (#5)
- Camera timestamps recover from a bad first frame, and SteamVR asks for 80 Hz. (#2, thanks @ryaneford)
rift-s-linux-r29-x86_64.tar.zst is the payload for the rift-s-linux-bin PKGBUILD in packaging/aur.
r28
Prebuilt x86_64 build of main at d82b8cb for Arch Linux: Rift S SteamVR driver, Room Setup layer, tracking hold, Settings app, in-headset Desktop overlay and the patched Basalt library.
curl -LO https://github.com/lbgos/rift-s-linux/releases/download/r28/rift-s-linux-bin-28-1-x86_64.pkg.tar.zst
sudo pacman -U rift-s-linux-bin-28-1-x86_64.pkg.tar.zstrift-s-linux-r28-x86_64.tar.zst is the payload for the rift-s-linux-bin PKGBUILD in packaging/aur.