protonscr

[d3d9] 1.5.1 (vulkan 1.0) work normal, 1.5.2-1.7 (vulkan 1.1) crushed on start

dxvkclosed
doitsujin/dxvk#1672 · opened 2020-06-20 by jl452 · updated 2021-01-12 · 25 comments · github
1 matching comments, n / p to jump
Jjl452 2020-06-20 github

i think it for all games for me, some silent crush, some crush with winedbg

logs from 3DMark06 https://benchmarks.ul.com/legacy-benchmarks
example:
rm -r /.../dxvk.test/ ; WINEPREFIX=/.../dxvk.test/ winetricks win7 dxvk152
cd /.../3DMark06/ && DRI_PRIME=1 LANG=ru_RU.UTF-8 DXVK_HUD=devinfo,fps,frametimes,memory,gpuload,compiler,api,version DXVK_LOG_LEVEL=debug DXVK_LOG_PATH=/.../dxvk/log/ WINEPREFIX=/.../dxvk.test/ wine explorer /desktop=Game,"1844x1080" ./3DMark06.exe -nosysteminfo

i think i try all version 1.5.1-1.7 (from winetricks)

1.5.1:
work normal (crush after two any benchmark with "err: DxvkMemoryAllocator: Memory allocation failed")

3DMark06_d3d9.log parted:
info: Game: 3DMark06.exe
info: DXVK: v1.5.1
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
warn: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: AMD RADV PITCAIRN (LLVM 10.0.0):
info: Driver: 20.1.99
info: Vulkan: 1.2.131
info: Memory Heap[0]:
info: Size: 1792 MiB
info: Flags: 0x1
info: Memory Type[0]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 3072 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Heap[2]:
info: Size: 256 MiB
info: Flags: 0x1
info: Memory Type[2]: Property Flags = 0x7

1.5.2:
crush on start:

3DMark06_d3d9.log FULL(!) file:
info: Game: 3DMark06.exe
info: DXVK: v1.5.2
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

Backtrace:
=>0 0x00000000 (0x0031f508)
1 0x6249e761 in d3d9 (+0x5e760) (0x0031f578)
2 0x624c5e0b in d3d9 (+0x85e0a) (0x0031f608)
3 0x624c6d41 in d3d9 (+0x86d40) (0x0031f768)
4 0x62442c47 in d3d9 (+0x2c46) (0x0031f7e4)
5 0x624415a4 EntryPoint+0x1f3() in d3d9 (0x0031f804)
6 0x00432861 EntryPoint+0xffffffff() in 3dmark06 (0x0031fb9c)
7 0x00401a9b EntryPoint+0xffffffff() in 3dmark06 (0x0031fe78)
8 0x7c172fb6 in mfc71 (+0x32fb5) (0x0031ff30)
9 0x7b6483b1 in kernel32 (+0x283b0) (0x0031ff48)
10 0x7b6489ef in kernel32 (+0x289ee) (0x0031ffd8)
11 0x7b6483c2 in kernel32 (+0x283c1) (0x0031ffec)

1.7:
crush on start:

3DMark06_d3d9.log FULL(!) file:
info: Game: 3DMark06.exe
info: DXVK: v1.7
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

Backtrace:
=>0 0x00000000 (0x0031ef58)
1 0x6249fbb1 in d3d9 (+0x5fbb0) (0x0031efc8)
2 0x624c7fba in d3d9 (+0x87fb9) (0x0031f458)
3 0x624c8f71 in d3d9 (+0x88f70) (0x0031f5c8)
4 0x6244277a in d3d9 (+0x2779) (0x0031f7e4)
5 0x624415a4 EntryPoint+0x1f3() in d3d9 (0x0031f804)
6 0x00432861 EntryPoint+0xffffffff() in 3dmark06 (0x0031fb9c)
7 0x00401a9b EntryPoint+0xffffffff() in 3dmark06 (0x0031fe78)
8 0x7c172fb6 in mfc71 (+0x32fb5) (0x0031ff30)
9 0x7b6483b1 in kernel32 (+0x283b0) (0x0031ff48)
10 0x7b6489ef in kernel32 (+0x289ee) (0x0031ffd8)
11 0x7b6483c2 in kernel32 (+0x283c1) (0x0031ffec)

