Open Evernow opened 1 year ago
Hm interesting. I've not been able to reproduce any corruption on my R9 380X by telling I'm on Intel. So the driver might be at least partly involved here.
can you run the game with Vulkan validation enabled and post a log?
DXVK_DEBUG=validation VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation
are the relevant env vars, provided you have vulkan validation layers installed on your system.
can you run the game with Vulkan validation enabled and post a log?
DXVK_DEBUG=validation VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation
are the relevant env vars, provided you have vulkan validation layers installed on your system.
Trying to get this working, however even with lib32-vulkan-validation-layers installed from the Arch repos the DXVK logs say:
Validation layers not found `VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation`
Switching off Proton Experimental to Proton 7.0 gets rid of this warning in the dxgi log, but I do not see any additional logs:
dinodday_d3d9.log dinodday_dxgi.log steam-70000.tar.gz
Something I found while testing is that the issue doesn't occur if there is an overlay active such as mangohud or even the steam overlay if there is a notification.
Trying to get this working, however even with lib32-vulkan-validation-layers installed from the Arch repos the DXVK logs say:
Yes, this is normal since DXVK cannot know whether the validation layers are actually supported or not from the Windows side. Please just ignore that error.
Also, that message not appearing with 7.0 doesn't mean it works, it just means that DXVK is too old for DXVK_DEBUG=validation
to actually do anything.
Trying to get this working, however even with lib32-vulkan-validation-layers installed from the Arch repos the DXVK logs say:
Yes, this is normal since DXVK cannot know whether the validation layers are actually supported or not from the Windows side. Please just ignore that error.
Also, that message not appearing with 7.0 doesn't mean it works, it just means that DXVK is too old for
DXVK_DEBUG=validation
to actually do anything.
Ah, apologies then.
When I add VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation DXVK_DEBUG=validation PROTON_LOG=1 %command%
to the launch options of the game, the game crashes instantly before reaching the main menu or showing the logo where the issue shows visually, with these files created in the game's directory:
dinodday_d3d9.log
dinodday_dxgi.log
This is without overriding the vendor id, can show the output when I make it be 10de if desired.
err: Validation Error: [ VUID-VkFramebufferCreateInfo-pAttachments-00877 ] Object 0: handle = 0xe48dfca0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x60bcc0b7 | vkCreateFramebuffer: Framebuffer Attachment (0) conflicts with the image's IMAGE_USAGE flags (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT). The Vulkan spec states: If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of pAttachments that is used as a color attachment or resolve attachment by renderPass must have been created with a usage value including VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkFramebufferCreateInfo-pAttachments-00877)
This would certainly explain artifacting, but DXVK does not use VkFramebuffer objects anymore so this must come from the Steam overlay.
Can you try disabling the Steam overlay and see if that changes anything? Would be extremely weird if that was in any way influenced by the vendor ID though....
Can you try disabling the Steam overlay and see if that changes anything? Would be extremely weird if that was in any way influenced by the vendor ID though....
Running this with mangohud and Steam overlay disabled
With vendor id override or without it the game still crashes with validation enabled, difference is with the vendor override to 10de and without validation enabled the game runs without any artifacts
With validation enabled and vendor id to 10de: dinodday_d3d9.log dinodday_dxgi.log
With validation enabled without vendor id overwritten:
dinodday_d3d9.log dinodday_dxgi.log
Without validation and without vendor id overwritten:
dinodday_d3d9.log dinodday_dxgi.log
Without validation and with vendor id overwritten to 10de:
hello
Intel dxvk trace: https://drive.google.com/file/d/1JmnI-rRHs1adfonU9Qze5VDSdgDkZLk4/view?usp=sharing Intel wined3d trace: https://drive.google.com/file/d/1tfjuCbQeGl_lQe0ePJhQzZnoSiXwebMX/view?usp=sharing
Running this game on my Skylake iGPU doesnt seem to reproduce the issue at all:
It is to note that the game sets its working path to its ./bin directory, so adding apitrace dll would need to be done in there.
Software information
Game is Dino D-Day, a DirectX9 Source engine game: https://store.steampowered.com/app/70000/Dino_DDay/
The game if launched on my Intel Arc A770 without overriding the vendor ID produces a corrupted output as shown below
By setting d3d9.customVendorId to 10de it works perfectly.
System information
Apitrace file(s)
The game doesn't seem to launch with the apitrace files in the directory, I can try to capture one on Windows without an Arc GPU if desired.
Log files
With 10de as d3d9.customVendorId:
d3d9.log: dinodday_d3d9.log
d3d11.log:
dxgi.log: dinodday_dxgi.log