HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.83k stars 191 forks source link

VKD3D 2.9 breaks Diablo 4 support #1634

Closed sylock closed 10 months ago

sylock commented 1 year ago

Resume of the issue

Workaround

Software information

System information

Log files

Wine logs with VKD3D 2.9 (it crashes and doesn't launch)

wine client error:4a8: write: Bad file descriptor
1995.591:0694:0698:err:vkd3d-proton:load_d3d12core_once: Failed to find vkd3d-proton d3d12core interfaces. Make sure d3d12core.dll is installed as well.
wine client error:26c: write: Bad file descriptor
Initial process has exited (return code: 0)

Wine logs with VKD3D 2.8 (the game starts - I quit the game from the game interface)

wine client error:5d8: write: Bad file descriptor
wine client error:438: write: Bad file descriptor
wine client error:25c: write: Bad file descriptor
Initial process has exited (return code: 0)
Monitored process exited.
Exit with return code 0
Blisto91 commented 1 year ago

Make sure you are using lutris 0.5.13 or else it doesn't handle the extra dll that is required now with 2.9

sylock commented 1 year ago

I just verified but upgrading Lutris to 0.5.13 does not fix the issue for me.

image

I get the same error message saying it doesn't find the GPU driver. But I get other logs:

wine client error:484: write: Bad file descriptor
wine client error:1ec: write: Bad file descriptor
Initial process has exited (return code: 256)
3375.468:067c:0680:info:vkd3d-proton:vkd3d_instance_apply_application_workarounds: Program name: "Diablo IV.exe"
3375.468:067c:0680:info:vkd3d-proton:vkd3d_instance_deduce_config_flags_from_environment: shader_cache is used, global_pipeline_cache is enforced.
3375.468:067c:0680:info:vkd3d-proton:vkd3d_config_flags_init_once: VKD3D_CONFIG=''.
3375.481:067c:0680:info:vkd3d-proton:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.9.0.
3375.481:067c:0680:info:vkd3d-proton:vkd3d_instance_init: vkd3d-proton - build: 6365efeba253807.
3375.537:067c:0680:info:vkd3d-proton:vkd3d_memory_info_upload_hvv_memory_properties: Topology: UMA-like topology. Using DEVICE_LOCAL | HOST_COHERENT for UPLOAD.
3375.537:067c:0680:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Enabling single descriptor set path for MUTABLE.
3375.537:067c:0680:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Device supports VK_EXT_mutable_descriptor_type.
3375.539:067c:0680:info:vkd3d-proton:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
3375.539:067c:0680:fixme:vkd3d-proton:d3d12_device_caps_init_feature_options1: TotalLaneCount = 1024, may be inaccurate.
3375.539:067c:0680:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
3375.539:067c:0680:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.142 ms.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.134 ms.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.009 ms.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Cannot load existing on-disk cache due to driver version mismatch.
3375.540:067c:076c:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
wine: Call from 0000000170030158 to unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err, aborting
sylock commented 1 year ago

I have to add that Lutris 0.5.13 actually breaks Diablo IV since now it also fails with VKD3D 2.8.

Blisto91 commented 1 year ago

At least the first error was because lutris didn't handle the extra dll, which is now working with that version. Not sure why it would fail now besides some Driver or Wine issue as i know that the game works with vkd3d-proton 2.9 (and later on Proton Exeperimental). If you aren't already also try to use dxvk 2.2 as a workaround for the game through it's dxgi dll was added for that version. Tho i am not entirely sure it is needed anymore and enabling Nvapi in Lutris should do the same.

mbriar commented 1 year ago

wine: Call from 0000000170030158 to unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err, aborting

This is where it fails, and it's definitely not a vkd3d-proton issue.

Blisto91 commented 1 year ago

Ye I noticed that. I just wasn't sure from the name if that was after it had already failed or not hehe.

Nix-id commented 1 year ago

Try to instal vc redist 2022

Blisto91 commented 11 months ago

@sylock Friendly ping. Any news in regards to this?