doitsujin / dxvk

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

Random dots flickering on screen when playing GTA 4 Complete Edition #4231

Open TRSC25 opened 2 months ago

TRSC25 commented 2 months ago

Video Attached

https://github.com/user-attachments/assets/b967a98c-13cb-4f61-95ed-cc224e79870e

Game performance is also highly affected, I get constant 20fps when not using vulkan

Software information

GTA IV, The complete edition v1.2.0.43

System information

K0bin commented 2 months ago

Duplicate of #1862

You also didn't provide logs so I can't check whether or not your Vulkan driver exposed VK_EXT_feedback_loop_layout which normally fixes this issue. You also didn't mention your driver version in the bug report either. ANV should have the required extension as of Mesa 24.1.

TRSC25 commented 2 months ago

Could you please guide me on how to do that? I'm playing the game via Lutris Flatpak, so... not sure how to get the logs.

Sorry for late reply btw, I had other stuff so I forgot to check GitHub

K0bin commented 2 months ago

Change the Steam launch options for GTA IV to PROTON_LOG=1 %command%. Then it will create a log file called steam-GTASTEAMID in your home directory.

I don't know how it works with Lutris. IIRC Lutris has a function to get stdout of the game you were just running or something like that.

TheComputerGuy96 commented 2 months ago

Can you also run the flatpak list --runtime command (so I can see if you have an up-to-date runtime)?

Sid127 commented 2 months ago

You can get logs by clicking one of the dropdowns next to the PLAY button in Lutris for the game, and then clicking Show Logs.

Could either copy and paste them into a pastebin service, or save them into a file from there

TRSC25 commented 2 months ago

flatpak list --runtime

Name Application ID Version Branch Installation Codecs …m.Audacity.Codecs stable system Codecs …er.Blender.Codecs stable system SWH …Audio.Plugins.swh 0.4.17 22.08 system Freedes… …edesktop.Platform freedesktop-sdk-23.08.21 23.08 system Mesa …atform.GL.default 24.0.7 22.08 system Mesa (E… …atform.GL.default 24.0.7 22.08-extra system Mesa …atform.GL.default 24.1.3 23.08 system Mesa (E… …atform.GL.default 24.1.3 23.08-extra system Mesa …form.GL32.default 24.1.3 23.08 system Intel …tform.VAAPI.Intel 22.08 system Intel …tform.VAAPI.Intel 23.08 system ffmpeg-… …tform.ffmpeg-full 23.08 system i386 ….ffmpeg_full.i386 23.08 system openh264 …Platform.openh264 2.1.0 2.2.0 system openh264 …Platform.openh264 2.4.1 2.4.1 system Freedes… …g.freedesktop.Sdk 22.08.25 22.08 system Freedes… …g.freedesktop.Sdk freedesktop-sdk-23.08.21 23.08 system OpenJDK… …tension.openjdk17 23.08 system GNOME A… org.gnome.Platform 45 system GNOME A… org.gnome.Platform 46 system i386 …tform.Compat.i386 45 system Mint-Y-… …theme.Mint-Y-Aqua 3.22 system Mint-Y-… ….Mint-Y-Dark-Aqua 3.22 system Mint-Y-… ….Mint-Y-Dark-Blue 3.22 system Mint-Y-… ….Mint-Y-Dark-Grey 3.22 system KDE App… org.kde.Platform 6.7 system kde pla… …e.Platform.Locale 6.4 system DXVK …hq.Wine.DLLs.dxvk 2.4 stable-23.08 system Gecko …winehq.Wine.gecko stable-23.08 system Mono ….winehq.Wine.mono stable-23.08 system

You can get logs by clicking one of the dropdowns next to the PLAY button in Lutris for the game, and then clicking Show Logs.

Could either copy and paste them into a pastebin service, or save them into a file from there

Started initial process 187 from gamemoderun /app/bin/wine /media/thefatspacecat/BigBoi/Things/Games/Grand Theft Auto IV - The Complete Edition/GTAIV.exe Start monitoring process. gamemodeauto: Monitored process exited. Initial process has exited (return code: 0) Exit with return code 0

This is the log after I loaded into the game and drove around for a bit and quit the game

K0bin commented 2 months ago

That's unfortunately missing the DXVK logs I was looking for.

TRSC25 commented 2 months ago

So... how do I get that?

Blisto91 commented 2 months ago

Try to right click the game in Lutris -> Configure -> Runner Options tab -> scroll to the bottom -> make sure Output debugging info is set to Enabled.

TRSC25 commented 2 months ago

That was it. I got a log which... looks like a log. log.log

TRSC25 commented 2 months ago

Hi, any updates?

mbriar commented 2 months ago

Your driver supports VK_EXT_feedback_loop_layout, but there is probably another driver bug that's causing this. Try INTEL_DEBUG=noccs as environment variable, maybe.

Blisto91 commented 2 months ago

We have been unable to reproduce on Nvidia or any of the 3 amd drivers so we assume it is a likely driver bug yes. Unfortunately none of the devs have Intel to test with.

TRSC25 commented 2 months ago

Your driver supports VK_EXT_feedback_loop_layout, but there is probably another driver bug that's causing this. Try INTEL_DEBUG=noccs as environment variable, maybe.

That helped in removing the flickering dots, however there is still the slight frame drops which isn't there when not using dxvk.

TRSC25 commented 2 months ago

I tried recording it but it looks much worse but according to my eyes it's roughly showing half the frames it did when not using dxvk, and its not everywhere, for example the apartment is really laggy but some roads arent.

mbriar commented 2 months ago

That helped in removing the flickering dots, however there is still the slight frame drops which isn't there when not using dxvk.

INTEL_DEBUG=noccs can reduce performance by disabling compression and overall it's not unheard of that vulkan doesn't perform particularly well on old Intel GPUs. There is most likely nothing that DXVK can do about it, especially considering that this must be the millionth bug report about GTA IV and it performs just fine on other drivers and GPUs.

You can report the flickering dots that happen without INTEL_DEBUG=noccs on the Mesa gitlab as a driver bug.

K0bin commented 2 months ago

It's most likely a driver bug but none of us have Intel hardware to try and reproduce the issue. Because of that none of us felt comfortable opening a Mesa issue.

bylaws commented 1 month ago

This also used to happen on turnip, but seems it got fixed at some point