-
Notifications
You must be signed in to change notification settings - Fork 1
Linux Differences
OnAirTap is developed on Linux, by a Linux user.
I'm using EndeavourOS, if you're interested.
As such, Linux compatibility is a high priority. I've tried my best to find solutions or work-arounds for most of the issues I encountered.
If the game has a native Linux version, don't use it. Switch to the Windows version of the game. In Steam, you can do that from Properties > Compatibility, by ticking the box and choosing a Proton version.
To use the Spout feeds, you will need Spout2PW and obs-pwvideo by Hoshino Lina. Those are no longer actively developed, but they still work fine.
You may want to set the SPOUT2PW_INSTANCE variable to something, so your pipewire feeds have the same name across games.
If you're using a version of VRnyan before v2.1, a helper program is required to pull data out of the Wine instance and into native shared memory. Builds of that program are found in the assets of releases v0.5 and v0.3. Run it in the same Proton environment as your VNyan instance by setting the PROTON_REMOTE_DEBUG_CMD environment variable.
The helper exe currently has no accessible stop mechanism, so you will have to end it yourself.
Pipewire Video sources can only be premultiplied. It is assumed that the feed always is, and there's no built-in way to change that, so some workarounds are needed.
As stated in Compositing, most filters will reset the source back to straight alpha. I personally use an empty shaderfilter, but you can use a Colour Correction filter on default settings.
To ignore the alpha channel, we can't use a filter, because those will first re-do the multiplication and blank out areas of the image. Instead, I put the source in a group with a black colour source of the same size. Filters, like Advanced Mask, can then be applied to the group.
Groups cannot be nested, though. If you need to put your source inside a group, you might need to use a separate scene. In that scene, put the pipewire source and a black colour source. You can then bring that scene into your original scene as a source, at which point it can be inside a group.
The mod itself is very runtime-agnostic. I did all of my development testing using Monado's simulated QWERTY driver. Open Brush's non-VR mode demonstrates that you don't even need a VR runtime open for this to work. However, Monado is not currently usable as part of any useful OnAirTap setup. At time of writing (2026-07-31), VNyan's VR tracking can only work under SteamVR. This is because OpenComposite and xrizer do not support OpenVR's "Overlay" application type.
There is ongoing work that may improve this situation.
Your Spout feeds can sometimes just die. I think this is a Spout2PW problem, since the buffer textures in Unity are still receiving updates. This used to be a problem on scene loads, back when BlankSpoutSenders was implemented differently, but now it's usually only a problem on resolution changes, since that causes a remake of the senders. It can also just happen out of the blue, though that is somewhat uncommon.
I cannot provide any information on when this will improve.