additional 1:
try HOMM5, the result is the same:

H5_Game_d3d9.log FULL(!) file:
info: Game: H5_Game.exe
info: DXVK: v1.7
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

Backtrace:
=>0 0x00000000 (0x0031f3e8)
1 0x6249fbb1 in d3d9 (+0x5fbb0) (0x0031f458)
2 0x624c7fba in d3d9 (+0x87fb9) (0x0031f8e8)
3 0x624c8f71 in d3d9 (+0x88f70) (0x0031fa58)
4 0x6244277a in d3d9 (+0x2779) (0x0031fc70)
5 0x624415a4 EntryPoint+0x1f3() in d3d9 (0x0031fc90)

additional 2:
i try Proton-5.9-GE-2-MF current prerelease:

1.7:
silent crush

1.5.1 (i replace files in Proton-5.9-GE-2-MF/dist/lib/*wine/dxvk/ from 1.5.1):
silent crush, but INTERESTING

Client_tos_d3d9.log FULL(!) file:
info: Game: Client_tos.exe
info: DXVK: v1.5.1
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
warn: OpenVR: Failed to initialize OpenVR
info: Required Vulkan extension VK_KHR_get_physical_device_properties2 not supported

Client_tos_d3d9.log parted from normal game play wine-5.10 (Staging):
info: Game: Client_tos.exe
info: DXVK: v1.5.1
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
warn: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: AMD RADV PITCAIRN (ACO):
info: Driver: 20.1.99
info: Vulkan: 1.2.131
info: Memory Heap[0]:
info: Size: 1792 MiB
info: Flags: 0x1
info: Memory Type[0]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 3072 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Heap[2]:
info: Size: 256 MiB
info: Flags: 0x1
info: Memory Type[2]: Property Flags = 0x7

System information

from wine crush:
System information:
Wine build: wine-5.10 (Staging)
Platform: i386 (WOW64)
Version: Windows 7
Host system: Linux
Host version: 5.7.0-050700-lowlatency

ubuntu
Kernel command line: BOOT_IMAGE=/vmlinuz-5.7.0-050700-lowlatency root=UUID=... ro rootflags=subvol=@ radeon.runpm=1 radeon.dpm=1 amdgpu.runpm=0 amdgpu.dpm=1 amdgpu.dc=1 radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1

KK0bin maintainer 2020-06-20 github

info: Required Vulkan extension VK_KHR_get_physical_device_properties2 not supported

Is most likely a setup issue on your side.

err: DxvkMemoryAllocator: Memory allocation failed

Is the usual #1318

Jjl452 2020-06-20 github

but why 1.5.1 work good? all the same except dxvk version

Aartemyto 2020-06-20 github

DXVK requires Vulkan 1.1 since version 1.5.2:

Additionally, the Vulkan loader installed on the system must support Vulkan 1.1.
Note that having an incompatible driver installed, even alongside more recent versions, may cause Vulkan initialization failure or application crashes on startup. Remove any such drivers when running into issues.
The reason for this change is that the Vulkan 1.0 fallback path was largely untested and did not always work correctly, removing it also allowed for a minor code cleanup.

https://github.com/doitsujin/dxvk/releases/tag/v1.5.2

Maybe this is the problem.

Jjl452 2020-06-20 github

1.5.1:
info: AMD RADV PITCAIRN (LLVM 10.0.0):
info: Driver: 20.1.99
info: Vulkan: 1.2.131

DDadSchoorse 2020-06-20 github

Driver: mesa-vulkan-drivers 20.2

My guess would be that either this isn't true at all, or at least your 32bit mesa is way older.
VK_KHR_get_physical_device_properties2 is supported for a few year in radv.

Jjl452 2020-06-20 github

apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386
20.2~git2006170730.b2e9d2~oibaf~f
20.2~git2006170730.b2e9d2~oibaf~f

Aartemyto 2020-06-20 github

Does AMD Radeon R9 M290X have full Vulkan 1.1 support?

Jjl452 2020-06-20 github

how can I find out? (googltranslate)

Jjl452 2020-06-20 github

vulkaninfo
Vulkan Instance Version: 1.2.131

Jjl452 2020-06-20 github

sudo apt --autoremove --no-install-recommends install vulkan-tools:i386

apt policy vulkan-tools:i386
Installed: 1.1.114.0+dfsg1-1

locate vulkaninfo
/usr/bin/vulkaninfo
file /usr/bin/vulkaninfo
/usr/bin/vulkaninfo: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=bfae19a8b69dadeebfaf82c7d120e2a0db969e8e, for GNU/Linux 3.2.0, stripped

vulkaninfo |grep Instance
Vulkan Instance Version: 1.2.114

Jjl452 2020-06-20 github

vulkaninfo |grep -i version |sort |uniq
apiVersion = 0x402083 (1.2.131)
conformanceVersion:
driverVersion = 83890275 (0x5001063)
samplerYcbcrConversion = 1
VK_KHR_sampler_ycbcr_conversion : extension revision 1
VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.131, layer version 1
VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.1.73, layer version 1
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1
VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1
VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1
VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1
VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1
VkPhysicalDeviceSamplerYcbcrConversionFeatures:
Vulkan Instance Version: 1.2.114

DDadSchoorse 2020-06-20 github

What WINE version are you using?

Jjl452 2020-06-20 github

wine --version
wine-5.10 (Staging)

locate wine |grep bin/
ls -lahtr /usr/bin/wine
lrwxrwxrwx 1 root root 26 июн 6 14:40 /usr/bin/wine -> /opt/wine-staging/bin/wine
dpkg -S /opt/wine-staging/bin/wine
wine-staging-i386:i386: /opt/wine-staging/bin/wine
apt policy wine-staging-i386:i386
Installed: 5.10~focal
500 https://dl.winehq.org/wine-builds/ubuntu focal/main i386 Packages

Ddoitsujin maintainer 2020-06-20 github

The title is nonsense. DXVK 1.5.2+ does not use this extension anymore because it moved to Vulkan 1.1, so it's normal that it no longer appears in the logs.

What exactly is the problem?

Jjl452 2020-06-20 github

@doitsujin silent or not silent crush at any game on versions dxvk 1.5.2-1.7

example:
1.7:
crush on start:

3DMark06_d3d9.log FULL(!) file:
info: Game: 3DMark06.exe
info: DXVK: v1.7
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

Backtrace:
=>0 0x00000000 (0x0031ef58)
1 0x6249fbb1 in d3d9 (+0x5fbb0) (0x0031efc8)
2 0x624c7fba in d3d9 (+0x87fb9) (0x0031f458)
3 0x624c8f71 in d3d9 (+0x88f70) (0x0031f5c8)
4 0x6244277a in d3d9 (+0x2779) (0x0031f7e4)
5 0x624415a4 EntryPoint+0x1f3() in d3d9 (0x0031f804)
6 0x00432861 EntryPoint+0xffffffff() in 3dmark06 (0x0031fb9c)
7 0x00401a9b EntryPoint+0xffffffff() in 3dmark06 (0x0031fe78)
8 0x7c172fb6 in mfc71 (+0x32fb5) (0x0031ff30)
9 0x7b6483b1 in kernel32 (+0x283b0) (0x0031ff48)
10 0x7b6489ef in kernel32 (+0x289ee) (0x0031ffd8)
11 0x7b6483c2 in kernel32 (+0x283c1) (0x0031ffec)

Jjl452 2020-06-20 github

HOMM5:

H5_Game_d3d9.log FULL(!) file:
info: Game: H5_Game.exe
info: DXVK: v1.7
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

Backtrace:
=>0 0x00000000 (0x0031f3e8)
1 0x6249fbb1 in d3d9 (+0x5fbb0) (0x0031f458)
2 0x624c7fba in d3d9 (+0x87fb9) (0x0031f8e8)
3 0x624c8f71 in d3d9 (+0x88f70) (0x0031fa58)
4 0x6244277a in d3d9 (+0x2779) (0x0031fc70)
5 0x624415a4 EntryPoint+0x1f3() in d3d9 (0x0031fc90)
0x00000000: -- no code accessible --
Modules:

Jjl452 2020-06-20 github

did i make the trace log correctly? i not create clean wineprefix and use wineprefix with dxvk 1.7, file very small

crush on start:

3DMark06_d3d9.log FULL(!) file:
info: Game: 3DMark06.exe
info: DXVK: v1.7
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

Backtrace:
=>0 0x00000000 (0x0031ef28)
1 0x6249fbb1 (0x0031ef98)
2 0x624c7fba (0x0031f428)
3 0x624c8f71 (0x0031f598)
4 0x6244277a (0x0031f7b0)
5 0x624415a4 (0x0031f7d0)
6 0x0162bcbf in d3d9 (+0x1bcbe) (0x0031f7e4)
7 0x0162a239 in d3d9 (+0x1a238) (0x0031f804)
8 0x00432861 EntryPoint+0xffffffff() in 3dmark06 (0x0031fb9c)
9 0x00401a9b EntryPoint+0xffffffff() in 3dmark06 (0x0031fe78)
10 0x7c172fb6 in mfc71 (+0x32fb5) (0x0031ff30)
11 0x7b6483b1 in kernel32 (+0x283b0) (0x0031ff48)
12 0x7b6489ef in kernel32 (+0x289ee) (0x0031ffd8)
13 0x7b6483c2 in kernel32 (+0x283c1) (0x0031ffec)

3DMark06.trace.zip

Jjl452 2020-06-23 github

need any information?

how can I make sure that the items from dxvk1.5.1 log is correct?
info: DXVK: v1.5.1
info: AMD RADV PITCAIRN (LLVM 10.0.0):
info: Driver: 20.1.99
info: Vulkan: 1.2.131

JJacobSvenningsen 2020-06-23 github

This is just speculation, but your crashes seem to be somewhat similar to what I and a few others experienced some time ago: https://github.com/ValveSoftware/Proton/issues/3573#issuecomment-591921196
Crashes around the same point, and everything worked fine with 1.5.1 and then not anymore with 1.5.2.
Seeing you've tried with Proton, try checking Steam's system information window, and then find the Vulkan icd's somewhere close to the bottom. Check if you've got multiple "libvulkan_radeon.so" entries, and in case you do, see if one of those don't have the correct Vulkan API version. My guess is you got some Vulkan icd's lying around with an api version of 1.0.something.
If that is the case, try deleting those.
If your install is very old, you may be experiencing this problem

Jjl452 2020-06-23 github

@JacobSvenningsen yes it is, thank you
delete folder /etc/vulkan/icd.d/ and 3DMark06 with 1.7 started and work good (and no any DxvkMemoryAllocator)

Jjl452 2020-06-23 github

I assume that the version of the vulkan was incorrectly determined in dxvk1.5.2+, since dxvk1.5.1 writes the correct version to the log
but perhaps the vulkan driver reports the full version, and quietly truncates the functions to the specified version

TToucheSir 2021-01-09 github

I just ran into this exact issue on 1.5.2/3. There are probably a good number of us who installed RADV way back around its first release in 2016 and were left with these extra ICD files. Unfortunately both vulkaninfo and Steam's hardware info will report the newest, correct version, so it's difficult to debug the mystery segfault without knowing to look at what appear to be perfectly normal ICD files ahead of time...

Ddoitsujin maintainer 2021-01-11 github

Don't use DXVK versions from over a year ago then. I've already fixed an issue where we would not filter out devices with VkPhysicalDeviceProperties::apiVersion reporting 1.0.

If that still doesn't fix the issue - nothing we can do on our end.

TToucheSir 2021-01-11 github

Sorry, that was a typo on my end. Meant to write 1.7.2/3!

Ddoitsujin maintainer 2021-01-12 github

Not our bug then. We do filter out Vulkan 1.0 adapters correctly.