Skip to content

Instantly share code, notes, and snippets.

@ctrueden
Created July 23, 2025 12:14
Show Gist options
  • Select an option

  • Save ctrueden/34e37b39802dac485ea90fdac7300ab0 to your computer and use it in GitHub Desktop.

Select an option

Save ctrueden/34e37b39802dac485ea90fdac7300ab0 to your computer and use it in GitHub Desktop.
Linux + Meta Quest 3S

2025-04-27: The way I play VR games wirelessly on Linux e.g. from Steam is to use WiVRn (a fork of Monado) via the Envision orchestrator.

Here's the path I followed to get it working with my Meta Quest 3S:

  1. Download the appImage as linked from the Envision page of the Linux VR Adventures wiki.

  2. Launch Envision from the terminal (so that you can see its console messages). In the GUI at the bottom is a combo box. Select WiVRn as the desired system. Then at the top of the GUI is a button to configure and build it. You will likely need to apt install some prerequisites first. (2025-04-23) Envision wanted me to installed these packages for Lighthouse profile:

    sudo apt install libeigen3-dev glslang-tools glslc libbsd-dev libdrm-dev \
        libusb-1.0-0 libusb-1.0-0-dev libx11-xcb-dev libxcb-randr0-dev \
        mesa-common-dev ninja-build libopenxr-dev libsdl2-dev libvulkan-dev

    But then I realized I needed the WiVRn profile, which wanted:

    sudo apt install libavahi-client-dev libavahi-glib-dev libcli11-dev \
        libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libavcodec-dev \
        libavfilter-dev libavutil-dev libnotify-dev libpipewire-0.3-dev \
        libswscale-dev libva-dev nlohmann-json3-dev libsystemd-dev libx264-dev
  3. You must also sudo apt install adb! It's the Android Debug Bridge. This command line tool is vital to operating your headset from the computer. In particular, it must be installed for some of the later steps, such as installing the WiVRn APK, to succeed.

  4. Unbox your Meta Quest 3S and set it up. You'll need to create a Meta account, and install the Meta Horizon app on your smartphone.

  5. Enable "developer mode" on the Meta Quest 3S:

    • Touch the headset icon in the top left corner, scroll down to "Headset Settings", and find the Developer section.
    • Clicking the link to "get started" will navigate you toward this page, but it's easier to just open that link on a computer.
    • From there, you can create and verify an org. My org is called restlesscoder and I tried to verify it using "Admin verification" by sending them a snap of my driver's license, but they rejected it twice as a not-clear-enough ID. Super invasive, but it's what you gotta do.
    • Verification will take a couple of days supposedly, but you don't need to wait for it: swipe away and reopen the Meta Horizon app, navigate back into the Developer section, and you should now have a boolean slider to enable developer mode.
  6. With an Oculus Link USB cable, connect the Meta Quest 3S to your computer using a USB3 port.

    • If using Ubuntu, don't use GNOME with Wayland; you'll need to be using X.org, or else KDE Plasma with Wayland. See this FAQ entry from Valve.
  7. Back in Envision, click the big Start button at the top of the GUI to start the wivrn-server. The server should now be running (ps aux | grep wivrn from the terminal can be used to check).

  8. You should see a new "Pairing mode" entry pop up under the big Start button. Click this button to pair your headset with the computer... but I forget exactly how this worked...

  9. Now scroll down in the Envision GUI to the third option, "Install WiVRn APK". Put on the headset, where you'll be asked if you want to enable USB debugging. Say yes.

    • Alternately: I did notice that the WiVRn app is available from the Meta Store; if you can't/won't enable developer mode, this might be another option? But then I'm not sure whether developer mode is necessary to pair the headset (step 8)...
  10. Enable the WlxOverlay-S plugin in Envision. Click the hamburger menu and choose Plugins to do so. This plugin provides an overlay of your computer desktop:

    • Double tap Y to show/hide the desktop screen.
    • Check the "watch" on your left wrist for additional controls.
  11. Now launch WiVRn from the headset by clicking Applications (the 3x3 tiles icon) on the bottom right, then the folder-with-question-mark icon ("Unknown Sources") on the left.

  12. From WiVRn, connect to your computer while it's running the wivrn-server (from step 7 above).

  13. Then, also on your computer (ideally via WlxOverlay-S from your headset), start Steam, and launch a VR game such as Beat Saber. It will tell you to have your headset ready; just click through and go!

  14. On the computer, be sure to change your sound output setting to WiVRn, or else no sound will be sent to the headset.

This setup works well for me on Wi-Fi 5, with the computer wired and the headset wireless, as long as I play in the basement near my primary wireless router.

If you reproduce it—and especially if you do so without needing to toggle developer mode, as I speculate might be possible by installing the WiVRn app from the Meta Store—please leave a comment!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment