protonscr

Submitting Vulkan image returns VRCompositorError_SharedTexturesNotSupported

steamvrclosed
ValveSoftware/SteamVR-for-Linux#81 · opened 2017-11-29 by CarpeNecopinum · updated 2017-12-01 · 4 comments · github
CCarpeNecopinum 2017-11-29 github

I'm submitting a Vulkan image to OpenVR with

vr::VRCompositor()->Submit(vr::EVREye(index), &tex);

where tex has the eType vr::ETextureType::TextureType_Vulkan and the handle points to a filled out VRVulkanTextureData_t.

The submit returns the error VRCompositorError_SharedTexturesNotSupported, which is documented in the openvr.h with "(application needs to call CreateDXGIFactory1 or later before creating DX device)". Which is somewhat unhelpful, as I'm not using DX, but Vulkan.

As a result of this, SteamVR classifies my application as "not responding" and renders the gray "loader room", while the companion window of my application (not the SteamVR mirror window) shows the expected output.

This occurs since a recent Steam/SteamVR update (can't pinpoint the exact date as I used Steam in offline-mode for ~1 month).
This also affects my older (formerly working) applications, as well as the SteamVR Home and Tutorial.

The issue occurs with the beta versions of Steam/SteamVR as well as the regular ones.

SteamVR system report: https://gist.github.com/CarpeNecopinum/70c5adc85594c3398527b24a6f38ada0
Distro:
Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux
Steam Built: Oct 30 2017, at 19:09:46, version 1509425745
Nvidia Driver: 384.90

CCarpeNecopinum 2017-11-29 github

Update: This issue is apparently resolved when using the nvidia driver version mentioned in 2c376bdf58a1b5b22057d25a082b62b65feb57ea .
Still it would be desirable to get better error messages for issues like this in the future. Also the nvidia driver version mentioned in the README should be updated accordingly.

PPlagman 2017-11-29 github

More importantly, I would also make sure you're properly plumbing through needed extensions, as the client-side of the runtime won't be able to set up shared textures with your Vulkan device otherwise; see this document for all requirements associated with using Vulkan with OpenVR:

https://github.com/ValveSoftware/openvr/wiki/Vulkan

CCarpeNecopinum 2017-11-30 github

That was all properly taken care of... and as I wrote above, this even affected applications like SteamVR Home. Of course I can't see the error code there, but the symptoms (compositor stays in the loading stage, application is shown as "not responding" by SteamVR) were identical.

PPlagman 2017-12-01 github

The drivers requirements were indeed out of date. Thanks for reporting the issue!

Nothing extracted yet.