ValveSoftware / Dota-2-Vulkan

Tracker for issues specific to the Vulkan version of Dota 2 on Windows, Linux, and macOS
101 stars 17 forks source link

Graphics issue: white texture FLICKERING and GLITCHES on GNU/Linux on Intel i5-1035G4 (Iris Plus Graphics G4) #391

Open crysman opened 3 years ago

crysman commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

I am suffering a very unpleasant white texture flickering/glitches in the game whenever I set graphics quality higher than lowest.

Here is how the glitches problem looks like: https://pasteboard.co/8bKmY9pl5HQz.gif (cannot paste here, since GitHub makes a PNG from the GIF)

I have already tried:

  1. disabling shader pre-cache - that is actually a MUST, having it enabled (Steam -> Settings ...) makes a popup "Processing vulkan shaders..." every single time I try run the game and it runs for like 30 minutes to finish... 2.I have disabled Fractional scaling on my OS desktop (Settings -> Displays)
  2. it is better when I disable some advanced graphics options like World lightning etc. like this: https://pasteboard.co/N3zjH6uwxNeZ.png (but the problem still occurs)
  3. I am using sysctl dev.i915.perf_stream_paranoid=0 before running steam, because it gives me better fps and Dota 2 app general responsiveness (the problem is there even if I do not use it).
  4. Yes, I have let Steam re-validate the files, its OK.
  5. Yes, the problem is the same even when I wait 30 minutes for "Vulkan shader processing" to finish.
  6. Yes, I have watched some games and played several, problem has not disappered.

On the very same machine, just MS Windows booted, everything works just fine, even on highest graphical settings! (I cannot have highest settings in GNU/Linux, because I do have much worse FPS than in Windows :(

And I do not want to play on Windows, I am avoiding its usage as much as I can...

What is wrong with my GNU/Linux OS/steam/Dota settings, please? Thanks!

Steps for reproducing this issue:

  1. Use latest Ubuntu-based distro (in my case POP! OS) on Intel i5-1035G4 without dedicated graphics.
  2. Steam -> Dota 2
  3. Move the slider in graphical settings to the right
  4. run the game or watch - having glitches
kisak-valve commented 3 years ago

Hello @crysman, it may be worthwhile to also mention this issue to your video driver vendor.

Regarding shader pre-caching, mesa 21.2.1 is known to have a general on-disk cache defect which is already fixed in the next point release (21.2.2). See also: https://github.com/ValveSoftware/Dota-2/issues/1968#issuecomment-925329414

crysman commented 2 years ago

@kisak-valve OK, whom should I contact, please? Shall I find some MESA contacts?

kisak-valve commented 2 years ago

https://docs.mesa3d.org/bugs.html is a good place to start for mesa feedback.

crysman commented 2 years ago

@kisak-valve I've tried to update Mesa to newer version via precompiled packages (https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers) (I got the link from the official Mesa docs), but after adding the PPA, update & upgrade, I still got 21.2.1 and not 21.2.2 :( - I think this is the best way to continue now, isn't it (?) - try the latest Mesa first, maybe the glitches would be fixed this way... but... how do I get newer Mesa to my system, I am not sure - compiling and building myself would be a way (have done before), but I read the docs, and it is quite complicated in this particular case. Any tips how to proceed? (And thanks for your help so far!)

kisak-valve commented 2 years ago

You're probably seeing PopOS's PPA taking priority over other PPAs similar to the discussion at https://www.reddit.com/r/pop_os/comments/lbhdeg/kisak_mesa_ppa_not_updating_mesa_packages/.

crysman commented 2 years ago

is 21.2.2 in your PPA, too? (https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa)

crysman commented 2 years ago

OK, ~upgrading to Mesa 21.2.3 has resolved the flickering issues~ unfortunately, it has NOT resolved the issues :( The only comfortably playable state is when almost all effects like World lightning and Bloom are disabled :(

glxinfo | grep -iE "core.*mesa"
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.2.3 - kisak-mesa PPA

(even thought there is "OpenGL" above, I am using default vulkan in Dota2)

In order to actually let my Pop!_OS system upgrade Mesa, I had to change the priority as kisak-valve has proposed with the link above. The actual solution:

  1. set-up the PPA as described: sudo add-apt-repository ppa:kisak/kisak-mesa
  2. set higher priority to the PPA: sudo nano /etc/apt/preferences.d/kisak-pin-2000:
    Package: *
    Pin: release o=LP-PPA-kisak-kisak-mesa
    Pin-Priority: 2000
  3. Update the system: sudo apt update && sudo apt upgrade
  4. Enjoy Dota 2 without graphical issues :)

Thanks @kisak-valve !

crysman commented 2 years ago

No, unfortunately, the problem has not disappeared :( I've edited the post above...

crysman commented 2 years ago

I've tested switching to openGL, this is what has happened:

  1. all graphical glitches and flickering is gone :+1:
  2. the performance is much worse and the game crashes on every end of the game (just after win when returned to overview) and ruins the whole desktop - even killall dota2 and killall steam from console terminal (e.g. TTY/3) does not help and I must reboot :-1:

So, currently... to play Dota2 on my HW on Ubuntu-based GNU/Linux OS, I have whether to suffer very annoying white graphical glitches (vulkan), or play the game once and hard-reboot after every game on low performance (opengl) :( ... is there anything else I may try, @kisak-valve ? Thanks!

heftig commented 2 years ago

I'm also seeing flickering polygons with Vulkan (latest Mesa 21.3.3) on an ICL iGPU.

OpenGL seems to run fine, mostly. I've seen some missing floor in the Continuum Conundrum, with the units seemingly walking on the fog-of-war effect. Having more than one unit selected with animated portraits enabled causes pretty bad flickering.

znimator commented 1 year ago

Having same problem, textures/polygons being constantly updated no matter what, even tried with Proton (even custom one), still problem wont disappear

[znimator@endeavourOS ~]$ glxinfo | grep -iE "core.*mesa"
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.3.0-devel (git-d7f3fdc262)