Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diablo II Resurrected (D2R) stopped working #902

Closed
drudoi opened this issue Nov 14, 2021 · 9 comments
Closed

Diablo II Resurrected (D2R) stopped working #902

drudoi opened this issue Nov 14, 2021 · 9 comments

Comments

@drudoi
Copy link

drudoi commented Nov 14, 2021

I used this version of vkd3d-proton due WineHQ recommendations:
https://github.com/HansKristian-Work/vkd3d-proton/files/7221306/vkd3d-proton-merge-953ad0b5989df062ea20b83309e981854cfa1d7a.zip. I've tried the latest release too.

D2R worked, but one day it stopped working. I didn't made any system or game updates. Also I have a separate wine prefix for the game, I've tried to recreate it and reinstall D2R. May be it isn't a issue of the library, because my Xorg server crashed this day (freezed, and I have to reboot), but I don't know how to debug to find a root cause. I have no more dx12 games installed, but dx9-dx11 I have weren't affected.

I wait for wine-staging (I had 1.18), dxvk updates, but it doesn't solve and issue. What I have now:

  • Arch linux: 5.15.2-arch1-1 #1 SMP PREEMPT Fri, 12 Nov 2021 19:22:10 +0000 x86_64 GNU/Linux
  • Card: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] (rev a1)
  • Packages:
    -- wine-staging 6.21-1
    -- vulkan-icd-loader 1.2.194-1
    -- nvidia-utils 495.44-3 (I had vulkan-intel too, but uninstalled it to avoid possible conflicts)
    -- vkd3d 1.2-1 (I've tried to uninstall warring about the conflicts, doesn't help)
  • Additional packages I've tried to install:
    -- vulkan-headers 1:1.2.194-1
    -- vulkan-tools 1.2.194-1
    -- spirv-headers 1.5.4.r106+ge71fedd-2
    -- spirv-tools 2021.3-1

The wine output:

warn:  DXGIDeclareAdapterRemovalSupport: Stub
warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: D2R.exe
info:  DXVK: v1.9.2
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  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:  NVIDIA GeForce GTX 1660 SUPER:
info:    Driver: 495.44.0
info:    Vulkan: 1.2.186
info:    Memory Heap[0]:
info:      Size: 6144 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 11922 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[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
508:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.4.0.
508:info:vkd3d_instance_init: vkd3d-proton - build: 953ad0b5989df06.
508:err:vkd3d_create_vk_device: Failed to create Vulkan device, vr -3.
508:fixme:hresult_from_vk_result: Unhandled VkResult -3.

Looks like the latest lines going not from wine, because WINEDEBUG variable don't make it more verbose.

@K0bin
Copy link
Contributor

K0bin commented Nov 14, 2021

First of all, use the latest build of VKD3D-Proton. Right now its this one: https://github.com/HansKristian-Work/vkd3d-proton/actions/runs/1452475263

Secondly, try running it with Vulkan validation layers. Install those and run the game with VKD3D_CONFIG=vk_debug. Then post the terminal output.

@TheDromundKaas
Copy link

I can maybe shed some light on the issue. I had this issue for a few days now with Cyberpunk 2077, which is a DirectX12 game too. What finally worked for me is loading the nvidia_uvm module (modprobe nvidia_uvm) which is required but somehow not loaded. This comment describes the issue and fix.

@screwylightbulb
Copy link

Can we rename these issues to have the full game names perhaps? Just to maintain searchability.

@aufkrawall
Copy link

Can we rename these issues to have the full game names perhaps? Just to maintain searchability.

It's a very general issue of the Nvidia driver and can in theory affect any Vulkan app started outside of Proton. Though I can imagine mentioning it somewhere in the FAQ would save some users from that really nasty headache.

@drudoi drudoi changed the title D2R stopped working Diablo II Resurrected (D2R) stopped working Nov 15, 2021
@drudoi
Copy link
Author

drudoi commented Nov 15, 2021

Thanks for responses.

  1. I've tried to use latest build by link, nothing changed, the errors are the same. Only vkd3d-proton - applicationVersion: 2.5.0 was changed in the output.
  2. I've checked nvidia_uvm in my lsmod - it is loaded. I have the next modules in mkinitcpio.conf: MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm). Also I have blacklist i2c_nvidia_gpu, I've tried to remove it, but nothing changed.

Now I'll try to install Vulkan validation layers and provide output in next comment.

@drudoi
Copy link
Author

drudoi commented Nov 15, 2021

With VKD3D_CONFIG=vk_debug and validation layers installed the next output is added:

264:info:vkd3d_config_flags_init_once: VKD3D_CONFIG='vk_debug'.
264:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.4.0.
264:info:vkd3d_instance_init: vkd3d-proton - build: 953ad0b5989df06.
264:err:vkd3d_instance_init: Failed to enumerate instance layers, will not use VK_LAYER_KHRONOS_validation!
264:err:vkd3d_create_vk_device: Failed to create Vulkan device, vr -3.
264:fixme:hresult_from_vk_result: Unhandled VkResult -3.

and the same with latest version

0120:info:vkd3d_config_flags_init_once: VKD3D_CONFIG='vk_debug'.
0120:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.5.0.
0120:info:vkd3d_instance_init: vkd3d-proton - build: 3fefc540c81a2fc.
0120:err:vkd3d_instance_init: Failed to enumerate instance layers, will not use VK_LAYER_KHRONOS_validation!
0120:err:vkd3d_create_vk_device: Failed to create Vulkan device, vr -3.
0120:fixme:hresult_from_vk_result: Unhandled VkResult -3

The next layers are in system:

$ ls /usr/share/vulkan/explicit_layer.d/
VkLayer_khronos_validation.json

Also I attach my 'vulkaninfo' output.
vulkaninfo.txt

@doitsujin
Copy link
Collaborator

doitsujin commented Nov 16, 2021

This is a known issue on Nvidia drivers, see #711 (comment) for a workaround.

Not our bug, and we cannot fix this on our end.

@drudoi
Copy link
Author

drudoi commented Nov 16, 2021

@doitsujin Thanks a lot, it helped!!! I'm very happy!!!

I'll try to add it to bashrc (if it works without xinit) or to xinitrc, looks like nvidia-modprobe -u -c=0 is needed once per session.

@memeruiz
Copy link

memeruiz commented Aug 5, 2023

Another reason to get this error is to not have libnvidia-rtcore libnvoptix1 packages in debian (possibly also Ubuntu).

They give raytracing support to Nvidia in Linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants