Renders fine on Nvidia, so I'm inclined to say it's a driver bug.
Thanks for looking into this so quickly.
I also suspect it’s a driver issue because I couldn’t repro on AMD gpus but what puzzles me is that it only affect some games (including every game with nglide I tested) and disabling lossless color compression at driver level resolves it.
Games where DXVK is working without noccs env var: NFS HP2, Call of Duty and Star Wars Republic Commando
I was wondering if it can be caused by some D3D9 translation work that DXVK is doing.
I have an Intel 11th gen laptop with IrisXE igpu where I can check the behavior and report back.
Also working fine on 11th Gen Intel(R) Core(TM) i7-1185G7 with Intel(R) Xe Graphics (TGL GT2) iGPU and using the same mesa driver version, Wine version and prefix.
Could this be a driver problem only affecting older Intel iGPUs?
Attaching the Heroic-Wine log in case it helps:
Could this be a driver problem only affecting older Intel iGPUs?
Yes a lot of driver issues can be generation specific
I went ahead and opened an issue for Mesa project to look into this: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11247
Made some progress on the Mesa issue above with the great help of the guys there. The problem seems to be caused by Proton/Wine-GE fshack.
I'm still troubleshooting the issue and found a validation error repeating several times in DXVK log file:
err: VUID-VkImageViewCreateInfo-image-01762:
err: Validation Error: [ VUID-VkImageViewCreateInfo-image-01762 ] Object 0: handle = 0x3430000000343, type = VK_OBJECT_TYPE_UNKNOWN; | MessageID = 0x6516b437 | vkCreateImageView() format VK_FORMAT_B8G8R8A8_SRGB differs from VkNonDispatchableHandle 0x3430000000343[] format VK_FORMAT_B8G8R8A8_UNORM. Formats MUST be IDENTICAL unless VK_IMAGE_CREATE_MUTABLE_FORMAT BIT was set on image creation. The Vulkan spec states: If image was not created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, or if the format of the image is a multi-planar format and if subresourceRange.aspectMask is VK_IMAGE_ASPECT_COLOR_BIT, format must be identical to the format used to create image (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01762)
Once we find more I will share the information here as well.
After reading both issues, this does look like an issue stemming from the FSR patchset. Could you apply this following patch to Wine-GE and trying again?
0002-fshack-potentially-fix-image-corruption-on-ANV.patch.txt
I have no clue if it is going to help, but I couldn't reproduce the issue either on Broadwell HD Graphics 5500 (hasvk)
@casasfernando Interesting, I'll look into it tomorrow.
After reading both issues, this does look like an issue stemming from the FSR patchset. Could you apply this following patch to Wine-GE and trying again?
0002-fshack-potentially-fix-image-corruption-on-ANV.patch.txt
I have no clue if it is going to help, but I couldn't reproduce the issue either on Broadwell HD Graphics 5500 (
hasvk)
Thanks for the patch.
I will look into how to build Win-GE since I never tried it before and once I test it I will report back.
@loathingKernel I tried to build Wine-GE today following the build instructions from the Github repo to no avail.
Even building it without any modifications is not working: ./makebuild.sh lutris-GE https://github.com/GloriousEggroll/proton-wine Proton8-26
The container is created and started successfully but then the build script fails in a very early stage. I already had docker installed on the machine, but I also tried with podman.
I have very limited time during the week but I will keep trying and report back once I get a successful build.
Thanks
Still trying to build Wine-GE to test the patch but in the meantime I thought sharing complete logs from DXVK and Heroic (includes DXVK as well as Wine log) may help.
I was able to confirm that the Vulkan validation errors are logged every time the game changes resolution. E.g.: going from menu (800x600) to in-game (1024x768) and back to menu. And they are always logged 4 times one after the other.
DXVK log: Speed_d3d9.zip
Heroic logs: 9iA7LBNBUQE8RmC712KWaL-lastPlay.zip
Thanks
Thanks @loathingKernel for providing the custom build of Proton-GE-9-6 patched with this: https://github.com/doitsujin/dxvk/issues/4041#issuecomment-2143550778
I can confirm that with that patch in place the problem is completely gone! :tada:
Since the problem it's on Proton/Wine-GE FSR patchset I think this issue can be closed right?
Image corruption on Intel HD Graphics 630 (KBL GT2) right after launching the game (from the EA intro video up to the main menu and in-game):
Adding
INTEL_DEBUG=noccsenvironment variable makes the issue go away (at the expense of severe performance impact on older mesa versions like 22.3.6).The game works fine without DXVK and using WineD3D.
For what it worth I have exactly the same issue with several "classic" Need for Speed and NGlide (NFS 2 SE, NFS 3 Hot Pursuit, NFS High Stakes) if DXVK is added to the mix (I can try to get traces from those games as well if needed).
Tested the same game/prefix with other GPUs (Steam Deck, AMD RX6600XT, AMD RX6700XT) but same software versions and couldn't reproduce the issue so it may only affect certain Intel iGPUs.
Software information
Need for Speed Underground 1.4
System information
Apitrace file(s)
https://www.dropbox.com/scl/fi/8jizxo7juk5td5zkep0oa/nfsu_apitrace.zip?rlkey=b6rpp8bxqklz40gxqnyjs7zif&st=j6u9ob3y&dl=0
Log files
nfsu_heroic-wine.zip