protonscr

Construct VR - The Volumetric Movie

vkd3dclosed appid 1674620
HansKristian-Work/vkd3d-proton#1617 · opened 2023-07-02 by wallcarpet40 · updated 2024-04-16 · 0 comments · github · game page · search this game
Wwallcarpet40 2023-07-02 github

Software information

Construct VR - The Volumetric Movie

System information

  • GPU: AMD Radeon 6800XT
  • Driver: Mesa 23.1.3
  • Wine version: GE-Proton8-4 (tried latest Proton Experimental, Proton 8 and Proton 7)
  • VKD3D-Proton version: latest-git
  • VR headset: Valve Index.
  • Steam beta: Steam Client Build Date: Sat, Jul 1 03:19 UTC -08:00
  • SteamVR beta: 1.26.4

Log files

Attached:
steam-1674620-before-patching-vkd3d-proton.log
steam-1674620-after-patching-vkd3d-proton.log

Symptoms

Before patching, I get error-windows popping up on my screen:

ERROR: command signature could not be created.
ERROR: Could not load root signature for 'sort_bin32_count.shd'
ERROR: Could not load root signature for 'sort_bin32_move.shd'.
ERROR: Failed to load a shader.

In the log file steam-1674620-before-patching-vkd3d-proton.log I can see a line saying:

6844.528:0144:0148:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.

These errors can be solved by adding a line to libs/vkd3d/device.c in the static const struct vkd3d_instance_application_meta application_override[] = {

{ VKD3D_STRING_COMPARE_EXACT, "PresenZ_LitePlayer.exe", VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO , 0 },

After compiling vkd3d-proton with these changes, I can drop the new 64-bit d3d12core.dll and d3d12.dll to the game's directory next to the executable and program starts up, but it does not hook to my Valve Index.

Instead, I get the program window on my desktop. I can hear sound coming from my Valve Index and the program window reacts to my head movement and I can play the movie, but no image on the VR headset (The headset is on and the SteamVR void is in the background).

From what I have seen on other people's reports on other D3D12-games, some (if not most) D3D12 VR games do not run in VR-mode and only outputs to the desktop.

I'm not sure, if the issue is with vkd3d-proton, dxvk or SteamVR.

edit: adding info that no need to patch or compile vkd3d-proton separately, just start the game with launch options:

VKD3D_CONFIG=force_compute_root_parameters_push_ubo %command%

Also commenting that another VR game on Steam called Wrench has both DX11 and DX12 renderers. VR works on DX11, but only shows up on the monitor, when using DX12.

steam-1674620-before-patching-vkd3d-proton.log
steam-1674620-after-patching-vkd3d-proton.log