Additional info:
This project serves as a minimal verifiable example.
while (true) {
using namespace std::chrono_literals;
std::this_thread::sleep_for(500ms);
const auto randomValue = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
vr::VRSettings()->SetFloat(
vr::k_pch_CollisionBounds_Section,
vr::k_pch_CollisionBounds_FadeDistance_Float,
randomValue );
vr::VRSettings()->Sync();
}
The random float being set is required for it to malfunction.
It degrades the performance until a SteamVR, Steam and application crash on Manjaro and Ubuntu but not on Windows, on an i7-6700K.
In the example above, a time of 0.5 seconds is enough to cause the crash, but in OVRAS the issue occurs at slightly above 1 seconds.
Seems to be resolved, I ran the test sample and it didn't crash or slow down / it wasn't noticable at all.
Nothing extracted yet.
When trying OpenVR Advanced Settings it caused SteamVR Home and dashboard performance to be horrible. SteamVR Home drops all frames the next 500ms or so after a call and Dashboard performance is really bad, too. If I let the sync call be called every frame, then it crashes after a few seconds, reducing the rate doesn't really help much but exending that to half a minute or so. It crashes every time.
I tested this both on Manjaro KDE (latest testing updates) and on Ubuntu 19.04. No difference in behaviour. This issue does not appear on Windows 10 on the same computer. Logs and perhaps some other additional information can be found at https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/252.