Resonite

Resonite #

News #

  • August 2025: FrooxEngine was updated to run natively on Linux.
  • November 2025:
    • SDL was replaced with SoundFlow, fixing Linux-specific audio issues.
    • yt-dlp was replaced with its native Linux variant, fixing most video player issues.
  • December 2025: Clipboard was officialy fixed for Plasma users, but broken for other DEs.

Software requirements #

PC #

  1. Proton compatibility enabled in Resonite’s properties in Steam Library.

    While the game engine runs on Linux, the renderer runs through Proton. The current recommended Proton variant is Proton-GE. It can be installed through ProtonUp-QT. It also solves the issue with rendering Resonite’s logo on startup.

  2. KDE Plasma for clipboard functionality.

VR #

  1. All of the above (Proton, Wayland).

  2. WiVRn (for standalone headsets) or Envision (for FBT and other headsets).

  3. xrizer (OpenComposite is not supported).

Common issues #

  1. Using a bugged/unstable Proton version or not using it at all:

    Open Steam Library -> Right-click Resonite -> Properties -> Compatibility -> Check Force (…) and choose a (different) Proton variant.

    Note: you need to restart Steam after installing an unofficial Proton variant.

  2. Using standalone SteamVR:

    SteamVR is known to be unstable. If you have a standalone headset, use WiVRn and uninstall SteamVR. In all other cases, use Monado or its wrapper/GUI Envision.

  3. Using OpenComposite:

    Please double-check if WiVRn/Envision is set to use xrizer, not OpenComposite. Crash explained below.

  4. Using Flatpak or standalone WiVRn without the required launch arguments:

    Make sure you’ve also rebooted your system after installing WiVRn, to see those arguments.

  5. Incorrect launch options format.

Graphical issues #

Mirrors look cross-eyed #

When playing Resonite under Monado or WiVRn, the 3D effect of mirrors may appear way off, as if looking through them feels like your eyes are crossed. This only affects headsets with canted displays (e.g. Valve Index, Pimax).

To solve this, prepend OXR_PARALLEL_VIEWS=1 to Resonite’s launch options.

Exploding meshes #

There was an unreported bug with avatar meshes (skinned mesh renderers) glitching out in VR mode on some AMD GPUs, where random triangles would become big for one frame, but it was fixed on Arch Linux in December 2025 with an unspecified package update.

Color bars #

If you see TV color bars on loading and exiting screens, switch Proton to a newer variant, such as GE or Cachy.

Performance #

Resonite is normally CPU-bottlenecked unless your VR resolution is set too high.

If you’re using WiVRn, lower the rendering and streaming (foveation) resolutions in the WiVRn app.

If you’re on Monado, this can be easily done by prepending OXR_VIEWPORT_SCALE_PERCENTAGE=75 to Resonite’s launch options. Experiment with different values to find your preferred balance between performance and quality.

Mods #

Resonite has a thriving modding community with an abundance of mods that offer greater user experience, optimizations and new features.

Currently there are 3 mod loaders:

A more detailed comparison table between modloaders is available here.

Stuck on the loading screen #

This happens when a mod loader is incompatible with a new Resonite update.

Crashes #

Resonite’s renderer is known to randomly crash suddenly - this is currently tracked at Issue #5325.

There is also a known memory leak when running the renderer on Linux - however, it is uncertain currently whether this is an issue with Proton or there is something else at play - see Issue #5246.

During VR gameplay, the renderer may cause a full GPU Reset if you have an AMD graphics card that is heavily loaded. Check dmesg if this occurs.

CachyOS’s native Proton has been unstable in Resonite (as of December 2025), causing frequent, but not instant crashes, while CachyOS’s SLR Proton (the one available on ProtonUp-QT) is comparable to GE.

Occasional crashing can happen for many reasons, including mods, but Resonite (or .NET) is particularly sensitive to unstable RAM overclocks, which may crash it at random intervals where other apps wouldn’t crash. Use memtest86 to test your RAM, and consider testing your CPU and GPU as well.

Crash on launching only in VR #

Resonite crashes when OpenComposite is used in VR.

Symptoms:

  • Crashes only in VR mode, where after several seconds a black window appears and closes briefly, then Resonite stops within approximately 30 seconds.
  • The normal log file shows a renderer crash: RendererProcess has exited. Shutting down. There’s a Player.log file.

Solution:

Use xrizer, as OpenComposite is unsupported and considered legacy.

See Issue #5152 for more information.

Crash on launching in desktop & VR mode #

Proton data can get corrupted, which will result in consistent crashes on launch.

