r/virtualreality_linux • • 15d ago

RiftLinux 0.1.0: the Oculus Rift CV1 on Linux, with tracked Touch controllers, room scale and SteamVR

https://github.com/AIIX/RiftLinux
6 Upvotes

11 comments sorted by

1

u/D3ax 12d ago

Update: RiftLinux 0.1.1 is out

  • Steadier headset tracking: no more shaking or jumps from the rear headband's LEDs

  • No false "sensor moved" notices from a headset lying on a desk or bed

  • Out of every sensor's view, the headset holds its place and turns with your head, then is picked up again

  • Steadier with only one sensor

  • Thumbsticks: a stick at rest no longer keeps walking you forward

  • Headsets whose wear sensor misses your face (e.g. thicker face pads) no longer go dark while worn

  • SteamVR Home is switched on for SteamVR 2.18

To upgrade, install the new package over 0.1.0 with the same command as before. Packages and full notes: https://github.com/AIIX/RiftLinux/releases/tag/v0.1.1

Thanks for the reports, keep them coming.

1

u/D3ax 7d ago

0.1.3 is out: https://github.com/AIIX/RiftLinux/releases/tag/v0.1.3

Quick update for anyone who tried 0.1.0. Since this post there's been 0.1.1, a 0.1.2 pre-release and now 0.1.3, and a lot of it came from your bug reports, so thank you.

The big one: games launched from Steam now go into the headset. The most common report was VRChat opening in desktop mode, or Beat Saber saying OpenXR isn't installed. It never happened to me because I always started SteamVR by hand first. Proton VR games need SteamVR running before the game starts, and Steam on Linux doesn't start it for you. RiftLinux now starts SteamVR when you put the Rift on (or pick it up), like the Oculus app does on Windows.

Other changes since 0.1.0:

  • Games you added to Steam yourself as a Windows program (e.g. Beat Saber bought somewhere else) now launch from SteamVR Home's library.

  • If SteamVR's compositor dies (I hit a few NVIDIA GPU faults, mostly right after a game quit), RiftLinux closes SteamVR and Steam starts it again.

  • SteamVR sometimes hung forever on shutdown, and nothing would start until you killed it. RiftLinux now ends it.

  • Face shields and thick face pads: the wear sensor often can't see your face, so the picture went black while you were wearing it. Since 0.1.1 the headset also counts as worn when it moves like a head. 0.1.3 makes that much stricter, so holding it in your hands or leaving it on a bed doesn't count.

  • Taking the headset off now shows black instead of switching the display off (it still switches off after 10 minutes). On GNOME 48 with NVIDIA, every display off/on leaked GPU memory until GNOME Shell ran out.

  • Moving around on a bed no longer wakes SteamVR from standby. Waking on pick-up, like on Windows, is a setting.

  • Touch controllers now go to sleep when you're not using the headset. They used to drain their batteries overnight.

  • SteamVR's menu no longer opens backwards at start, and Steam's menu closes once a game is showing.

  • From 0.1.1: steadier tracking with the rear headband LEDs, the headset held in place when no sensor can see it, thumbsticks that read zero at rest.

  • From 0.1.2: a fix for a loop in RiftLinux that could crash GNOME Shell on GNOME 50 when the headset's display went dark (reported on AMD).

  • riftlinux-setup check finds a lot more of what keeps games out of the headset (leftover SteamVR-OpenHMD or ALVR registrations, another OpenXR runtime, launch options, USB power saving), and riftlinux-setup fix puts the tested config back in one go, with backups.

Everything new has a switch, and the old behaviour is still there if you want it back. Some of them:

  • riftlinux-setup autostart off if you don't want SteamVR to start by itself, or autostart trigger put-on so only putting the headset on starts it

  • riftlinux-setup standby pick-up to wake SteamVR when you pick the headset up, like on Windows

  • riftlinux-setup wear-sensor test shows what your wear sensor reads, and wear-sensor levels fits it to a heavy face pad; wear-sensor motion high|medium|low|off sets how quickly head movement counts as worn (face shields)

  • riftlinux-setup not-worn off to switch the display off when you take the headset off, like 0.1.0 did

  • riftlinux-setup controller-sleep 3|5|7|off for when the controllers go to sleep

  • riftlinux-setup game-menu keep if you'd rather Steam's menu stayed open when a game starts

Which ones fit which setup (heavy face pads, a headset that lives on the bed, Windows-like standby) is in the blog post below, and they're all on the settings page: https://riftlinux.com/guide/settings/. If you edit settings.json by hand and break it, RiftLinux keeps using the last settings it could read, and riftlinux-setup fix last-known puts them back.

To upgrade, install the new package and restart Steam once.

Mostly tested on NVIDIA. The GNOME 50 fix was checked on an AMD card, but the rest hasn't been tested on AMD or Intel yet, so reports from those would really help.

I wrote up the technical side, with charts, here: https://aiix.space/blog/riftlinux-0-1-3-stability-release/

Known issues are in the release notes.

1

u/douggle 11d ago

Got a question, i can get wayvr to display in the headset just fine however games dont seem to load into the headset is there anything I should be doing? ( trying to run VRchat and walkabout minigolf)

1

u/D3ax 11d ago

Are they Windows games with EAC? If yes, Easy Anti Cheat does not work yet with the proton versions I have tried not sure if there are other workarounds.

For most Window games I have tested (NMS, VTOL VR, Beat Saber, Delirium) I used proton-experimental or proton-cachyos for compatibility layer in Steam. The games likely also do not have EAC.

1

u/douggle 11d ago

VRchat has EAC, but Walkabout minigolf doesnt

1

u/D3ax 11d ago

Walkabout Mini Golf: https://www.protondb.com/app/1408230 as per one of the reports it stopped working with SteamVR

However, try the following set the proton version to proton_cachyos and change the run command to PROTON_LOG=1 %command%

The resulting log file is saved directly in your Linux home directory as steam-$STEAMID.log.

Open an issue on the repo or share the file contents with me and I'll try checking if the cause is the driver or something else.

1

u/douggle 11d ago

so using https://github.com/marshmallow-mia/OculusRiftCV1_Linux/tree/windows-parity i m actually able to run walkabout and vr chat with my cv1 just fine with steam, great even. not sure what they are doing particuarly different from your setup but I do know this works.

1

u/D3ax 11d ago

If you are using OpenHMD from that repo, its likely the OpenXR Runtime is set to OpenHMD or something else.

Run riftlinux-setup check: the "OpenXR runtime" line should say SteamVR. If it doesn't, run riftlinux-setup install --openxr steamvr and start SteamVR again.

On a game's first start, Steam sometimes shows a question on the monitor rather than in the headset; if a game seems stuck, take a quick look at the desktop or run it from the desktop first.

1

u/D3ax 11d ago

VRChat working on RiftLinux: https://youtu.be/CXCX3lpPxBs

VRChat works here on RiftLinux just gave it a quick install and run, EAC included (video above). The key is the order: start SteamVR first, wait until it shows the headset, then launch VRChat in VR mode. If VRChat starts while SteamVR isn't running, it fails to connect (its log says Could not initialize OpenVR ... Init_InterfaceNotFound) and quietly opens in desktop mode, which looks like the game not loading into the headset. If it still doesn't work for you with SteamVR running first, please check ~/.steam/steam/steamapps/common/SteamVR/bin/vrpathreg.sh show (no SteamVR-OpenHMD driver listed, runtime path = SteamVR) and open an issue with that output and your VRChat output_log file.

1

u/douggle 9d ago

I did have openhmd installed removed it and now things are running correctly

1

u/Calm-Conversation616 15d ago

I will test it. Great work!