---
weight: 100
title: 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](https://github.com/Morganamilo/paru)
```bash
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](https://aur.archlinux.org/packages/envision-xr-git)
```bash
paru -S envision-xr-git
```

## Envision Configuration <small>(Non-Arch users follow from here!)</small>

- Select profile: **WMR default**.

![WMR default](/images/EnvisionXR_WMR.png "Envision XR Screen with WMR Envision Default selected")
- Duplicate and adjust settings:
    - **XR Service Repo**:
    ```bash
    https://gitlab.freedesktop.org/thaytan/monado
    ```
    - **XR Service Branch**:
    ```bash
    dev-constellation-controller-tracking
    ```
    ![WMR adjusted settings](/images/wmr_controller_tracking_envision.png "Repo and Branch adjusted for controller tracking")
- 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)
  ```
2. Identify which entry under Found Displays is your HMD.
3. Add the following env var to the Envision profile, with the correct name for your HMD:
  `XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="HP Inc."`