WMR Controller Tracking on Arch

Envision Installation on Arch with Controller Tracking #

Install Envision-XR with Paru on Arch #

Recommendations: #

  • Paru as the Arch AUR helper
  • KDE as the desktop environment for better compatibility with SteamVR (may not be necessary)

Paru: #

Paru GitHub Repository

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

Install Envision-XR from AUR using Paru: #

Envision-XR AUR

paru -S envision-xr-git

Envision Configuration (Non-Arch users follow from here!) #

  • Select profile: WMR default.

WMR default

  • Duplicate and adjust settings:
    • XR Service Repo:
    https://gitlab.freedesktop.org/thaytan/monado
    
    • XR Service Branch:
    dev-constellation-controller-tracking
    
    WMR adjusted settings
  • Save and build the profile.
  • Plug in the VR headset & turn on the controllers.
  • Click Start on Monado.
  • Once ready, launch a game on Steam.

Important Notes: #

  • Do not close Envision before starting the game.

  • If changing the game:

    • Close the game.
    • Leave Monado open.
    • Start the new game.
  • Always turn on the controllers before starting Envision.

  • Update controller firmware while running Windows. It’s necessary for controllers to work in Linux, updating them from Linux is currently impossible.

  • Make sure that you don’t factory-reset the controllers (performed by long-pressing the pairing button when controllers are off). This action restores the factory firmware version.

  • If monado fails to start with the following error, you likely need to update the firmware in Mixed Reality Portal:

    WARN [wmr_controller_send_fw_cmd] Controller fw read timed out after 250 ms
    ERROR [wmr_bt_controller_create] WMR Controller (Bluetooth): Failed to create controller
    ERROR [wmr_create_bt_controller] Failed to create WMR controller (Bluetooth)
    

Troubleshooting #

NVIDIA: No allowlisted displays found! #

  1. See the logs:
  == Current Allowlist (8) ==
      Sony SIE  HMD *08
      HTC Corporation HTC-VIVE
      HTC Corporation VIVE Pro
      Oculus VR Inc. Rift
      Valve Corporation Index HMD
      Seiko/Epson SEC144A
      HPN
      PNP
  == Found Displays (2) ==
      SAMSUNG (HDMI-0)
      HP Inc. (DP-2)
  1. Identify which entry under Found Displays is your HMD.
  2. Add the following env var to the Envision profile, with the correct name for your HMD: XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="HP Inc."