Merge branch 'main' into 'patch-1'

# Conflicts:
#   content/docs/resonite/_index.md
This commit is contained in:
Mhowser 2025-04-03 06:39:59 +00:00
commit 612db77bf8
20 changed files with 559 additions and 88 deletions

View file

@ -6,6 +6,59 @@ title: NixOS
General documentation about VR is provided on the [NixOS Wiki](https://wiki.nixos.org/wiki/VR). General documentation about VR is provided on the [NixOS Wiki](https://wiki.nixos.org/wiki/VR).
## Recommendations
The recommended way to set up NixOS for VR is by using [services.monado](https://search.nixos.org/options?channel=unstable&query=services.monado) or [services.wivrn](https://search.nixos.org/options?channel=unstable&query=services.wivrn).
You may also want to install [opencomposite](https://search.nixos.org/packages?channel=unstable&query=opencomposite) (or xrizer, currently only available in [nixpkgs-xr](https://github.com/nix-community/nixpkgs-xr)) and [wlx-overlay-s](https://search.nixos.org/packages?channel=unstable&query=wlx-overlay-s).
For OpenComposite or XRizer, you may want to configure `~/.config/openvr/openvrpaths.vrpath` to point to your OpenComposite or XRizer installation. See below for an example using [home-manager](https://github.com/nix-community/home-manager).
```nix
xdg.configFile."openvr/openvrpaths.vrpath".text = ''
{
"config" :
[
"~/.local/share/Steam/config"
],
"external_drivers" : null,
"jsonid" : "vrpathreg",
"log" :
[
"~/.local/share/Steam/logs"
],
"runtime" :
[
"${pkgs.opencomposite}/lib/opencomposite"
],
"version" : 1
}
'';
```
If you need to run the latest possible version of any of these pieces of software for whatever reason, above what is packaged in NixOS, you may want to check out Community Overlays at the bottom of this article.
If you need to run a branch of Monado or WiVRn, you can use `.overrideAttrs`, see below for an example of doing this for Coreforge's Monado Pimax fork.
```nix
monado = {
enable = true;
defaultRuntime = true;
highPriority = true;
package = (pkgs.monado.overrideAttrs {
pname = "monado-pimax"; # optional but helps distinguishing between packages
src = pkgs.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "Coreforge";
repo = "monado";
rev = "f858ee5dd8ca7696bd9219e8278f2671df56fe6e";
hash = "sha256-Si56yvG+oSfyUaPAlF1FgB7WJo8td1xuVxYnkJvbu4o=";
};
});
};
```
## Monado ## Monado
Monado is supported natively on NixOS using the [services.monado](https://search.nixos.org/options?channel=unstable&query=services.monado) since 24.05. Monado is supported natively on NixOS using the [services.monado](https://search.nixos.org/options?channel=unstable&query=services.monado) since 24.05.
@ -24,19 +77,35 @@ As WiVRn is built around Monado, most, if not all, settings for Monado are also
You can find WiVRn on the official [NixOS wiki](https://wiki.nixos.org/wiki/VR#WiVRn). You can find WiVRn on the official [NixOS wiki](https://wiki.nixos.org/wiki/VR#WiVRn).
### VRChat ### Steam Games
To get VRChat working with monado on nix, use the `env PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/monado_comp_ipc %command%` launch options on steam and click play with the "Launch VRChat in Steam VR" mode. It should open it on your desktop for preview and display it through monado. To get Steam games working with monado on NixOS, use the `env PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/monado_comp_ipc %command%` launch options on steam and, if prompted, choose the SteamVR launch option.
## OpenXR apps
All OpenXR apps should work out of the box, assuming you have a default runtime set.
To set a default OpenXR runtime, you can either use `services.monado.defaultRuntime` (the same option is present for WiVRn) or create/modify `~/.config/openxr/1/active_runtime.json`.
## SteamVR ## SteamVR
SteamVR works like it does on other distros for the most part. Unfotrunately, if it doesn't work out of the box, troubleshooting it on NixOS can be close to impossible due to NixOS's structure and SteamVR's proprietary nature. SteamVR works like it does on other distros for the most part. Unfortunately, if it doesn't work out of the box, troubleshooting it on NixOS can be close to impossible due to NixOS's structure and SteamVR's proprietary nature.
[Asynchronous reprojection does not work](https://github.com/NixOS/nixpkgs/issues/217119) without a kernel patch. [Asynchronous reprojection does not work](https://github.com/NixOS/nixpkgs/issues/217119) without a [kernel patch](https://github.com/Frogging-Family/community-patches/blob/a6a468420c0df18d51342ac6864ecd3f99f7011e/linux61-tkg/cap_sys_nice_begone.mypatch). However, this patch is only applicable for AMD GPUs. There is no way to get SteamVR asynchronous reprojection working on Nvidia.
[setcap doesn't work](https://github.com/NixOS/nixpkgs/issues/42117#issuecomment-996731579) but can be done manually. [setcap doesn't work](https://github.com/NixOS/nixpkgs/issues/42117#issuecomment-996731579) but can be done manually.
## Envision ## Envision
[Envision](../../fossvr/envision/) has been packaged in [nixos unstable](https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=+envision) but is still in early development and is not recommended. It may also mess with your `monado.service` setup in unexpected ways. [Envision](../../fossvr/envision/) has been packaged in [nixos 24.11](https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/by-name/en/envision/package.nix) but is still in early development and is not recommended. It may also mess with your `monado.service` setup in unexpected ways.
Notably, if you try to use Envision on NixOS, by default, binaries will be dynamically linked, not statically linked, which will cause many issues with VR apps. Also, if you try to use Envision with a dedicated PCVR headset (ie, Monado with an Index, Pimax, etc), asynchronous reprojection will not work without an AMD-only kernel patch, for the same reason as SteamVR.
### Removing Envision
In case you did not follow the above advice, and attempted to use Envision on NixOS, you may want to undo the changes it has made to your home folder, so `services.monado`, `services.wivrn`, `opencomposite` and/or `xrizer` may work correctly.
You will want to delete or modify `~/.config/openxr/1/active_runtime.json`. Note that this is an override for `/etc/xdg/openxr/1/active_runtime.json`, so if you are using `services.monado.defaultRuntime = true` (or the WiVRn equivalent) then you can safely delete this file. Otherwise, you'll want to point it to your Monado installation, which will be somewhere in `/nix/store`.
You will also want to modify `~/.config/openvr/openvrpaths.vrpath`. Remove any runtimes that point to Envision's compiled binaries.
I recommend using [home-manager](https://github.com/nix-community/home-manager) to automate writing these config files, as these paths will change regularly, due to the nature of NixOS.
## Community Overlays ## Community Overlays
[Nixpkgs-xr](https://github.com/nix-community/nixpkgs-xr) provides overlays for the exisiting nixpkgs. If the mainline packages are broken for you (whether it be compiling or in function) for any reason, adding this, as described in the readme, might help. [Nixpkgs-xr](https://github.com/nix-community/nixpkgs-xr) provides overlays for the exisiting nixpkgs. If the mainline packages are broken for you (whether it be compiling or in function) for any reason, adding this, as described in the readme, might help. It also provides XR-related packages considerably before they are available in NixOS.

View file

@ -23,7 +23,9 @@ Envision is still considered alpha-quality and highly experimental.
You can download the latest AppImage snapshot from [GitLab Pipelines](https://gitlab.com/gabmus/envision/-/pipelines?ref=main&status=success). You can download the latest AppImage snapshot from [GitLab Pipelines](https://gitlab.com/gabmus/envision/-/pipelines?ref=main&status=success).
## Getting Started If you are on Arch, You can use the [AUR package](https://aur.archlinux.org/packages/envision-xr-git) `envision-xr-git`
## Getting started
Upon launching Envision, you will need to select a profile on the bottom of the left side bar. Upon launching Envision, you will need to select a profile on the bottom of the left side bar.
@ -38,7 +40,44 @@ Profiles that are available by default:
Monado does not have a launcher app, and so after connecting your headset, you will likely see a solid color. This means you can now start your VR title. Monado does not have a launcher app, and so after connecting your headset, you will likely see a solid color. This means you can now start your VR title.
You may want to launch [WlxOverlay-S](/docs/fossvr/wlxoverlay-s/) first and use it to access your desktop and other VR titles. You can even start it automatically alongside the Monado session: just enter `wlx-overlay-s --openxr` into the "Autostart" field of your Envision profile. You may want to launch [WlxOverlay-S](/docs/fossvr/wlxoverlay-s/) first and use it to access your desktop and other VR titles. You can even start it automatically alongside the Monado/WiVRn session, by enabling it in the [Plugins](#plugin-system) menu.
## Plugin system
The plugin system for Envision allows you to launch anything (usually OpenXR overlays) alongside the Monado/WiVRn session.
Open the Plugins window by clicking the kebab menu (three dots) at the top of the Envision window, and clicking "Plugins". Here, you can install overlays like [WlxOverlay-S](/docs/fossvr/wlxoverlay-s/) or [Stardust XR](/docs/fossvr/stardust/) (or a custom plugin — see below). After installing plugins and toggling them on, once you start a profile, the enabled plugins will start alongside it.
Plugins are the replacement for the "autostart" feature from older versions.
### Adding a custom plugin
The plugins included in the store are just a quick front-end to the latest release AppImages. For everything else, you can create a custom plugin that runs any given executable script or binary.
For example, if you installed WlxOverlay-S from AUR or built it from source, you can disable the original WlxOverlay-S plugin and create a custom plugin to run it:
1. Create a new file `~/.local/bin/wlx-but-newer` (creating the `~/.local/bin` directory if it does not exist).
2. Give it the content:
```bash
#!/usr/bin/env bash
/usr/bin/wlx-overlay-s --openxr
```
3. `chmod +x ~/.local/bin/wlx-but-newer`
4. In Envision, open the Plugins window.
5. Add a custom plugin by clicking the ➕ plus button.
6. For the executable file, point it to the script you just created.
7. Name the plugin "Wlx but newer".
8. Save, and then enable the new plugin.
Now starting the profile will also start your custom or AUR version of WlxOverlay-S.
### Plugin troubleshooting
On some systems, a built-in plugin may not launch. This can happen for a number of reasons, but one in particular is so obtuse that it's worth a mention:
Please *uninstall* AppImageLauncher. It intercepts the normal AppImage starting behavior in a dirty way that we can't predict.
You can tell if you are affected if, when you run the WlxOverlay-S AppImage in terminal (whether in plugin form in `~/.local/share/envision/plugins`, or downloaded directly from GitHub), you only get the output `execv error: No such file or directory`.
## Experimental feature settings ## Experimental feature settings
@ -46,7 +85,7 @@ The following resources can be entered into your Envision profile repo and branc
### Full body Lighthouse tracking ### Full body Lighthouse tracking
Full body is now provided by default in Monado & OpenComposite through the XR_MNDX_xdev_space OpenXR vendor extension. This allows any tracked "xdev" in Monado to be forwarded as a raw pose without bindings to applications. OpenComposite exposes these as fake Vive FBT trackers for use. Full body is no longer experimental; it is enabled by default in Monado & OpenComposite through the XR_MNDX_xdev_space OpenXR vendor extension. This allows any tracked "xdev" in Monado to be forwarded as a raw pose without bindings to applications. OpenComposite exposes these as fake Vive FBT trackers for use.
### WMR & Rift S controller tracking ### WMR & Rift S controller tracking
@ -77,4 +116,4 @@ The Oculus Rift CV1 is supported on the OpenHMD profile of Envision.
Start the profile with your headset placed on the floor in clear view of all bases to generate this file as your calibrated playspace origin first run and delete it to reset the configuration. Start the profile with your headset placed on the floor in clear view of all bases to generate this file as your calibrated playspace origin first run and delete it to reset the configuration.
A calibration of base stations will be saved to disk at `~/.config/openhmd/rift-room-config.json`. A calibration of base stations will be saved to disk at `~/.config/openhmd/rift-room-config.json`.

View file

@ -0,0 +1,69 @@
---
weight: 100
title: WMR Controller Tracking on Arch
---
# Envision Installation on Arch with Controller Tracking
## 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
```
## Monado Vulkan Layers
These are only needed if you have an NVIDIA Card and a Nvidia Driver before 565.77.01.
[Monado Vulkan Layers AUR](https://aur.archlinux.org/packages/monado-vulkan-layers-git)
### Paru Installation
```bash
paru -S monado-vulkan-layers-git
```
### Normal Installation with compiling manually
```bash
git clone https://aur.archlinux.org/monado-vulkan-layers-git.git
cd monado-vulkan-layers-git
makepkg -i
```
- -> Install dependencies and, if needed, run `makepkg -i` again.
## Envision-XR with Paru
[Envision-XR AUR](https://aur.archlinux.org/packages/envision-xr-git)
```bash
paru -S envision-xr-git
```
### Envision Setup
- Select **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.

View file

@ -9,19 +9,23 @@ weight: 52
- [Github Organization](https://github.com/StardustXR/) - [Github Organization](https://github.com/StardustXR/)
A system UI to make using all your 2D—and eventually OpenXR—apps together intuitive, accessible, and fun by using community-made virtual objects as interfaces. A system UI to make using all your 2D—and eventually OpenXR—apps together intuitive, accessible, and fun by using community-made virtual objects as interfaces.
Stardust provides a 3D environment, where anything from 2D windows (including your existing apps!), to 3D apps built from objects, can exist together in physical space.
![Panels for wayland apps and a CRT panel shell for XR UI.](https://stardustxr.org/img/carousel/panels.png) ![Panels for wayland apps and a CRT panel shell for XR UI.](https://stardustxr.org/img/carousel/panels.png)
## Setup ## Setup
First you need to install and run the server from https://github.com/StardustXR/server. Follow the README. If you have issues getting OpenXR to work, try running https://gitlab.freedesktop.org/monado/demos/xrgears first. For full installation instructions and a deeper dive into setting it up with various linux distributions, visit the [Stardust XR website](https://stardustxr.org/docs/get-started/What-is-Stardust)
The quickest way to try out Stardust XR is to install [Telescope](https://stardustxr.org/docs/get-started/Quickstart). It comes with the Stardust XR server, an app launcher called Hexagon Launcher,
and some helpful apps like Flatland to use your 2D apps inside Stardust, and Black Hole to quickly tuck away your objects and apps (kind of like desktop peek on Windows). Note that you'll need to have
the [Terra repository](https://terra.fyralabs.com/) installed.
After the server is running, you'll need to run some clients. Here's a demo showing some off: ```
![A showcase of some different clients](https://stardustxr.org/img/docs/clients/demo_01.mp4) sudo dnf install telescope
```
Non-exhaustive list of clients: Here's a demo showing some off some of what Stardust XR is like:
- [Flatland](https://github.com/StardustXR/flatland): A panel item UI (XR equivalent of a window manager) so you can interact with your apps using virtual touchscreens. To show Wayland apps, run them with the proper `WAYLAND_DISPLAY` environment variable, in the server's startup script, or use a stardust launcher such as gravity or protostar. Flatland works great in 3DoF or 6DoF with direct touch and pointer interaction. <iframe width="560" height="315" src="https://www.youtube.com/embed/v2WblwbaLaA" frameBorder={0} allow="autoplay; encrypted-media" allowFullScreen style={{maxWidth: '100%', aspectRatio: '16/9'}} ></iframe>
![A flat panel containing the prism launcher](https://stardustxr.org/img/docs/clients/flatland.png)
- [Gravity](https://github.com/StardustXR/gravity): Command line tool to launch programs inside of stardust at a particular offset in space. This is nestable so you can run a script using gravity, and then gravity inside that script to make a whole composed setup out of thin air! It also ensures that everything launched through it will properly connect to the stardust server, such as wayland clients. The full installation of Stardust XR centers around the Stardust XR server, which can run a variety of clients. For a full list of what is available,
- [Protostar](https://github.com/StardustXR/protostar): Prototype app launcher library/examples. Grab app icons and drop them in space to launch apps where they're dropped. check out the [Github repository](https://github.com/StardustXR).
- [Magnetar](https://github.com/StardustXR/magnetar): Workspaces in 3D. Any object inside the rings will move with them, so you can move a bunch of stuff out of the way temporarily when you don't need it.

View file

@ -17,7 +17,7 @@ WiVRn is based on [Monado](/docs/fossvr/monado/) and can be used with [OpenCompo
We recommend using [Envision](/docs/fossvr/envision/) to install and launch WiVRn & OpenComposite. Envision will handle all configuration seamlessly and avoids many of the pitfalls of a manual setup. We recommend using [Envision](/docs/fossvr/envision/) to install and launch WiVRn & OpenComposite. Envision will handle all configuration seamlessly and avoids many of the pitfalls of a manual setup.
Alternatively, you can use the [WiVRn Flatpak](https://flathub.org/apps/io.github.wivrn.wivrn) which includes OpenComposite as part of it. Processes in flatpak cannot take advantage of setcap, and so your performance may suffer when compared to Envision. Alternatively, you can use the [WiVRn Flatpak](https://flathub.org/apps/io.github.wivrn.wivrn) which includes OpenComposite as part of it. Processes in Flatpak cannot take advantage of setcap, and so your performance may suffer when compared to Envision.
## General WiVRn Notes ## General WiVRn Notes
@ -29,23 +29,38 @@ systemctl enable --now avahi-daemon
If a firewall is installed, make sure ports 5353/UDP and 9757/UDP+TCP are open for Avahi and WiVRn itself, respectively. If a firewall is installed, make sure ports 5353/UDP and 9757/UDP+TCP are open for Avahi and WiVRn itself, respectively.
If using Nvidia proprietary drivers, have [Monado Vulkan Layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) installed, otherwise games will crash with a segmentation fault. If using Nvidia proprietary drivers older than 565, install the [Monado Vulkan Layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers), otherwise games will crash with a segmentation fault.
For audio in WiVRn, you will need to assign applications, or the system as a whole, to output audio to the virtual output "WiVRn" which is created upon connection between the server and the headset. For audio in WiVRn, you will need to assign applications, or the system as a whole, to output audio to the virtual output "WiVRn" which is created upon connection between the server and the headset.
It is possible to use WiVRn Flatpak with Steam Flatpak, though Steam Flatpak isn't generally recommended for VR. If you are using Steam Flatpak, you just need to grant it access to the relevant paths:
```bash
flatpak override --user --filesystem=xdg-config/openxr:ro com.valvesoftware.Steam
flatpak override --user --filesystem=xdg-config/openvr:ro com.valvesoftware.Steam
flatpak override --user --filesystem=xdg-run/wivrn com.valvesoftware.Steam
flatpak override --user --filesystem=/var/lib/flatpak/app/io.github.wivrn.wivrn:ro com.valvesoftware.Steam
```
As an added bonus to the above, this command will save you the effort of having to set launch options for every single VR game in your Steam library:
```bash
flatpak override --user --env=PRESSURE_VESSEL_FILESYSTEMS_RW=/run/user/1000/wivrn/comp_ipc:/var/lib/flatpak/app/io.github.wivrn.wivrn com.valvesoftware.Steam
```
## Wired WiVRn ## Wired WiVRn
Use WiVRn with a cable instead of Wifi. Use a 5Gbps cable & port at the very least. You can use WiVRn with a cable instead of Wi-Fi. Use a 5Gbps cable & port at the very least.
WiVRn version: 0.19+ WiVRn version: 0.19+
Using Envision: Using Envision:
- Connect the headset via USB - Connect the headset via USB.
- Click the `Start WiVRn Client (Wired)` button in Envision. - In Envision, click the `Start WiVRn Client (Wired)` button.
- If it's not there, an Envision update might be necessary. - If it's not there, you may need to update Envision.
Manual steps: Manual steps:
- Connect the headset via USB - Connect the headset via USB.
- If WiVRn is running on the headset, close it now. - If WiVRn is running on the headset, close it now.
- While in the system lobby of the headset, run the following `adb` commands on the PC: - While in the system lobby of the headset, run the following `adb` commands on the PC:
```bash ```bash
@ -55,11 +70,11 @@ Manual steps:
## WiVRn + Lighthouse driver ## WiVRn + Lighthouse driver
This section covers using WiVRn with any lighthouse-tracked device: Index/Vive controllers, Vive/Tundra trackers, etc. This section covers using WiVRn with any Lighthouse-tracked device: Index/Vive controllers, Vive/Tundra trackers, etc.
WiVRn version: 0.19+ WiVRn version: 0.19+
Have SteamVR installed (no need to run it). You must have SteamVR installed (no need to run it).
In Envision, set WiVRn Profile as such: In Envision, set WiVRn Profile as such:
- XR Service CMake Flags: - XR Service CMake Flags:
@ -70,20 +85,20 @@ In Envision, set WiVRn Profile as such:
Perform a **Clean Build** after changing the CMake flags! Perform a **Clean Build** after changing the CMake flags!
If not using Envision, simply pass `-DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON` to cmake and export the env variables before starting `wivrn-server`. If not using Envision, simply pass `-DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON` to CMake and export the above environment variables before starting `wivrn-server`.
[Motoc](/docs/fossvr/motoc/) will be used to calibrate the two tracking technologies to work together. You can use [Motoc](/docs/fossvr/motoc/) to calibrate the two tracking technologies to work together.
Discovery happens only on first connection, so be sure to **have all lighthouse devices powered on and in line of sight of base stations before connecting the headset!** Discovery happens only on first connection, so be sure to **have all Lighthouse devices powered on and in line-of-sight of your base stations before connecting the headset!**
Once a device is discovered, it may be powered off and then back on later. Once a device is discovered, you may power it off and on at-will.
Once video appears in the headset, check `motoc monitor` to make sure your devices all show up. Once video appears in the headset, check `motoc monitor` to make sure your devices all show up.
If one or more devices are missing, try: If one or more devices are missing, try:
- Spread the devices out more; lighthouse devices get discovered quicker if they're not piled up on each other. Simply strapping them on is good, too. - Spread the devices out more; Lighthouse devices get discovered quicker if they're not piled up on each other. Simply strapping them on is good, too.
- Increase `LH_DISCOVER_WAIT_MS`, though this delays the client on first connection. - Increase `LH_DISCOVER_WAIT_MS`, though this delays the client on first connection.
To re-discover devices, restart WiVRn server. To re-discover devices, restart WiVRn server.
At this point, your lighthouse devices will be randomly floating about somewhere. To calibrate them, follow the guide in the [Motoc README](https://github.com/galister/motoc/blob/main/README.md). At this point, your Lighthouse devices will be randomly floating about somewhere. To calibrate them, follow the guide in the [Motoc README](https://github.com/galister/motoc/blob/main/README.md).

View file

@ -0,0 +1,102 @@
---
title: WMR Lighthouse (No SteamVR)
weight: 9000
---
# WMR Lighthouse (No SteamVR)
This describes a WMR Lighthouse setup using the `steamvr_lh` driver.
It's different from [WMR Lighthouse](/docs/steamvr/wmr-lighthouse/)
This doesn't use steamvr to re-map the head from some lighthouse tracking device.
Instead it does this natively in monado, so SteamVR is only necessary for the proprietary `steamvr_lh` driver.
For now this is a hacky approach requiring a Monado fork, as Monado's builders don't support the functionality yet:
* https://gitlab.freedesktop.org/monado/monado/-/issues/459
* https://gitlab.freedesktop.org/monado/monado/-/issues/288
This is made for WMR based headsets and has been tested with a Reverb G2 & Vive1 (Vive1 used only for it's 2 watchman dongles needed for the lighthouse controllers).
You can easily adapt this for other headsets in a hacky way, until these issues are closed.
Tested working on Arch Linux with NVIDIA RTX 2060S.
## Setup:
Setup your lighthouse system on SteamVR Windows. The Linux SteamVR version does not work well. On windows: Update everything, pair everything & setup your room boundaries.
Linux Setup:
* install Steam
* Download SteamVR on Steam (try non beta version first)
* Configurations from Windows copied over
### How To Copy Your Windows Steam Configurations To Linux
* mount your windows drive (e.g. at `/mnt`)
* `cp -r "/mnt/Program Files (x86)/Steam/config" ~/.steam/steam/`
### Linux Only Setup
It may be possible to use SteamVR on Linux to setup your room boundaries, pair and update everything. This is untested, but try at least.
You may need playspace moving via Wlx to fine tune the floor if you don't have a Windows install.
## Build
### Manually
Use this fork of Monado
`git clone https://gitlab.freedesktop.org/Zuzka/monado`
(if it's too old for you, try to merge upstream into it and fix it)
Ensure you have all required dependencies installed beforehand (Envision or Monado docs might help)
* `cmake -G Ninja -B build -DCMAKE_INSTALL_PREFIX=/usr -DXRT_BUILD_DRIVER_SURVIVE=0 -DXRT_BUILD_DRIVER_VIVE=0 -DXRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE=1`
* `sudo ninja -C build install`
Set following environment variable in your e.g. bash_profile:
`export LH_DEVICE_SERIAL="{YourSerial}"`
Replace `{YourSerial}` with [your actual serial](#how-to-find-your-serial)
### Envision
In Envision, set Profile as such:
XR Service Repo:
```
https://gitlab.freedesktop.org/Zuzka/monado.git
```
XR Service CMake Flags:
```
XRT_BUILD_DRIVER_SURVIVE=0
XRT_BUILD_DRIVER_VIVE=0
XRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE=1
```
Environment Variables:
```
LH_DEVICE_SERIAL="{YourSerial}"
```
Replace `{YourSerial}` with [your actual serial](#how-to-find-your-serial)
Perform a Clean Build after changing the CMake flags!
## How To Find Your Serial
You can find out the actual tracking device serial by:
1. At monado startup look if you see anything starting with `LHR-` e.g. `LHR-FC2E9BC3`. Try a bunch to find the tracker attached to your headset.
2. running this command and trying a bunch: `ls ~/.steam/steam/config/lighthouse/ | tr '[:lower:]' '[:upper:]'`
3. Running `motoc show` in a terminal
## Notes
* Turn on all your trackers & controllers and ensure the light is green, before starting monado.
* If you decide to use another lighthouse tracker mount, you'd need to figure the new tracker offset math in the Monado source code.
* If you use a Vive 1 as controller connection dongles *only connect power and USB*.
* Fork works fine without a Vive 1 for dongles, usb dongles work aswell.
## Useful Resources:
* https://monado.freedesktop.org/getting-started.html#installation-from-source
* https://monado.freedesktop.org/valve-index-setup.html
* check the commits on the fork for more info https://gitlab.freedesktop.org/Zuzka/monado
* vive tracker 3.0 3d printable mount
* model: https://www.printables.com/model/107654-hp-reverb-g2-vive-tracker-mount

View file

@ -0,0 +1,4 @@
---
title: More VR Games
weight: 60
---

View file

@ -0,0 +1,26 @@
---
title: Outer Wilds VR Mod
weight: 50
---
# Outer Wilds
{{% hint warning %}}
You must use Proton 8 as any other version will not work!
{{% /hint %}}
[Outer Wilds](https://store.steampowered.com/app/753640/Outer_Wilds/) is a flat screen game by design. However, there is a VR mod available to bring greater immersion into the gameplay.
To play Outer Wilds in VR, you need to install [NomaiVR](https://github.com/Raicuparta/nomai-vr).
It is recommended to use the [Outer Wilds Mod Manager](https://outerwildsmods.com/mod-manager/) to install NomaiVR along with any additional mods you choose.
## Performance
Since Outer Wilds was not designed or optimized to be a VR game, performance will be degraded. Expect low framerates in most scenes.
## Bugs
While in VR, if you have mods that add extra items in the main menu, they will be rotated at an odd angle as well as any UIs.

View file

@ -11,7 +11,7 @@ title: VR Gear & GPUs
| Manufacturer | Driver | VR Support | Reprojection Support | Hybrid Graphics Support | Notes | | Manufacturer | Driver | VR Support | Reprojection Support | Hybrid Graphics Support | Notes |
|--------------|---------------------------|----------------|--------------------------------|-------------------------------|----------------------------------------------------------------------------------------------| |--------------|---------------------------|----------------|--------------------------------|-------------------------------|----------------------------------------------------------------------------------------------|
| Nvidia | Nvidia (Closed Source) | Excellent | Excellent | Supported | Requires an implicit [vulkan-layer](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) to not segfault: [*AUR*](https://aur.archlinux.org/packages/monado-vulkan-layers-git)・[*Fedora*](https://packages.fedoraproject.org/pkgs/monado-vulkan-layers/monado-vulkan-layers/)・[*Ubuntu*](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers/-/jobs/55337949/artifacts/file/incoming/monado-vulkan-layers_0.9.0.29.git.ae43cdc-1~20240221ubuntu2204_amd64.deb)・[*Debian*](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers/-/jobs/55337947/artifacts/file/incoming/monado-vulkan-layers_0.9.0.29.git.ae43cdc-1~20240221bpo11_amd64.deb) | | Nvidia | Nvidia (Closed Source) | Excellent | Excellent | Supported | Requires driver version 565 or greater |
| Nvidia | Nouveau (Open Source) | Functional | Functional | Supported | Lacks DisplayPort audio. | | Nvidia | Nouveau (Open Source) | Functional | Functional | Supported | Lacks DisplayPort audio. |
| Intel | i915 (Open Source) | Functional | Unknown | Supported | Relatively old, most likely poor support for newer GPUs. | Intel | i915 (Open Source) | Functional | Unknown | Supported | Relatively old, most likely poor support for newer GPUs.
| Intel | Intel/Xe (Open Source) | No wired HMDs | N/A / Unable to drive wired. | Supported | Lacks direct mode implementation in driver, unable to drive wired HMDs. | | Intel | Intel/Xe (Open Source) | No wired HMDs | N/A / Unable to drive wired. | Supported | Lacks direct mode implementation in driver, unable to drive wired HMDs. |
@ -23,7 +23,7 @@ title: VR Gear & GPUs
- **VR Support**: Indicates how well supported the necessary Vulkan API components are. - **VR Support**: Indicates how well supported the necessary Vulkan API components are.
- **Reprojection Support**: Describes the support and quality of reprojection features for VR. Poor support indicates that the driver is not able to properly handle Vulkan realtime shaders and it will present as visual stutter. Non-robust solutions will suffer stutter under very high GPU load. - **Reprojection Support**: Describes the support and quality of reprojection features for VR. Poor support indicates that the driver is not able to properly handle Vulkan realtime shaders and it will present as visual stutter. Non-robust solutions will suffer stutter under very high GPU load.
- **PRIME/ Hybrid GPU Support**: Compatibility with systems using multiple GPUs for render offload. Monado and all clients must be run on a single select GPU due to memory tiling requirements. - **PRIME/ Hybrid GPU Support**: Compatibility with systems using multiple GPUs for render offload. Monado and all clients must be run on a single select GPU due to memory tiling requirements.
- For Nvidia proprietary drivers, the [vulkan-layer](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) **must** be installed in order to not crash. - For Nvidia proprietary drivers *older* than 565, (please try to update!), the [vulkan-layers](https://gitlab.freedesktop.org/monado/utilities/vulkan-layers) must be installed in order to not crash: [*AUR*](https://aur.archlinux.org/packages/monado-vulkan-layers-git)・[*Fedora*](https://packages.fedoraproject.org/pkgs/monado-vulkan-layers/monado-vulkan-layers/)
- AMD GPUs lower than RDNA generation have functional but less robust reprojection capabilities, expected to be similar to Intel. - AMD GPUs lower than RDNA generation have functional but less robust reprojection capabilities, expected to be similar to Intel.
- Audio over displayport is known to temporarily cut out when new audio sources spring up on pipewire [without a fix to add alsa headroom](https://wiki.archlinux.org/title/PipeWire#Audio_cutting_out_when_multiple_streams_start_playing) - Audio over displayport is known to temporarily cut out when new audio sources spring up on pipewire [without a fix to add alsa headroom](https://wiki.archlinux.org/title/PipeWire#Audio_cutting_out_when_multiple_streams_start_playing)
- X11 configurations are discouraged but workable, please upgrade your system to Wayland if at all possible. - X11 configurations are discouraged but workable, please upgrade your system to Wayland if at all possible.
@ -74,7 +74,7 @@ A non-comprehensive table of various VR/XR devices and the drivers that support
| Quest Pro | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Quest Pro | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
| Quest 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Quest 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
| Pico 4 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Pico 4 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
| Pico Neo 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | | | Pico Neo 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ❌ (Broken XR SDK) |
| HTC Vive Focus 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | HTC Vive Focus 3 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
| HTC Vive XR Elite | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | HTC Vive XR Elite | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
| Lynx R1 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ | | Lynx R1 | ✅ (via [ALVR](/docs/steamvr/alvr/)) | -- | ✅ |
@ -85,27 +85,23 @@ A non-comprehensive table of various VR/XR devices and the drivers that support
| Project Babble | ✅ (oscavmgr) | ✅ (oscavmgr) | ✅ (oscavmgr) | | Project Babble | ✅ (oscavmgr) | ✅ (oscavmgr) | ✅ (oscavmgr) |
| Eyetrack VR | ✅ (oscavmgr) | ✅ (oscavmgr) | ✅ (oscavmgr) | | Eyetrack VR | ✅ (oscavmgr) | ✅ (oscavmgr) | ✅ (oscavmgr) |
| Mercury Handtrack | 🚧 (Monado SteamVR plugin, win only) | ✅ (survive driver only) | ❌ | | Mercury Handtrack | 🚧 (Monado SteamVR plugin, win only) | ✅ (survive driver only) | ❌ |
| Ultraleap v1 | ? | ✅ (with `openxr-layer-ultraleap`) | ? |
| Lucid VR Gloves | ? | ✅ (survive driver only) | ❌ | | Lucid VR Gloves | ? | ✅ (survive driver only) | ❌ |
| Kinect FBT | ✅ | ✅ (experimental) | 🚧 | | Kinect FBT | ✅ | ✅ (experimental) | 🚧 |
| Standable FBT | ❌ | ❌ | ❌ | | Standable FBT | ❌ | ❌ | ❌ |
## Hardware note ## Hardware note
WiVRn PC XR to WiVRn PC client streaming remains mainly for debug use. - WiVRn PC XR to WiVRn PC client streaming remains mainly for debug use.
- **Vive Pro** microphones should be set to use 44.1khz sample rates as feeding in 48khz raises the pitch of the audio.
Vive Pro microphones should be set to use 44.1khz sample rates as feeding in 48khz raises the pitch of the audio. - **Vive Pro** creates HDMI Output Source after startup of SteamVR/Monado/etc. Use it instead of Vive Pro USB Audio Source, since the audio might appear distorted.
- **Valve Index** audio output should be set to 48khz or no audio will output.
Vive Pro creates HDMI Output Source after startup of SteamVR/Monado/etc. Use it instead of Vive Pro USB Audio Source, since the audio might appear distorted. - **Valve Index** may bug out once per boot, resulting in VR refusing to start, or your DE seeing it as a normal monitor. Just unplug and replug the barrel connector that provides power to the HMD.
- **Vive Pro Eye** HMD functional, eyechip WIP.
Valve index audio output should be set to 48khz or no audio will output. - **Pimax** initialization code WIP. Distortion matrix dump work in progress.
- Eyetrack VR and Project Babble will both be implemented through [oscavmgr](https://github.com/galister/oscavmgr) to emit proper unified flexes over OSC.
Vive Pro Eye HMD functional, eyechip WIP. - Tracking technologies can be mixed Monado/WiVRn by using [motoc](https://github.com/galister/motoc).
- Having Ultraleap packages installed causes Monado to not compile.
Pimax initialization code WIP. Distortion matrix dump work in progress.
Eyetrack VR and Project Babble will both be implemented through [oscavmgr](https://github.com/galister/oscavmgr) to emit proper unified flexes over OSC.
Tracking technologies can be mixed Monado/WiVRn by using [motoc](https://github.com/galister/motoc).
## Applying a kernel patch (for Vive Pro 2, Bigscreen Beyond, Pimax) ## Applying a kernel patch (for Vive Pro 2, Bigscreen Beyond, Pimax)

View file

@ -15,13 +15,22 @@ AMD GPUs will attempt to power save in between rendering frames, for flatscreen
This is very important to avoid stuttering, do not skip this step if you use AMD. This is very important to avoid stuttering, do not skip this step if you use AMD.
You should add a kernel arg for `amdgpu` driven cards. Add `amdgpu.ppfeaturemask=0xffffffff` to your kernel args. [more info](https://gitlab.com/corectrl/corectrl/-/wikis/Setup#full-amd-gpu-controls)
### The simple way: Use CoreCtrl ### The simple way: Use CoreCtrl
{{% hint danger %}}
**BE CAREFUL**
CoreCtrl is an **overclocking** utility. Overclocking your GPU is potentially dangerous and if done without care it could **permanently damage your hardware**.
If you limit yourself to setting the power profile you should be fine, but don't just crank up the sliders.
{{% /hint %}}
- Install [CoreCtrl](https://gitlab.com/corectrl/corectrl) - Install [CoreCtrl](https://gitlab.com/corectrl/corectrl)
- Select your GPU on the top - Select your GPU on the top
- Set Performance mode to Advanced - Set Performance mode to Advanced
- Set Power profile to VR - Set Power profile to VR
- Set the GPU and Memory sliders to max
### Enable VR profile using a script ### Enable VR profile using a script

View file

@ -36,7 +36,7 @@ It's generally **highly recommended** to opt for the more expensive but higher q
There are currently three ways to use SlimeVR: There are currently three ways to use SlimeVR:
- Via SteamVR driver - Via SteamVR driver
- Via SolarXR driver for Monado (experimental) - Via SolarXR driver for Monado
- Directly via VRChat OSC (Open Sound Control) - Directly via VRChat OSC (Open Sound Control)
## First method: SteamVR driver ## First method: SteamVR driver
@ -53,12 +53,13 @@ $HOME/.steam/steam/steamapps/common/SteamVR/bin/linux64/vrpathreg.sh adddriver $
Now the only thing you have to do is restart the SlimeVR server. Now the only thing you have to do is restart the SlimeVR server.
## Second method: SolarXR driver for Monado (experimental) ## Second method: native SolarXR driver for Monado
This is a native approach to using Slime trackers within the open-source stack without relying on SteamVR, offering results comparable to those provided by the native SteamVR driver. This is a native approach to using Slime trackers within the open-source stack without relying on SteamVR, offering results comparable to those provided by the native SteamVR driver.
To use this method, you need to compile SlimeVR yourself from this fork: To use this method, you need to use SlimeVR v0.14.0 or newer and if not available from stable may be obtained via a testing build:
`https://github.com/rcelyte/SlimeVR-Server.git`, branch `solarxr-ipc`. Build instructions can be found [here](https://github.com/rcelyte/SlimeVR-Server/blob/solarxr-ipc/CONTRIBUTING.md). [Official stable builds](https://github.com/SlimeVR/SlimeVR-Server/releases)
[Unstable testing builds](https://github.com/SlimeVR/SlimeVR-Server/actions/workflows/gradle.yaml?query=branch%3Amain)
For Monado, you need compile this fork: For Monado, you need compile this fork:
`https://gitlab.freedesktop.org/rcelyte/monado.git`, branch `solarxr-integration`. You can easily build Monado from this specific branch via [Envision](../fossvr/envision/), by modifying "XR Service Repo" and "XR Service Branch" in your build profile accordingly. `https://gitlab.freedesktop.org/rcelyte/monado.git`, branch `solarxr-integration`. You can easily build Monado from this specific branch via [Envision](../fossvr/envision/), by modifying "XR Service Repo" and "XR Service Branch" in your build profile accordingly.
@ -67,10 +68,6 @@ For Monado, you need compile this fork:
**Important note #1**: Do not stop the SlimeVR server during operation, as driver and tracker hot-plugging are not yet supported. **Important note #1**: Do not stop the SlimeVR server during operation, as driver and tracker hot-plugging are not yet supported.
**Important note #2**: SlimeVR will not detect your HMD until you launch a game that supports trackers. For now, body calibration options will be available in-game.
After launching the game, you should see your trackers being detected. At this point, you can calibrate and use them.
## Third method: VRChat OSC ## Third method: VRChat OSC
**This method is only available in VRChat.** **This method is only available in VRChat.**

View file

@ -0,0 +1,74 @@
---
weight: 200
title: Using Mod Managers
---
# Using Third-Party Mod Managers with Steam Games
This is a guide on how to install and integrate mod managers (like Vortex, MO2, etc.) for games running in Proton.
**Note:** Most of this stuff will break if you use Flatpak for any of the involved programs.
![skyrim_vr_vortex](/images/steam_launch_vortex.png "Example usage: Vortex Mod Manager integrated into Skyrim VR on Steam")
## Pre-Requisites
- https://github.com/Matoking/protontricks
- https://github.com/tralph3/Steam-Metadata-Editor
- Launch your game at least once before!
## Procedure
1. Download your mod manager installer (Vortex, MO2, etc.)
2. Run the installer with `Protontricks Launcher`, select your game prefix when prompted
3. Finish the installer and note the installation path
4. Symlink mod manager's installation path inside prefix into the game's install path. For example:
```
ln -s "/home/faith/.local/share/Steam/steamapps/compatdata/611670/pfx/drive_c/Program Files/Black Tree Gaming Ltd/Vo
rtex/" "/home/faith/.local/share/Steam/steamapps/common/SkyrimVR/Vortex"
```
5. **Close Steam!** Then open Steam Metadata Editor
6. Find your game in the list, then click `Edit launch menu`
7. Click `Add New Entry`
8. In Description, enter the display name (e.g., `Vortex Mod Manager`)
9. Click on the `...` button in the Executable field
10. File picker will appear, which should be inside the game's install directory. If it's not, try again, restart your computer, or perform some ritual because it sometimes doesn't work properly.
11. Choose the mod manager executable (e.g., `Vortex/Vortex.exe`)
12. Make sure a relative path appears in the Executable field, as above! It won't work otherwise. If you see a full path `/home/faith/.local/share/steam/.../`, try deleting the entry and restarting the metadata editor.
13. The working directory should fill in automatically
14. Close the modal window
15. Click `Save` button
16. Enjoy
## Important notes
* Steam might occasionally remove the custom launch entry, just follow the guide again from Step 5.
* You have to install mod managers and dependencies for each game separately.
* You can't use the Nexus Mods button `Mod Manager Download` via browser, you have to download and adds mods manually.
# Redirecting game executable from custom launchers
It is possible to "redirect" any executable that Steam runs and launch any other executable you specify instead. This can be useful for launching Script Extender loader without having to replace any files.
You need to set game's launch options to the following:
```
bash -c 'exec "${@/OriginalGame.exe/CustomLoader.exe}"' -- %command%
```
replacing `OriginalGame.exe` and `CustomLoader.exe` with game's executable name and your custom launcher respectively.
## Examples
Redirect Fallout 4 VR to [F4 Script Extender](https://f4se.silverlock.org/) with dll overrides needed for other mods to work:
```
WINEDLLOVERRIDES="WinHTTP.dll=n,b;x3daudio1_7.dll=n,b" bash -c 'exec "${@/Fallout4VR.exe/f4sevr_loader.exe}"' -- %command%
```
Redirect original Crysis (2007) executables to [Crysis VR](https://crysis.vrmods.eu/):
```
MANGOHUD=0 bash -c 'exec "${@/Crysis.exe/CrysisVR.exe}"' -- %command%
```
Put any environment variables before `bash`, put any launch arguments for the game after `%command%`.

View file

@ -0,0 +1,63 @@
---
weight: 200
title: Pairing
---
# Pairing Lighthouse Controllers or Trackers
To pair lighthouse-capable hardware such as the Valve Index or HTC
Vive Pro controllers, or VIVE Trackers you'll need enough receivers (one for
each device).
Receivers can be either:
- watchman dongles (plugged in your computer, preferably not on an USB hub)
- if you have a lighthouse HMD (e.g. Valve Index, HTC Vive, Bigscreen Beyond),
there will be two already built-in (for both controllers)
## Pairing via SteamVR
You can follow the normal pairing process by launching SteamVR, and opening the
pairing window (in the Devices menu).
If however for some reason this does not work (in particular, if the pairing window
[does not render](https://github.com/ValveSoftware/SteamVR-for-Linux/issues/531)),
you can work around it by doing the pairing process via `lighthouse_console`.
## Pairing via `lighthouse_console`
In a terminal, launch `lighthouse_console` by running
```
~/.steam/steam/steamapps/common/SteamVR/tools/lighthouse/bin/linux64/lighthouse_console
```
### Identifying available receivers
You'll be greeted by a shell which starts by listing the serial number of attached receivers (both
dongles and built-in, if your HMD is connected).
Selecting a receiver is done by running `serial <serialnumber>` in the opened shell.
When pairing new devices,
you'll want to find a receiver that isn't paired with a device already. After a
receiver is selected, you can run `identifycontroller` to check if the receiver
is paired with a device (assuming the device is on).
In general, built-in HMD receivers will have longer serial numbers than dongle
ones.
If either you want to *replace* previously paired devices (e.g. when changing
controllers) or you're struggling to identify which receiver to use, run
`unpairall`. This will unpair all lighthouse devices!
### Pairing a device
Once you have selected an available receiver with `serial <serialnumber>`:
1. Turn on your device
2. Put it in pairing mode (e.g. hold System+B for Valve controllers), the LED
should be blinking blue
3. Run the `pair` command
After a few seconds, the LED should turn green, and the device is now paired.
Do this for each device you want to pair (remember to use a different receiver
for each device), and exit the shell by running `quit`.

View file

@ -27,5 +27,11 @@ Should the game prompt to exit the game upon an anticheat failure, simply try to
Given a [few caveats](video_players/) most video players will work. Given a [few caveats](video_players/) most video players will work.
## Privacy
VRChat drags quite a tangle of privacy concerns. VRChat drags quite a tangle of privacy concerns.
Please consider your opsec in relation to all VR API input including poses, all voice communication, unsandboxed code execution, the EAC anticheat system which occasionally probes system proc info and much more, and the game maintaining a memory buffered audio video recording of the window contents tied to the report system.
Please consider your opsec in relation to all VR API input including poses, all voice communication, unsandboxed code execution, the EAC (anticheat) system which occasionally probes the list of all system processes, the game maintaining a memory-buffered audio/video recording of the window contents tied to the report system, and much more.
In-game analytics can be blocked at the DNS level. These are often external services the game phones into to deliver usage statistics. Opt-out by blocking this domain list in your network or computer firewall/DNS service: https://github.com/Luois45/VRChatAnalyticsBlocklist

View file

@ -1,16 +0,0 @@
---
weight: 100
title: Blocking Ads in VRChat
---
Ads are annoying, bloated, and wasteful of your time and attention.
They are found prominently in popular worlds, luckily the prefabs can be blocked by the end user with this handy git project:
![AdGoBye](https://raw.githubusercontent.com/AdGoBye/AdGoBye/main/Marketing/lsmbeforeafter.webp)
https://github.com/AdGoBye/AdGoBye
In-game analytics can also be blocked at the DNS level, these are often external services the game phones into to deliver usage statistics. Opt out by blocking this domain list in your network or computer firewall/ DNS service.
https://github.com/Luois45/VRChatAnalyticsBlocklist

View file

@ -24,7 +24,8 @@ First, take a look at this page from [the official VRChat docs](https://creators
vrc-get is a native FOSS package manager written in Rust. Its GUI counterpart was formerly known as vrc-get-gui, but has been rebranded as ALCOM (***Al***ternative Creator ***Com***panion). vrc-get is a native FOSS package manager written in Rust. Its GUI counterpart was formerly known as vrc-get-gui, but has been rebranded as ALCOM (***Al***ternative Creator ***Com***panion).
1. Download the [AppImage from the latest "gui" release](https://github.com/vrc-get/vrc-get/releases). Pick the file named `alcom-<some version>-x86_64.AppImage`. 1. Download the [AppImage from the latest "gui" release\*](https://github.com/vrc-get/vrc-get/releases). Pick the file named `alcom-<some version>-x86_64.AppImage`.
- \*Some users say the v0.16.0 and v1.0.0 releases only show a blank white GUI. If you're affected by this bug, downgrade to [v0.1.15](https://github.com/vrc-get/vrc-get/releases/tag/gui-v0.1.15) AppImage for the time being.
1. Run the AppImage. 1. Run the AppImage.
1. In the settings tab, under Unity Hub Path, point it to your UnityHub.AppImage. 1. In the settings tab, under Unity Hub Path, point it to your UnityHub.AppImage.
1. Create a new project and open it. 1. Create a new project and open it.

View file

@ -6,19 +6,32 @@ title: VRCX
# VRCX # VRCX
- [VRCX GitHub Repository](https://github.com/vrcx-team/VRCX) - [VRCX GitHub Repository](https://github.com/vrcx-team/VRCX)
VRCX is a tool for managing your VRChat friendships, as well as providing additional convenience functionalities. VRCX is a tool for managing your VRChat friendships, as well as providing additional convenience features.
# Installer Script ## AppImage (Preferred Method)
### Stable
1. Download the latest .AppImage from here: [VRCX Official Releases](https://github.com/vrcx-team/VRCX/releases)
1. Run `chmod +x VRCX_*.AppImage`.
1. Run the AppImage. This will install it as an app, which then auto-removes the AppImage file.
1. Open VRCX from your apps.
### Nightly
- Do the same steps as above, but download the latest .AppImage from here, instead: [VRCX Nightly Releases](https://github.com/Natsumi-sama/VRCX/releases)
## Installer Script (Wine)
VRCX provides the [install-vrcx.sh](https://github.com/vrcx-team/VRCX/blob/master/Linux/install-vrcx.sh) script upstream, which does the steps of the manual installation for you. VRCX provides the [install-vrcx.sh](https://github.com/vrcx-team/VRCX/blob/master/Linux/install-vrcx.sh) script upstream, which does the steps of the manual installation for you.
You can run it per `curl -sSf https://raw.githubusercontent.com/vrcx-team/VRCX/master/Linux/install-vrcx.sh | bash`. Install it by running: `curl -sSf https://raw.githubusercontent.com/vrcx-team/VRCX/master/Linux/install-vrcx.sh | bash`
# Manual Installation ## Manual Installation (Wine)
- Grab the latest .zip from here: [VRCX Official Releases](https://github.com/vrcx-team/VRCX/releases) 1. Download the latest .zip from here: [VRCX Official Releases](https://github.com/vrcx-team/VRCX/releases)
- Use a new or existing Wine prefix of Wine 9.2 or later. Recommend using a non-proton Wine build. 1. Use a new or existing Wine prefix of Wine 9.2 or later. We recommend using a non-Proton build of Wine.
- `winetricks corefonts` 1. Run `winetricks corefonts`.
- Symlink your `drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat` folder from the VRChat Wine prefix to the VRCX Wine prefix 1. Symlink your `drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat` folder from the VRChat Wine prefix to the VRCX Wine prefix.
- Run `VRCX.exe` via Wine. 1. Run `VRCX.exe` via Wine.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB