For my own later reference: this either requires an actual implementation of CFacetVRRenderer::InsertEventQuery() and CFacetVRRenderer::IsEventQueryComplete(), or requires CTrackedCamera::UpdateCameraImage() to not blindly use event queries (e.g. disabling tracked camera support when Facet is active).
(Preferably the first.)
Also, yeah, it's not technically meant for non-VRLink use cases, so strictly speaking this isn't a supported code path; any VRLink headset that has passthrough will be doing the passthrough on the client side, not the host side. But I can see why it would work better in some cases.
Regardless, the fact that you can enable this combination of features means at the very least we probably shouldn't assert and fall over; that should be addressed in some fashion, whether that's adding support for event queries to Facet (so passthrough works) or disabling host-side passthrough support entirely with Facet (so it doesn't attempt this and go boom).
Ended up "implementing" this myself. I had a friend switch to Linux, and they missed having room view. Having room view on without Facet (Vulkan Renderer) caused a crash for his specific AMD GPU and not mine.
https://github.com/BnuuySolutions/SteamVRLinuxFixes/commit/0d6dd88dfc5a8bf579612f39e4dd92c07b317fb3
If needed, here's what I did for reference. Lots of stuff is hard-coded, so hopefully it won't be too long before it's properly implemented, or I have to figure out a way to reliably patch this across versions.
I cannot promise this in the next beta simply because there's a lot of Machine/Frame stuff being worked on, but I promise I've got it on my todo list. :)
Nothing extracted yet.
Currently when trying to use room view and the Facet render, an assertion causes vrcompositor to abort.
This does not occur when
useFacetRendereris set tofalsein thesteamvrsection. Using Facet does (in some cases) help bring some improvements for performance. However, it is worth noting Facet does not appear to be an officially supported feature for non Steam Link users to enable. It would be nice for this to work for the sake of completeness.Tested on SteamVR Beta 2.17.2 on EndeavourOS Linux 7.0.9-arch1-1 using a PSVR2 with a test version of PSVR2Toolkit and Ignition (Windows SteamVR driver translation layer).