There is no reason why vkd3d-proton should run faster than native d3d12 drivers. Using vkd3d-proton on Windows is purely for development/debugging purposes.
For the record:
Is the DXVK dxgi.dll in addition needed?
Yes.
Enabled the vkd3d log file. Dumping here as well in case anyone takes interest.
1008:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.1.0.
1008:info:vkd3d_instance_init: vkd3d-proton - build: d003424bc826afd.
1008:info:vkd3d_instance_apply_application_workarounds: Detected game Cyberpunk2077.exe, adding config 0x2, removing masks 0x0.
1008:fixme:debug_vk_memory_heap_flags: Unrecognized flag(s) 0x2.
1008:fixme:debug_vk_memory_property_flags: Unrecognized flag(s) 0xc0.
1008:fixme:debug_vk_memory_property_flags: Unrecognized flag(s) 0xc0.
1008:fixme:debug_vk_memory_property_flags: Unrecognized flag(s) 0xc0.
1008:fixme:debug_vk_memory_heap_flags: Unrecognized flag(s) 0x2.
1008:fixme:debug_vk_memory_property_flags: Unrecognized flag(s) 0xc0.
1008:warn:vkd3d_init_device_caps: Disabling robust buffer access for the update after bind feature.
1008:warn:vkd3d_init_depth_stencil_formats: Mapping VK_FORMAT_D24_UNORM_S8_UINT to VK_FORMAT_D32_SFLOAT_S8_UINT.
1008:warn:vkd3d_memory_info_find_global_mask: Blocking memory type 2 for use (PCI-pinned memory).
1008:warn:vkd3d_memory_info_find_global_mask: Blocking memory type 6 for use (PCI-pinned memory).
1008:info:vkd3d_bindless_state_get_bindless_flags: Device does not support VK_VALVE_mutable_descriptor_type.
1008:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 3584, may be inaccurate.
warn: CreateDXGIFactory2: Ignoring flags
info: Game: Cyberpunk2077.exe
info: DXVK: v1.7.3
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: Radeon RX Vega:
info: Driver: 2.0.168
info: Vulkan: 1.2.159
info: Memory Heap[0]:
info: Size: 7920 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Heap[1]:
info: Size: 5862 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Heap[2]:
info: Size: 256 MiB
info: Flags: 0x3
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[6]: Property Flags = 0xc7
warn: CreateDXGIFactory2: Ignoring flags
info: Game: Cyberpunk2077.exe
info: DXVK: v1.7.3
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: Radeon RX Vega:
info: Driver: 2.0.168
info: Vulkan: 1.2.159
info: Memory Heap[0]:
info: Size: 7920 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Heap[1]:
info: Size: 5862 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Heap[2]:
info: Size: 256 MiB
info: Flags: 0x3
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[6]: Property Flags = 0xc7
warn: DxgiAdapter::QueryInterface: Unknown interface query
warn: 7abb6563-02bc-47c4-8ef9-acc4795edbcf
VKD3D-Proton does not work with Cyberpunk on Windows for whatever reason.
Even on Linux the game is really problematic and only works on Mesa-Git RADV drivers.
What exactly are you hoping to achieve anyway? Even if it was working, it would be a lot slower than the native D3D12 driver.
It's working on NVIDIA too, not only on AMD.
https://youtu.be/44B7KpD1UmA
It'll work for a short while and then hang your GPU on Nvidia.
Yes it's problematic but is working somehow.
Hi,
well knowing Windows 10 is not the main focus of this engagement, are there any crucial steps I am missing to make D3D12 games like Civ6 or Cyberpunk 2077 run with vkd3d?
Placing the 2.1 release d3d12.dll into the games binary folder and starting it leads to a crash on startup. Is the DXVK dxgi.dll in addition needed? I tried with that too, but I get the same crash behaviour, except that in Civ6 I actually get the game exe to start for 5 seconds but stay in a black screen and then subsequently crash as well.
I am asking because I am quite fondly using DXVK in Windows for the fact that in 20% of my games it runs a bit faster than native, meaning I get less utilization, CPU/GPU for the same FPS target.
So I was wondering if vkd3d's goal is to do the same thing for DX12 games at least at some point in development. To put it differently, will vkd3d based on how it is designed work on Windows as well as DXVK or is it different from it in that perspective?
Using Windows 10, latest GPU drivers (20.12.1, AMD Vega 64)