---
weight: 300
title: Bigscreen Beyond
---

# [Bigscreen Beyond Driver](https://steamdb.info/app/2467050/)

You can get the "Bigscreen Beyond Driver" app from Steam working via Proton by following these instructions:
1. use a Proton version >=10 that has access to `PROTON_ENABLE_HIDRAW` env var; `Proton Experimental [bleeding-edge]` works well
2. set `PROTON_ENABLE_HIDRAW=0x35BD/0x0101 %command%` as your launch arg for the `Bigscreen Beyond Driver` under `Properties`
3. OPTIONAL: download/copy a SteamVR Windows install somewhere and when the driver is open, set the SteamVR path to where you placed the Windows install of SteamVR

The "Bigscreen Beyond Driver" and most of its features should be working fine after doing the above!

Note that currently eye camera firmware loading and updates do not work, but HMD firmware updates do work.

## Download Windows SteamVR via SteamCMD
You can easily downlwad the Windows version of SteamVR via SteamCMD. To do this:
1. [Download SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux)
2. Run this command somewhere you can create directories (i.e., your home directory):
```sh
mkdir steamvr_win && steamcmd +@ShutdownOnFailedCommand 1 \
   +@sSteamCmdForcePlatformType windows \
   +force_install_dir $(realpath steamvr_win) \
   +login anonymous \
   +app_update 250820 validate \
   +quit
```
This will:
- Create a directory in the current directory named `steamvr_win`
- Download and validate Windows SteamVR into it.

Note: your home directory is accessible under `Z:\home` by default in Proton.

## Easier Device Mode Swapping

You can also swap modes more easily without using the "Bigscreen Beyond Driver" if your device is set to 75hz mode via `XRT_COMPOSITOR_DESIRED_MODE` for an Enivison profile.
   1. `XRT_COMPOSITOR_DESIRED_MODE=0` is the 75hz mode
   2. `XRT_COMPOSITOR_DESIRED_MODE=1` is the 90hz mode

You can verify which modes are which by using a tool like `xrandr` with the HMD plugged in. The top two modes are the relevant ones used here and are listed in order, starting at an index of 0.

## Bigscreen Beyond 1/2/2e `udev` Rules

You may need these udev rules (ie: in `/etc/udev/rules.d/`) for full functionality.

```udev
# Bigscreen Beyond
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="35bd", ATTRS{idProduct}=="0101", MODE="0660", TAG+="uaccess"
# Bigscreen Bigeye
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="35bd", ATTRS{idProduct}=="0202", MODE="0660", TAG+="uaccess"
# Bigscreen Beyond Audio Strap
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="35bd", ATTRS{idProduct}=="0105", MODE="0660", TAG+="uaccess"
# Bigscreen Beyond Firmware Mode?
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="35bd", ATTRS{idProduct}=="4004", MODE="0660", TAG+="uaccess"
```

## Bigscreen Beyond 2e Eyetracking via Baballonia under Linux

### Requirements:
 * Windows 10/11 dual-boot availability or separate Windows 10/11 machine
 * Some form of re-streaming the Bigeye camera to bypass broken `v4l`/`uvcvideo` default drivers; `libuvc` is known to work, as does `cameractls` for viewing the cameras as well
   * ie: `go-bsb-cams` modified from `garymcbay/mjpeg` for this purpose by @lillia

To have functioning eyetracking while using a Bigscreen Beyond 2e under Linux, you will currently need to supplement the Baballonia portion of the software stack via Proton.

The full stack can be pictured as such:
{{% mermaid %}}
graph TB
   E[Bigscreen Beyond 2e]-->F
   F[Bigscreen Bigeye]-->A
   E-->M[Monado]
   M-->O[OpenComposite]
   M-->X[XRizer]
   O-->D
   X-->D
   A[go-bsb-cams using libuvc] --> B[Baballonia.Desktop.exe] --> C[VRCFT.Avalonia] --> D[VRChat/etc.]
   subgraph Linux Native
   A
   C
   E
   F
   M
   O
   X
   end
   subgraph Proton/Wine
   B
   D
   end
{{% /mermaid %}}

`go-bsb-cams` can be found here: https://github.com/LilliaElaine/go-bsb-cams

`Baballonia` releases can be found here: https://github.com/Project-Babble/Baballonia/releases

`VRCFT.Avalonia` releases can be found here: https://github.com/dfgHiatus/VRCFaceTracking.Avalonia/releases

You will need to boot into Windows and use `Baballonia.Desktop` there in order to train any and all models as needed so that you can then transfer them over to your Linux filesystem. They are typically stored at `%APPDATA%/Roaming/ProjectBabble/Models` on Windows and can be loaded from wherever you like via the `Babbalonia.Desktop` GUI.

Then you can start `Baballonia.Desktop.exe` via `Proton` as a "non-steam game" and tell it to load your pre-trained model, the `Baballonia` setup executable can be run first and then you'll want to point the Steam Library entry to the proper `Baballonia.Desktop.exe` afterwards for future launches.

**NOTE:** You'll need to disable `GPU Acceleration` for it to track the full volume as it seems to be weirdly clamped while `GPU Acceleration` is enabled under `Proton`.

`Baballonia.Desktop` can be given the `http://127.0.0.1:8080/stream` endpoints for each camera if you're using `go-bsb-cams` to load the cameras. You'll need to adjust cropping and brightness for the cameras as necessary, but it should allow you to easily select the whole left/right areas automatically for the Bigeye in particular.

Ensure `Baballonia.Desktop` is set to provide `Eye` or `Both` tracking to `VRCFT.Avalonia`, alongside the `Native OSC` option if desired, and then launch `VRCFT.Avalonia`. If successful, you should see some small transfers of data, assuming the `VRCFT-Babble` module is loaded in `VRCFT.Avalonia`.

Assuming all goes well, you should be able to see OSC data coming in with it enabled after launching VRChat under `Proton`. Avatar parameters should load into `VRCFT.Avalonia` and you should see both send/receive values for data rates at this point alongside live results within VRChat itself.