Are there multiple executables for this game (e.g. a separate launcher)? If the D3D11 log is empty, the game doesn't actually use D3D11, but since you're getting the HUD that doesn't make sense either.
Same thing with the log message you're getting, it's basically telling you that Vulkan cannot be used (probably some 32-bit setup issue), so if you are indeed getting the HUD, there must be some logs elsewhere.
Yes, there is a launcher application which starts the client application. The only log files I have found are:
exefile_dxgi.log
exefile_d3d11.log
The client application is called exefile.exe, hence the file names. I assume the name is prepended by DXVK.
The HUD does not show for the launcher nor during the startup phase of the game. Only once the graphics render does the HUD show. The game also has a few visual differences based on whether it is using DX9 or DX11, and it is showing the DX11 graphics (i.e. brighter interiors lights and on the outside one can see tiny little spaceships arriving at or leaving a station).
It is a 64-bit game and thus a mix of 32- and 64-bit libraries. WINE was installed with both i386 and amd64 packages, MESA drivers for Vulkan have both been installed for i386 and amd64, and also the Nvidia driver 396.24 installed the 32-bit compatibility libraries.
I've also installed the VulkanSDK 1.1.73 and ran the cube.exe demo, which brings up a rotating cube.
So I'm pretty confident that it is indeed working, only then it hangs. The hangs appear to occur faster without vsync. Using the new Vulkan compiler and turning it off both makes no difference.
@sdack The launcher itself does not need to be a "graphical" application, thus no log is generated, and it will only happen once the game .exe is run.
VulkanSDK should have both a cube.exe and a cube32.exe. Make sure both are working tho + ofc verify that your wine install has the correct d3d11.dll and dxgi.dll from DXVK in both system32 (64bit) and sysWOW64 (32bit).
Have not personally tried EVE, but where is the exefile.exe located? Same folder as the launcher? (Found some references to EVE/sharedcache/servername/bin... Afaik the .log files will be put in the same folder as the actual .exe binary)
Can you enable vsync or any other fps lock method and see if it still freezes? ESO and Warframe both have the same issue and they got fixed by enabling vsync in those games.
Sorry, was in a hurry and accidentally closed the issue.
The game is an MMO with free-to-play content. One can get it here: https://community.eveonline.com/support/download/ . It doesn't need to download the entire 8GB, but one can start playing after a few hundred MBs or so. Just in case anyone wants to give it a try.
@SveSop: I was only answering to doitsujin. Don't worry about it.
@varris1: I've already mentioned vsync above. And yes, it does seem to have a bit of an extending effect on it, but it will still hang and I'm far from calling it a fix.
I'm currently setting up a clean environment where everything is compiled with the same compiler. Using a mix of binaries on a Debian testing distro with custom kernel and other new stuff isn't the savest way to approach this. So I'll be busy for a while before I make a better attempt. Also a new Nvidia driver is out and I'll throw it in for a test later.
I've now build WINE from scratch and have also tested Nvidia's driver 396.18.08. It's the exact same result as before with WINE from WineHQ and 396.24 and 396.18.05. Eventually the game hangs.
One thing I've noticed in addition to the hangs is the VSync control from within the game not working correctly. The game allows for the following settings:
These settings work for DX9 and DX11 over OpenGL. With DXVK however do Interval One to Four all result in only a 60fps cap, meaning, "Interval Two" for example produces 60fps instead of the expected 30fps.
Update:
Nvidia 396.18.11 + WINE 3.8 + DXVK 0.51 still hangs.
I also now have log files with some content. Due to long repeated messages did I truncate duplicate lines and replaced them with "...". What stands out is:
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
*_d3d11.log:
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err: D3D11: Unsupported format: 0
err: D3D11: Unsupported format: 66
err: D3D11: Unsupported format: 89
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn: D3D11Device::GetDeviceRemovedReason: Stub
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11Device: No matching border color found for (0.498039,0.498039,0,0)
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
...
... (repeats more than 30,000 times)
...
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
...
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
*_dxgi.log
info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: GeForce GTX 960:
info: Driver: 396.18.11
info: Vulkan: 1.1.73
info: Memory Heap[0]:
info: Size: 2048 MiB
info: Flags: 0x1
info: Memory Type[7]: Property Flags = 0x1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 11944 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[1]: Property Flags = 0x0
info: Memory Type[2]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x0
info: Memory Type[4]: Property Flags = 0x0
info: Memory Type[5]: Property Flags = 0x0
info: Memory Type[6]: Property Flags = 0x0
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[10]: Property Flags = 0xe
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: GeForce GTX 960:
info: Driver: 396.18.11
info: Vulkan: 1.1.73
info: Memory Heap[0]:
info: Size: 2048 MiB
info: Flags: 0x1
info: Memory Type[7]: Property Flags = 0x1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 11944 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[1]: Property Flags = 0x0
info: Memory Type[2]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x0
info: Memory Type[4]: Property Flags = 0x0
info: Memory Type[5]: Property Flags = 0x0
info: Memory Type[6]: Property Flags = 0x0
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[10]: Property Flags = 0xe
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
warn: DXGI: MakeWindowAssociation: Ignoring flags
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 32x32
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 32x32
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 32x32
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 32x32
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
err: DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
err: DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 32x32
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
...
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 32x32
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
err: DxvkDevice: waitForIdle: Operation failed
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
...
err: DxvkDevice: Command buffer submission failed: VK_ERROR_DEVICE_LOST
Can you run the game with VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation and capture the result? VK_ERROR_DEVICE_LOST usually indicates that something illegal is going on on the Vulkan side.
It runs seemingly fine for a couple of minutes when VSync is on (~60fps). Once I turn it off does it go up to about 90fps, which is nice, but then hangs. Here is what I get...
WINE itself with normal debug channels dumps out a large amount of the following messages:
...
Objects: 1
[0] 0x19d20e, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d20e (Type = 23) | Descriptor set 0x19d20e bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d20f bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d20f, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d20f (Type = 23) | Descriptor set 0x19d20f bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d212 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d212, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d212 (Type = 23) | Descriptor set 0x19d212 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d21a bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d21a, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d21a (Type = 23) | Descriptor set 0x19d21a bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d26a bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d26a, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d26a (Type = 23) | Descriptor set 0x19d26a bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d26b bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d26b, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d26b (Type = 23) | Descriptor set 0x19d26b bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d26c bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d26c, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d26c (Type = 23) | Descriptor set 0x19d26c bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d26f bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d26f, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d26f (Type = 23) | Descriptor set 0x19d26f bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d277 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d277, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d277 (Type = 23) | Descriptor set 0x19d277 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d2c8 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d2c8, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d2c8 (Type = 23) | Descriptor set 0x19d2c8 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d2c9 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d2c9, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d2c9 (Type = 23) | Descriptor set 0x19d2c9 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding [#11](/issue/doitsujin/dxvk/11) at global descriptor index 11 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d2ca bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d2ca, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d2ca (Type = 23) | Descriptor set 0x19d2ca bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #5 at global descriptor index 5 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d2cd bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d2cd, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d2cd (Type = 23) | Descriptor set 0x19d2cd bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
(null)(ERROR / SPEC): msgNum: 61 - Descriptor set 0x19d2d5 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Objects: 1
[0] 0x19d2d5, type: 23, name: (null)
Validation(ERROR): msg_code: 61: Object: 0x19d2d5 (Type = 23) | Descriptor set 0x19d2d5 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
The *_d3d11.log file looks pretty much like the one before:
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err: D3D11: Unsupported format: 0
err: D3D11: Unsupported format: 66
err: D3D11: Unsupported format: 89
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn: D3D11Device::GetDeviceRemovedReason: Stub
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11Device: No matching border color found for (0.498039,0.498039,0,0)
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
warn: D3D11DeviceContainer::QueryInterface: Unknown interface query
warn: 6543dbb6-1b48-42f5-ab82-e97ec74326f6
... (repeats about 13,000 times)
*_dxgi.log:
info: Enabled instance layers:
info: VK_LAYER_LUNARG_standard_validation
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: GeForce GTX 960:
info: Driver: 396.18.11
info: Vulkan: 1.1.73
info: Memory Heap[0]:
info: Size: 2048 MiB
info: Flags: 0x1
info: Memory Type[7]: Property Flags = 0x1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 11944 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[1]: Property Flags = 0x0
info: Memory Type[2]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x0
info: Memory Type[4]: Property Flags = 0x0
info: Memory Type[5]: Property Flags = 0x0
info: Memory Type[6]: Property Flags = 0x0
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[10]: Property Flags = 0xe
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
info: Enabled instance layers:
info: VK_LAYER_LUNARG_standard_validation
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: GeForce GTX 960:
info: Driver: 396.18.11
info: Vulkan: 1.1.73
info: Memory Heap[0]:
info: Size: 2048 MiB
info: Flags: 0x1
info: Memory Type[7]: Property Flags = 0x1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 11944 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[1]: Property Flags = 0x0
info: Memory Type[2]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x0
info: Memory Type[4]: Property Flags = 0x0
info: Memory Type[5]: Property Flags = 0x0
info: Memory Type[6]: Property Flags = 0x0
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[10]: Property Flags = 0xe
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
warn: DXGI: MakeWindowAssociation: Ignoring flags
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
Seeing how these are quite a lot of messages did I capture it into a file.
This seems to be the gist of it:
$ zcat log.gz|fgrep 'Validation('|sort -u
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires extension VK_KHR_shader_draw_parameters but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::imageCubeArray but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::sampleRateShading but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderClipDistance but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderCullDistance but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderStorageImageMultisample but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderStorageImageReadWithoutFormat but is not enabled on the device
Validation(ERROR): msg_code: 15: Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderStorageImageWriteWithoutFormat but is not enabled on the device
Validation(ERROR): msg_code: 1: Object: VK_NULL_HANDLE (Type = 0) | Attribute type of `VK_FORMAT_R8G8B8A8_UINT` at location 1 does not match vertex shader input type of `ptr to input vec4 of sint32`
Validation(ERROR): msg_code: 1: Object: VK_NULL_HANDLE (Type = 0) | Attribute type of `VK_FORMAT_R8G8B8A8_UINT` at location 5 does not match vertex shader input type of `ptr to input vec4 of sint32`
Validation(ERROR): msg_code: 1: Object: VK_NULL_HANDLE (Type = 0) | Attribute type of `VK_FORMAT_R8G8B8A8_UINT` at location 8 does not match vertex shader input type of `ptr to input vec4 of sint32`
Validation(ERROR): msg_code: 3: Object: VK_NULL_HANDLE (Type = 0) | Attachment 1 not written by fragment shader
...
Validation(ERROR): msg_code: 61: Object: 0x126e9 (Type = 23) | Descriptor set 0x126e9 bound as set #0 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #7 at global descriptor index 7 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Validation(ERROR): msg_code: 61: Object: 0x126f7 (Type = 23) | Descriptor set 0x126f7 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
...
zcat log.gz|fgrep -i vulkan|sort -u
0075:fixme:setupapi:CM_Locate_DevNodeW 0x337920 L"\5246\4545\01d8\0011\01c8\0011dows\\system;C:\\windows;.;C:\\VulkanSDK\\1.0.68.0\\Bin;C:\\wi)" 0x00000000: stub
0075:fixme:setupapi:CM_Locate_DevNodeW 0x337970 L"\5246\4545\01d8\0011\01c8\0011dows\\system;C:\\windows;.;C:\\VulkanSDK\\1.0.68.0\\Bin;C:\\wi)" 0x00000000: stub
0075:fixme:setupapi:CM_Locate_DevNodeW 0x337970 L"\5246\4545\0278\0011\0268\0011 (x86)\\EVE\\SharedCache\\tq\\bin;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;C:\\VulkanSDK\\1.0.68.0\\Bin;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem" 0x00000000: stub
0075:fixme:setupapi:CM_Locate_DevNodeW 0x337a90 L"\5246\4545\0108\0011\00f8\0011LE_VULKAN_RENDERDOC_CAPTURE" 0x00000000: stub
0075:fixme:setupapi:CM_Locate_DevNodeW 0x337a90 L"\5246\4545\01d8\0011\01c8\0011dows\\system;C:\\windows;.;C:\\VulkanSDK\\1.0.68.0\\Bin;C:\\wi)" 0x00000000: stub
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Global function "vkEnumerateInstanceVersion" not found.
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDebugReportCallbackEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDebugUtilsMessengerEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDisplayModeKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDisplayPlaneSurfaceKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateSharedSwapchainsKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugMarkerSetObjectNameEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugMarkerSetObjectTagEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugReportMessageEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDestroyDebugReportCallbackEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDestroyDebugUtilsMessengerEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkEnumeratePhysicalDeviceGroups".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkEnumeratePhysicalDeviceGroupsKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetDeviceGroupSurfacePresentModesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetDisplayModePropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetDisplayPlaneCapabilitiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetDisplayPlaneSupportedDisplaysKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceDisplayPlanePropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceDisplayPropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalBufferProperties".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalBufferPropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalFenceProperties".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalFencePropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalImageFormatPropertiesNV".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalSemaphoreProperties".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceFeatures2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceFormatProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceImageFormatProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceMemoryProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceMultisamplePropertiesEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDevicePresentRectanglesKHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceQueueFamilyProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceSparseImageFormatProperties2".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceSurfaceCapabilities2EXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceSurfaceCapabilities2KHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkGetPhysicalDeviceSurfaceFormats2KHR".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkReleaseDisplayEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkSetDebugUtilsObjectNameEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkSetDebugUtilsObjectTagEXT".
0075:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkSubmitDebugUtilsMessageEXT".
The messages about certain extensions or features not being enabled are complete nonsense (DXVK even logs the extension in question as being enabled!) and I'm really not sure why the validation layers are complaining about that, and most of the other messages are caused by minor game bugs that don't really matter in practice.
But this one is nasty:
Validation(ERROR): msg_code: 61: Object: 0x126f7 (Type = 23) | Descriptor set 0x126f7 bound as set #0 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #9 at global descriptor index 9 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
This might be the cause of this issue, but it's going to be extremely hard to work around this. Unless I run into other games doing the same thing I doubt I'll be fixing this any time soon.
The problem here is that the game binds a non-multisampled texture to a resource slot that expects a multisampled texture. Not sure if this is even allowed in Dx11 (might be another game bug - wouldn't surprise me, all games are broken in one way or another), but this game expects it to work.
The game renders just fine. So whatever it's trying to do, and it obviously fails, doesn't seem to affect its performance. Could be the game doesn't expect it to work, but only expects it not to cause any harm. Best fix would be to ignore the case and just don't pass anything on, but to silently drop it.
Do you think you could do something like this?
By the way, the game is now 15 years old. It has seen many changes and graphical upgrades. I'm almost certain this is caused by old code and not anything vital. Apart from the hangs does DXVK render actually better than the DX9 version, which has a few minor artifacts in it. It's really just the hangs that have to go. If those are gone will the game with DXVK render better than DX9 or DX11 over OpenGL (DXVK supports AA, which DX11/OpenGL does not) and it will do so while being much faster than the DX11/OpenGL version and almost as fast as the DX9 version of the game.
Do you think you could do something like this?
Yes, but that's probably incorrect. I'll have to run some tests on Windows for that though. I can't just pull these things out of my arse, I need to emulate Windows behaviour or things will probably go wrong in other games.
If you're looking for more ways to trigger this error, then it may be useful to know that Witcher 3 (1.31) running with VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation on dxvk 0.51 triggers a lot of:
DS(ERROR): object: 0x420587f type: 23 location: 1123 msgCode: 61: Descriptor set 0x420587f encountered the following validation error at vkCmdDraw() time: Descriptor in binding #1 at global descriptor index 1 requires bound image to have multiple samples, but got VK_SAMPLE_COUNT_1_BIT.
Update: DXVK 0.52 + Nvidia 396.18.11 still produces hangs and the game's VSync settings behave wrong as before.
I just decided to test DXVK again (been a while)
AMD with RADV.
Update: WINE 3.9 + Nvidia 396.24.02 + DXVK 0.52 (commit: b78130defd4b3b19543ed4ce1244e607131814dc) leads to hangs and also same VSync issue as before.
Did you try to disable "Allow Flipping" in nvidia-settings? It seems to have fixed my freezing issues in TESO. Maybe It'll help you as well.
@varris1 I've tried it and it has indeed stopped the hangs. Much appreciated. I hadn't expected an OpenGL setting having an effect on Vulkan tbh.
So this fixes the hangs and I've ran some tests, including an auto-pilot run to Jita and orbiting outside of Jita station. Still no hangs.
What remains are the VSync issues, which are still there and now that I could test some more have I seen some visual artifacts, too. One being flicking on the in-game HUD (not the HUD of DXVK) where the speed meter and the outer circle shows flickering. Also the HUD of the first-person camera shows fractured graphics. Further has the game minimized itself once and for no reason at all, which I haven't seen it do before.
Still, this is all in all very playable state now. I'll see if I can get some more tests done and will also make some screenshots later.
This was done with: WINE 3.9 + Nvidia 296.24.02 + DXVK 0.53
I'm aware that Vsync with intervals other than one frame doesn't work, it was implemented in DXVK at some point but was removed due to general issues with the presentation code. I can add it back though.
As for the visual issues, I need an apitrace to debug those. Feel free to open a new issue about that, I'll close this one once the Vsync issue is resolved.
The game EVE Online by CCP runs with DXVK, but after a couple of minutes hangs for no apparent reason. The rendered graphics look all right and the frame rate is also good.
GPU: Nvidia GTX960
Driver Nvidia 396.24
DXVK 0.42 (binary)
WINE 3.7 development (binary from WINEHQ)
The DXVK HUD is showing, but the *_d3d11.log is empty. The *_dxgi.log shows only one line:
err: DxvkInstance::getExtensions: Extension VK_KHR_surface not supportedI'm not sure if I can run apitrace with it at the moment, because the game is started by a launcher application and seems to require some crypto keys. I'll look into it when I have some more time. I'm happy I got it running.
If anyone has got more information then please post them here. I'll also keep adding more once I have something.
Thank you.