Symptoms:

  • Crashes 2 seconds from launch in desktop mode (and in VR)
  • No log files (no main log, no Player.log, no crash log, no proton log with PROTON_LOG=1, only the bootstrapper log)
  • Error windows show up if you’re using certain mod loaders.

Solution:

Navigate to compatdata in the folder above Resonite’s folder (by default .local/share/Steam/steamapps/compatdata/) and delete the 2519830 folder; it will regenerate on the next launch. Then verify the integrity of Resonite files in Steam (right-click Resonite and go to Properties>Installed Files>Verify).

It may be enough to just verify file integrity in some cases.

This can also happen because of incorrect Steam launch options.

Hanging on launch #

Symptoms:

  • Steam is showing Resonite is running while it isn’t starting.
  • Resonite starts launching and stops immediately.

Possible causes:

  • Not having a default audio device selected.

    • Select an audio device in your volume panel.
  • Improperly configured mod loaders and plugins.

    • Try starting without Steam launch options and then re-add them one by one. This is commonly caused by misconfigured MonkeyLoader.
  • Stuck background process, most likely dotnet.

    • From easier to more extreme solutions:
      • Press STOP in the Steam library and try again.
      • Close/terminate the process that caused it, such as Steam
      • Relog your user
      • Reboot your system
  • Borked launch arguments

Crash after loading #

On some systems, X11, Proton or wine updates can cause race conditions, crashing Resonite shortly after launch.

Symptoms:

  • Freezes immediately upon loading Local Home or any other world on each startup.
  • Crashes approximately 1 to 2 minutes after successfully loading.
  • Everything freezes in both desktop mode and VR, but you can still hear sounds, including the voices of other users.
  • Regular logs cut off (this symptom is not specific to this issue).

Solutions:

  • Switch Proton to another variant, such as Proton-GE or Proton-CachyOS.
  • Switch from X11 (if you’re using it) to Wayland. Follow your distro’s instructions.
  • Revert package updates (using snapshots is highly recommended) or wait for a hotfix.

Controls #

FlipVR controller support with Monado #

Currently there is an experimental Monado branch that works with Shiftall FlipVR controllers. Instructions can be found here. 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.

Controller buttons or hand tracking not working #

There’s an issue that prevents Resonite from switching between hand tracking and controllers.

It happens when you have hand tracking enabled in the headset (even if it’s disabled in WiVRn, for example) and launch Resonite while the controllers are in stand-by mode.

To prevent this, disable hand tracking completely. Alternatively, always hold controllers while starting Resonite, but this isn’t guaranteed to fix hand tracking, and will cause you trouble every time you forget to hold your controllers when starting Resonite (if you’re experiencing this issue).

Video players #

Videos keep glitching #

The Unity Native playback engine can have this issue on some systems, which could be caused by hardware acceleration. This issue isn’t tracked yet.

Play the video in a different player that’s already set to use libVLC.

To fix your existing player:

  1. Open an Inspector on the video player you’re using in Resonite.
  2. Find the VideoTextureProvider component (normally under a slot with Video in its name, in the first or second hierarchy level under its root).
  3. If it’s using Unity Native, press Use libVLC Playback Engine.

YouTube videos don’t load #

yt-dlp, the script that loads videos from YouTube and similar websites, updates itself on Resonite startup, so restarting may help.

Sometimes YouTube videos just won’t load, which is caused by YouTube blocking yt-dlp in increasingly elaborate ways. This should only happen occasionally, but can be mitigated by using the Video Proxy mod to import videos through a proxy (in the import dialogue), although proxies also get occasionally blocked, requiring you to switch to a different one in the mod’s settings menu.

If you for some reason needed to get an older version of yt-dlp, follow these instructions:

  1. Download an older nightly yt-dlp_linux.

    In the worst-case scenario, download the latest stable.

  2. Move it to ~/.local/share/Steam/steamapps/common/Resonite/RuntimeData/ and overwrite the yt-dlp_linux file that was already there.

    To check the version, run yt-dlp --version in the same path.

  3. Mark it as executable with chmod +x ~/.local/share/Steam/steamapps/common/Resonite/RuntimeData/yt-dlp.

    This fixes a Permission denied error you’d otherwise see in the Resonite log.

Note: if you follow these steps and start/restart Resonite, you’ll lose your changes.

You could also try switching cookie settings in Resonite’s menu: Settings>Network>Video Streaming Services>Use Cookies From Browser (start with NONE).

Steam launch options #

  • If you’re using environment variables and/or wrapper scripts, use one, and only one %command%.
  • Make sure the arguments match the following order. Breaking this order can and will prevent Resonite from starting:
    SOME_ENV_VARS=1 some-wrappers %command% -SomeCommandLineOptions