diff --git a/content/docs/resonite/_index.md b/content/docs/resonite/_index.md index cbcf7ac..8e95642 100644 --- a/content/docs/resonite/_index.md +++ b/content/docs/resonite/_index.md @@ -29,7 +29,7 @@ As of the splittening release, Resonite only supports copy/pasting text, and doe This mod provides full clipboard functionality, but only works on Wayland: https://github.com/GrandtheUK/ResoniteLinuxClipboard -## Audio Issues +## Audio issues Resonite uses SDL for audio on Linux, but the current implementation can be a bit flaky. @@ -39,11 +39,43 @@ It is recommended that you use PipeWire as your system's audio service, includin The game will default to the PipeWire API if it can, falling back to the PulseAudio API. -### Glitchy audio +### Crackling microphone audio -The most straightforward way to fix a glitchy microphone is to use SDL's ALSA driver with `SDL_AUDIO_DRIVER=alsa %command%` as the launch argument on Steam. +There is an issue WiVRn users have in Resonite, resulting in their microphone audio becoming crackly / glitchy to others. In order to solve this issue, it's necessary to set Resonite to use the ALSA SDL audio backend, and make sure PipeWire sample rates are configured properly. -If that doesn't work, you can try forcing the other drivers by specifying `pipewire` or `pulseaudio` instead of `alsa` in the above launch arguments. +The steps are as follows: + +1. Force Resonite to use ALSA SDL backend for audio: + + Add the following to Resonite's Launch Options in Steam: + + ``` + SDL_AUDIO_DRIVER=alsa %command% + ``` + + **NOTE:** If you have already set launch arguments for Resonite, simply add `SDL_AUDIO_DRIVER=alsa` next to other env vars in your launch arguments. + + +2. Configure PipeWire sampling rates: + + For most if not all users, **using ALSA _WILL_ bork your audio** until you've manually configured PipeWire to use a default sample rate of 48kHz. If this happens: + + 2.1. Locate the directory or create it if it doesn't exist: `~/.config/pipewire/pipewire.conf.d/`. + + **NOTE:** If you have set `$XDG_CONFIG_HOME` to something other than `~/.config` then please adjust the paths according. + + 2.2 Create a configuration file (`01-sample-rates.conf` for this example) in that folder. The full path should be `~/.config/pipewire/pipewire.conf.d/01-sample-rates.conf`. + + 2.3 Paste the following content into the file to define supported sample rates, and save it: + + ``` + context.properties = { + default.clock.allowed-rates = [ 44100 48000 88200 96000 ] + default.clock.rate = 48000 + } + ``` + +If that doesn't work, you can try forcing the other drivers by specifying `pulseaudio` (or `pipewire`) instead of `alsa` in the above launch argument. If you want to use the PulseAudio driver, you may need `SDL_AUDIO_DRIVER=pulseaudio PULSE_LATENCY_MSEC=15 PULSE_BUFFER_MSEC=250 PULSE_FRAGMENT_SIZE_MSEC=25 %command%` as the launch arguments. @@ -51,7 +83,7 @@ If you want to use the PulseAudio driver, you may need `SDL_AUDIO_DRIVER=pulseau To be able to chose a virtual sink, you have two options: -1. Use `SDL_AUDIO_INCLUDE_MONITORS=1`, but this works with the PulseAudio driver *only* (add it next to your other env var in launch arguments). +1. Use `SDL_AUDIO_INCLUDE_MONITORS=1`, but this works with the PulseAudio driver *only* (add it next to your other env vars in launch arguments). 2. Select any other source in Resonite, and manually connect the wanted input or output to Resonite's sink using a PipeWire graph GUI (e.g. Coppwr, Qwpgraph, Helvum) Do note that for the Audio Stream feature of Resonite, you'll need to select a different source that the one you are using as your microphone, or else SDL will **not** create a sink dedicated for it. If you only have one input, use the Steam voice option. @@ -60,6 +92,12 @@ Do note that for the Audio Stream feature of Resonite, you'll need to select a d The PipeWire driver is not supported by Steam Flatpak OOtB, see [this issue](https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/5261#issuecomment-3228033460) if you need to use the PipeWire driver on Resonite in Steam Flatpak. +### No WiVRn mic audio + +If you're using WiVRn, close and reopen it. This mostly happens after Resonite has crashed. + +**NOTE:** Closing WiVRn will cause xrizer to crash Resonite if it's open. + ## FlipVR controller support with Monado Currently there is an experimental Monado branch that works with Shiftall FlipVR controllers. Instructions can be found [here](/docs/fossvr/monado/flipvr/). At the time of writing, this branch is the only way to use FlipVR controllers with Resonite, as they are not supported even through SteamVR on Windows. @@ -111,10 +149,38 @@ Navigate to compatdata in the folder above Resonite's folder (by default `.local It may be enough to just verify file integrity in some cases. +This can also happen because of **incorrect Steam launch options**. + ### Crash on loading into a world with video players On GE-Proton9-10 (for example), loading into a world with e.g. a YouTube video or live stream can crash the game. Try using the latest GE-Proton-RTSP release. +### Hanging on Launch + +Symptoms: + +- Steam reports Resonite is running but Resonite does not launch. + +Possible causes: +- Not having a default audio device selected. + + **Solution:** Select an/another audio device in your volume panel and see if it works. This is likely an SDL issue. + +- Improperly configured mod loaders and plugins. + + **Solution:** Try starting without Steam launch options and then re-add the env vars one by one. This is commonly caused by misconfigured MonkeyLoader. + +### Crash after loading + +Although this is rare, some proton updates can start crashing Resonite repetitively. + +Symptoms: +- Crashes approximately 1 minute after successfully loading Resonite. +- Everything freezes in both desktop mode and VR, but you can still hear sounds, including the voices of other users. + +If this happens, just switch Proton to another version such as Proton-GE or Proton-GE-rtsp. + + ## Controls busted after switching to desktop Resonite allows a VR player to take a break and switch to desktop mode by pressing the F8 key.