doitsujin / dxvk

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

Regression in Impossible Creatures: DXVK Support and Performance Issues in Proton #4382

Open JavaDaVinci opened 1 month ago

JavaDaVinci commented 1 month ago

There’s a noticeable regression in Impossible Creatures. The game launches and plays normally, but when using the MANGOHUD=1 %command% launch option, the DXVK overlay, which used to work perfectly, no longer appears. To see the overlay now, I have to use mangohud --dlsym %command%, which suggests that Proton is no longer using DXVK for this DirectX 8 game and is instead defaulting to WineD3D—a significant step backward.

Additionally, a long-standing issue persists: when accessing the Army Builder and selecting an animal, the game freezes for 1-2 minutes before allowing me to make the next selection. The same freezing occurs during custom matches when selecting armies, causing a similar 1-2 minute delay. This issue happens across all Linux distributions, desktop environments, Proton versions, and even with different GPU brands. I am also providing you with log file:

steam-324680.log

Operating System: Nobara Linux 40 KDE Plasma Version: 6.2.0 KDE Frameworks Version: 6.7.0 Qt Version: 6.7.2 Kernel Version: 6.11.3-200.fsync.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 5600G with Radeon Graphics Memory: 23,4 GiB of RAM Graphics Processor: AMD Radeon RX 6600 Manufacturer: Micro-Star International Co., Ltd. Product Name: MS-7C51 System Version: 1.0

doitsujin commented 1 month ago

I don't understand how this is supposed to be a DXVK regression, Proton doesn't enable DXVK for D3D8 by default yet and you have to manually enable it by setting PROTON_DXVK_D3D8=1.

JavaDaVinci commented 1 month ago

I don't understand how this is supposed to be a DXVK regression, Proton doesn't enable DXVK for D3D8 by default yet and you have to manually enable it by setting PROTON_DXVK_D3D8=1.

Thank you for the advice, it worked just as you said. The first issue was on my end, but for the second one, I’ve attached a new log file—hopefully, it will be helpful. steam-324680.log

WinterSnowfall commented 1 month ago

The first issue was on my end, but for the second one, I’ve attached a new log file—hopefully, it will be helpful. steam-324680.log

I'm not able to reproduce any such problems with the army builder on Wine Staging, so it could very well be a Proton bug. In any case, the likelihood of it being a dxvk problem is rather slim.

JavaDaVinci commented 1 month ago

I'm not able to reproduce any such problems with the army builder on Wine

I apologize for my lack of knowledge. Could you please explain how you were able to run the game from Steam using Wine, instead of Proton? I attempted to launch it using the command WINEPREFIX="/path/to/custom/prefix" wine "/path/to/game/executable", but I encountered an error stating, "Failed to initialize Steam. Please make sure the Steam Client is running."

WinterSnowfall commented 1 month ago

Could you please explain how you were able to run the game from Steam using Wine, instead of Proton?

Perhaps I should have specified I have the GOG version of the game :). In short that just installs in a Wine prefix, like you would do it on Windows. With Steam, I expect you can simply install Steam itself in a regular Wine prefix and get the game deployed there. @Blisto91 may have further insight as he juggles Proton and Wine versions all the time for testing purposes.

WinterSnowfall commented 1 day ago

@JavaDaVinci Sorry for noticing this so late, but I was actually using a launch script for the game with some overrides (totally forgot about it though). I'm launching the game with:

WINEDLLOVERRIDES="msvcp70,msvcr70=n" wine IC.exe

This will use the dlls the game ships, not Wine/Proton's which does indeed seem to solve some otherwise inexplicable load times and slowdowns. FWIW I'm using the GOG release, but I hope the Steam version also ships the above mentioned dlls.