misyltoad / d9vk

A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
https://github.com/doitsujin/dxvk
zlib License
838 stars 42 forks source link

Halo 2 → hangs after a certain amount of time #414

Closed NerosTie closed 4 years ago

NerosTie commented 5 years ago

Play for a few minutes then it will hang.

System information

Apitrace file(s)

https://mega.nz/#!qzwU1AZB!MOCRRQXeBVvhJiu-AYw8Uyg58S5PVvRtTruL6O2SmuA

Log files

halo2-lutis.txt

misyltoad commented 5 years ago

Please try with https://git.froggi.es/joshua/d9vk/-/jobs/934

NerosTie commented 5 years ago

The issue is still here =/

NerosTie commented 5 years ago

It's not about time actually. It hangs in a specific room.

Here: Screenshot_20191018_103411

K0bin commented 5 years ago

Can you run the game with validation layers and write stdout to a file. Then after it hangs, check that file.

NerosTie commented 5 years ago

Can you tell me how to do that please?

K0bin commented 5 years ago

First you make sure you have the Vulkan validation layers installed. This obviously depends on your distro. There should hopefully be packages available. To use them you need to set the following environment variable: VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation

I think you cando that in lutris. Then it should be the same file you already posted.

If that doesnt work try using Wine directly: VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation wine halo2.exe > halo2validation.txt

NerosTie commented 5 years ago

halo2_vklayer.log

Is that ok?

K0bin commented 5 years ago

Yup, that looks useful. Thank you.

UNASSIGNED-CoreValidation-Shader-PushConstantOutOfRange(ERROR / SPEC): msgNum: 0 - Push constant range covering variable starting at offset 40 not declared in layout

VUID-VkImageBlit-srcOffset-00244(ERROR / SPEC): msgNum: 0 - vkCmdBlitImage(): region [0] srcOffset[].y values (-47, 60) exceed srcSubresource height extent (1080). The Vulkan spec states: srcOffset[0].y and srcOffset[1].y must both be greater than or equal to 0 and less than or equal to the source image subresource height (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkImageBlit-srcOffset-00244)

VUID-vkCmdBlitImage-pRegions-00215(ERROR / SPEC): msgNum: 0 - vkCmdBlitImage(): region [0] source image blit region exceeds image dimensions. The Vulkan spec states: The source region specified by each element of pRegions must be a region that is contained within srcImage (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdBlitImage-pRegions-00215)

money123451 commented 5 years ago

can you retry with the latest master since on windows with a amd gpu I no longer seem to get random crashes.

NerosTie commented 5 years ago

Nope, the issue is still here.

NerosTie commented 5 years ago

Just noticed a difference between 2 Nvidia drivers:

With Nvidia Vulkan dev 435.27.03 with Vulkan 1.1.126:

With Nvidia 435.21 with Vulkan 1.1.109:

K0bin commented 5 years ago

Those issues you found earlier still exist. Fixing them will hopefully also fix the hangs.

NerosTie commented 5 years ago

Fixed with nvidia-beta 440.31 / vulkan 1.1.119 / d9vk #963

K0bin commented 5 years ago

@Joshua-Ashton You should fix the validation errors anyway. (Maybe reopen till thats done)

NerosTie commented 4 years ago

Regression?

I hangs at the exact the same place as before. Tested with DXVK 1082.

edit: retested with D9VK 963 and it hangs too, so it was probably not fixed 2 months ago.

mcKFAQ commented 4 years ago

well not the best solution, i've been using d9vk version 0.21 on lutris no problem playing 2 games of halo 2's multiplayer.

NerosTie commented 4 years ago

Probably because this bug doesn't occur on multiplayer maps.

mcKFAQ commented 4 years ago

Probably because this bug doesn't occur on multiplayer maps.

I've got halo 2 hangups in multiplayer seems to happen at random in newer versions of d9vk thought this issue may of been related.

NerosTie commented 4 years ago

Tested 3 times with DXVK 1137 and it doesn't crash anymore :)