doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.17k stars 848 forks source link

Left 4 Dead 2 - fullscreen error with dxvk-native #3083

Open vlad54rus opened 1 year ago

vlad54rus commented 1 year ago

Please describe your issue as accurately as possible.

Left 4 Dead 2 fails to start in fullscreen mode when using dxvk-native, only works in borderless and windowed modes. This doesn't happen with regular dxvk. If launched in windowed first then switched to fullscreen - rendering stops and just flickers between two last frames.

Software information

Left 4 Dead 2, but i've seen people also having this issue in Portal 2 (example1, example2).

System information

Apitrace file(s)

Log files

Blisto91 commented 1 year ago

@vlad54rus Left 4 Dead 2 should have received a update to dxvk 2.0 today (i think it's also on windows at least) is it still the same with that?

Also you say you are using dxvk-native, which is a Linux only thing, but you also say your os is Windows. Is the issue on Linux or Windows? From your logs i assume Windows.

vlad54rus commented 1 year ago

It's Windows. Got the update after restarting Steam but no dxvk 2.0 with it - still the same 1-year old dxvk_d3d9.dll which the game uses when passing -vulkan launch option.

Blisto91 commented 1 year ago

Ah yes i see. Dxvk was only updated on the Linux version https://steamdb.info/patchnotes/9969999/

misyltoad commented 1 year ago

This is an Windows exclusive NVIDIA driver bug that has yet to be fixed.

Are you on an optimus laptop @vlad54rus ?

vlad54rus commented 1 year ago

It's a desktop and NVIDIA is the only GPU. Does anyone know why this happens with dxvk-native and doesn't happen with regular dxvk?

Blisto91 commented 1 year ago

I'm not sure I understand when you say regular dxvk. Do you mean you download it here from GitHub and then put next to the exe or do you replace the game bundled file and launch with Vulkan?

vlad54rus commented 1 year ago

Yes, downloaded from here and replaced the bundled file.

McMasterGold commented 1 year ago

Getting the exact same issue with Portal 2, using a GTX 750 on Windows 10 desktop. Exclusive fullscreen on Vulkan worked just fine before the DXVK 2.0 patch.

Also now borderless windowed exhibits tearing, even with in-game V-Sync enabled.

K0bin commented 1 year ago

Also now borderless windowed exhibits tearing, even with in-game V-Sync enabled.

That sounds like a driver issue.

McMasterGold commented 1 year ago

That sounds like a driver issue.

I see. I definitely didn't have any tearing with borderless windowed before the DXVK 2.0 patch, but then I did update to the latest ForceWare 526.98 a few days ago. I'll try rolling back and see if it helps things.

Blisto91 commented 1 year ago

@McMasterGold did you manually replace dxvk?

McMasterGold commented 1 year ago

@McMasterGold did you manually replace dxvk?

No, I'm simply launching the game with the -vulkan parameter. If I'm reading the above comments correctly, replacing the DLLs with the ones from here fixes the issue? I'll give that a try.

Blisto91 commented 1 year ago

Roger. From what I've gathered (seen on steamdb) only the Linux version have been updated to 2.0 whereas Windows still has the old version. Which for some reason the changelog gives no indication of what so ever. And yes you can replace the dll manually

McMasterGold commented 1 year ago

Roger. From what I've gathered (seen on steamdb) only the Linux version have been updated to 2.0 whereas Windows still has the old version. Which for some reason the changelog gives no indication of what so ever. And yes you can replace the dll manually

So the Windows version didn't get changed at all? Makes the new issues that surfaced even more bizarre. Perhaps it is a driver problem after all.

I replaced the DLL with the newest one and thankfully exclusive fullscreen is working again now. Still getting tearing with borderless windowed, but I prefer fullscreen so not a problem for me. The new version seems to be doing an even better job at reducing the DX9 stutters as well. Thanks for the tips!

vlad54rus commented 1 year ago

Vsync in windowed doesn't work because ingame setting only applies it to fullscreen (could be the same for other Source games too). You can force vsync from dxvk.conf instead.

Blisto91 commented 1 year ago

So since this seems to be working with a manual replacement of the bundled Windows dxvk to 2.0 I'm guessing it should get solved if Valve updates the Windows version @Joshua-Ashton

McMasterGold commented 1 year ago

Vsync in windowed doesn't work because ingame setting only applies it to fullscreen (could be the same for other Source games too). You can force vsync from dxvk.conf instead.

Can confirm this works great on my end. Thanks for the useful tip!

shoober420 commented 2 months ago

This also occurs with Portal 2 as well. When I replace the original bin/dxvk_dx9.dll with the new x32/d3d9.dll and rename it to match original, exclusive fullscreen works. This does not appear to happen with Half-Life 2 using -vulkan launch option and DXVK.

Windows 11 27686 Intel i9 13900kf NVIDIA RTX 4090 Vulkan beta driver: 553.00 DXVK version: 2.4

EDIT:

I compared performance of native D3D and DXVK 2.4 on Windows 11. When entering the same room at the same spot in Portal 2, using native D3D my average FPS was 700-800. When using DXVK 2.4, my FPS was average 700-800 as well. So DXVK 2.4 performs the same as native D3D. This was with the Vulkan beta driver 553.00.

Blisto91 commented 2 months ago

@Joshua-Ashton Friendly ping.