Hi; when an Optimus/Prime system is used with vkd3d-proton ( D3D12 to Vulkan translation layer that is used in Valve’s Proton and can be used on Wine as well ) with master branch of it, games fails to render anything on screen.
Using VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id
environment variable makes the DX12 games renders correctly with vkd3d-proton.
When apps fails to render , log that is grabbed with VKD3D_CONFIG=vk_debug
contains 0198:err:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Failed to create swapchain, vr -3.
.
When VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id
is used, apps renders correctly and log from VKD3D_CONFIG=vk_debug
contains 0198:info:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 3 swapchain images
instead of failure.
Can be easily reproduced within Steam with any DX12 game and using Proton Experimental as Proton build. Proton Experimental ships a fairly close to vkd3d-proton master build.
A further note; Nvidia actually tried to fix issues with that extension in 525.78.01 with Fixed a bug where usage of VK_KHR_present_id could cause applications to crash with Xid 32 errors.
. With 525.78.01 and newer apps doesn’t crash anymore when that extension is used but has presentation problems mentioned/explained above.
Nvidia bug report log:
nvidia-bug-report.log (20.2 MB)