Skip to content

RiftLinux 0.1.4

Pre-release
Pre-release

Choose a tag to compare

@AIIX AIIX released this 02 Nov 09:36

RiftLinux is a modified Monado, specialized for full Oculus Rift CV1 support: the headset, its Constellation sensors
and its Touch controllers on Linux, in SteamVR and in OpenXR applications, from one package. No Windows, no Oculus
software, no Meta account.

This pre-release fixes problems reported on 0.1.3: SteamVR crashing at its start on some NVIDIA systems, SteamVR
starting when nobody picked the headset up, SteamVR starting whenever Steam starts with some Proton builds, and SteamVR
Home not opening again. 0.1.3 stays the current release until these fixes are confirmed on more systems: reports are
very welcome.

Fixed

  • SteamVR no longer crashes at its start when the desktop offers no headset display (NVIDIA, Wayland). When KDE or
    GNOME did not offer the headset's display (for example while another program still held the headset), RiftLinux
    tried NVIDIA's X11 direct mode next, and that probe crashed SteamVR's server. SteamVR then blocked the driver, and
    every start ended with error 301 (#3). In a Wayland session RiftLinux no
    longer tries that mode (through XWayland it could only take a display the desktop offers anyway), and a display
    without a name can no longer crash the probe. When the display cannot be taken, SteamVR's own compositor takes over
    and SteamVR keeps running.
  • Knocks and movement no longer start SteamVR. Picking the headset up starts SteamVR only when the headset is
    turned well away from where it lay, as on its way to a face; a knock on the table, a nudge or someone moving on the
    bed it lies on does not. With movement left out of wearing (riftlinux-setup wear-sensor motion off, the wear sensor
    alone), only putting the headset on starts SteamVR. riftlinux-setup autostart trigger put-on|pick-up|default sets
    it either way.
  • SteamVR started by Steam's graphics driver check quits again. As Steam starts, it runs a graphics driver check
    through a Proton build; with some builds (seen with GE-Proton) that check's OpenXR test starts SteamVR for nobody.
    The driver now recognises that start and quits SteamVR again unless the headset is put on or a game starts.
    riftlinux-setup check says whether it happens and through which Proton.
  • SteamVR Home opens again after a SteamVR Home was left running. A SteamVR Home that stayed after SteamVR quit
    (seen on KDE after Steam was started with -pipewire) kept every later Home from starting. The part of the driver
    that runs in Steam now ends it once SteamVR has gone; riftlinux-setup check reports one.
  • RiftLinux's own runtime: the Rift panel says when HDR content is on screen, as it does in SteamVR (the line
    under HDR Bright).

New

  • Frosted glass for native OpenXR applications. A quad or cylinder layer can ask for what is behind it (other
    layers, other applications' included) to be blurred, with tint and saturation, for translucent panels:
    XrCompositionLayerBackdropBlurMNDX, extension XR_MNDX_composition_layer_backdrop_blur (provisional; header in
    src/external/openxr_includes/openxr/). Only layers that ask are touched; everything else is composed as before.
    riftlinux-setup backdrop-blur off switches it off.

Tested on

  • CachyOS (KDE Plasma 6.8.2, Wayland) with NVIDIA 615:
    • The headset on a bed, picking up allowed: knocks and moving on the bed did not start SteamVR; picking the headset
      up did, and SteamVR quit by itself when the headset was not put on.
    • A stand-in for Steam's graphics driver check started SteamVR: the driver recognised it and SteamVR quit by itself.
    • A SteamVR Home left running without SteamVR was ended by the part of the driver that runs in Steam.
    • RiftLinux's own runtime: an application showing HDR video turned the Rift panel's HDR line on.
    • Frosted glass: with a test application's translucent panel, only what was behind the panel was blurred, its
      rounded corners stayed sharp, and the panel's output without the blur was byte-identical to the previous build's.
  • The NVIDIA crash fix was not tested on an affected machine (none here shows the failure); the reporter's logs place
    the crash in the probe this release no longer runs under Wayland.
  • The packages are installed and checked in clean Ubuntu 22.04, 24.04 and 26.04, Debian 12 and 13, Fedora 43 and 44,
    and Arch systems.
  • Not tested here: AMD and Intel graphics for this release's changes.
  • x86-64 computers only.

Install

Download the package for your distribution and SHA256SUMS below, check them with
sha256sum --ignore-missing -c SHA256SUMS, and install (an upgrade from an earlier version is the same command):

sudo apt install ./riftlinux_0.1.4_amd64.deb                  # Debian, Ubuntu, Linux Mint, Pop!_OS
sudo pacman -U riftlinux-0.1.4-1-x86_64.pkg.tar.zst           # Arch, CachyOS, EndeavourOS, Manjaro
sudo dnf install ./riftlinux-0.1.4-1.x86_64.rpm               # Fedora
tar xf riftlinux-0.1.4-x86_64.tar.gz && sudo ./riftlinux-0.1.4-x86_64/install.sh   # any other distribution

Then restart Steam once (Steam, Exit, and start it again): it loads the part that starts SteamVR as it starts, and an
update's version only after a restart. The user guide
walks through the first start; the README has the settings and the comparison with other options.

Known issues

  • A VR game started from Steam while SteamVR is not running opens on the monitor: Steam on Linux does not start
    SteamVR for it. Put the headset on first (SteamVR then starts), or start SteamVR from Steam, then the game.
  • Steam's client can crash when a flat (non-VR) game opens a window while SteamVR runs: a Valve bug, not this driver
    (SteamVR for Linux #963: the same crash, reported for the Desktop tab).
  • SteamVR's compositor can crash as SteamVR quits, after the session has ended: harmless, and SteamVR's own exit code
    (SteamVR for Linux #990: the same crash with Valve's own streaming driver).
  • SteamVR's compositor sometimes does not start at the first try (a freeze in SteamVR's own start): SteamVR tries again
    and SteamVR Home appears later than usual. RiftLinux ends the copy of SteamVR's server the failed try leaves behind
    once SteamVR quits, so the next start is not blocked.
  • Steam asks some questions before a game's first start on the monitor, not in the headset: if a game does not
    start from inside VR, take the headset off and answer them there.
  • SteamVR's Desktop tab is empty on Linux (SteamVR for Linux #693); WayVR shows the desktop as an overlay.
  • With NVIDIA on Wayland and a VRR monitor, the headset's picture can tear unless VRR is hidden from the driver
    (NVIDIA's bug, open-gpu-kernel-modules #992): riftlinux-setup nvidia-vrr conceal.
  • GNOME with HDR on can leave the desktop's colours washed out when the headset connects or disconnects; switching
    HDR off and on in GNOME's settings restores them (likely mutter #5083, fixed for GNOME 51).

The README's Known issues section has the full list, including app issues under Proton.

Reporting a problem

Open an issue with the bug form and add the output of riftlinux-setup --json check, SteamVR's log
(~/.local/share/Steam/logs/vrserver.txt) and the driver's own log (~/.steam/steam/logs/vrstartup-linux.txt);
say which GPU and driver you have.

For a tracking problem, record a session: run riftlinux-setup record on, start SteamVR and do what shows the
problem, then attach the recording from ~/.cache/riftlinux and SteamVR's startup log
(~/.steam/steam/logs/vrstartup-linux.txt). Turn it off afterwards with riftlinux-setup record off.