Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neos VR unplayable even if RADV is forced #331

Open
purplebar0 opened this issue Jul 16, 2023 · 1 comment
Open

Neos VR unplayable even if RADV is forced #331

purplebar0 opened this issue Jul 16, 2023 · 1 comment
Labels
reproducing Reproducing the issue

Comments

@purplebar0
Copy link

purplebar0 commented Jul 16, 2023

First off, the game only renders properly with RADV, while AMDVLK and AMDGPU-PRO split the VR framebuffer into a garbled mess of squares. This is an issue, but the bigger issue is that, presumably due to AMDVLK's Vulkan driver switching logic, forcing RADV does not help either.

Setting AMD_VULKAN_ICD=RADV (forcing Mesa RADV) makes the game render properly, however the VR HMD receives no framebuffer from the game if Steam is running, and if it isn't running, the game stops rendering on the HMD as soon as SteamVR Dashboard is brought up.

Artix Linux. The Linux build of the game was tested with SteamVR beta and SteamVR 1.14 on RX 6600 XT. The tested headset is SteamVR-native Valve Index.


Additional note to testers: SteamVR itself also requires RADV to be forced in order to avoid stuttering and artifacts, other games I tested do work this way (Half-Life: Alyx, Boneworks work perfectly if SteamVR uses RADV and the games use AMDVLK).

@purplebar0
Copy link
Author

purplebar0 commented Jul 17, 2023

Workaround: Set these variables to /etc/environment so that RADV becomes default and AMD_VULKAN_ICD is ignored:

DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

Use this to force AMDVLK for games that work properly with it:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json

The culprit is AMD_VULKAN_ICD. Something about it is buggy, and even setting it to RADV causes issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reproducing Reproducing the issue
Projects
None yet
Development

No branches or pull requests

2 participants