protonscr

[d3d9] Multiple Games flicker on Intel HD

dxvkclosed d3d9can't reproduce
doitsujin/dxvk#1451 · opened 2020-02-15 by jrugia · updated 2020-02-26 · 28 comments · github
Jjrugia 2020-02-15 github

Starting with DXVK v1.5.2 up to 1.5.4 there's a constant screen flicker in DX9 Games, some worse than others. Reverting to v1.5.1 solves the issue with all of the games I tested. If I run the games in a Window only the game's canvas flashes, rest of the desktop is fine. Issue is not present in DX11 games.

Video: https://drive.google.com/file/d/1XGOu5-TmIxlsPekBx3kPW-xPCKSVnVeR

Software information

Guild Wars 1 + 2, Race Driver: GRID

System information

  • GPU: Intel HD 5500 (Intel i3-5005U CPU)
  • Driver: Mesa 19.2.8
  • Wine version: 5.0 Staging (tried older versions too)
  • DXVK version: 1.5.2, 1.5.3, 1.5.4
  • Kernel version: 5.4.17

Log files

  • d3d9.log:

GRID_d3d9_dxvk1.5.1.log
GRID_d3d9_dxvk1.5.4.log

I tried to look for a more recent pre-compiled build from the master branch for testing, but the site I used to use only goes as far as 17th Jan: https://haagch.frickel.club/files/dxvk/

Mmisyltoad 2020-02-15 github

I tried to look for a more recent pre-compiled build from the master branch for testing, but the site I used to use only goes as far as 17th Jan

We offer builds of every commit here: https://git.froggi.es/doitsujin/dxvk/-/jobs

Thanks for reporting, I'll take a look and see if I can repro it at all.

Jjrugia 2020-02-15 github

@Joshua-Ashton

I tested the builds after 1.5.1 and the issue became present as of commit - https://git.froggi.es/doitsujin/dxvk/commit/caae5d18edd3ae03bfcbdb19e1d9eb849e82e459

RRinMaru 2020-02-15 github

im having the same issue but im on windows with AMD GPU.
Ill take a look at the builds

@Joshua-Ashton

#1091 d3d9-view-fix 73910895

this is what broke it

Mmisyltoad 2020-02-16 github

So I tried to repro the issue on GRID on a machine with Intel Iris Plus Graphics 655 with mesa-19.3.4-2 + linux-5.5.3-arch1-1 and I did not have any issues running it on 1.5.4 (the version shipped in Proton) or on master.

I also tried to repro on Windows using AMD but it also worked fine for me there.

I'm not really sure where to go from here given I can't reproduce the issue at all.

Mmisyltoad 2020-02-16 github

Can you try to update your mesa? It's the only thing I can really think of.

As for what you bisected it down to -- I don't see how that can be the cause, if that was broken it would be broken everywhere.

RRinMaru 2020-02-16 github

Only place im getting the issue is on an emulator CXBX-R. so i didnt report it plus im on windows and your focus isnt on windows

Mmisyltoad 2020-02-16 github

I develop the d3d9 frontend on Windows 🐸

RRinMaru 2020-02-16 github

Are you using the latest AMD Drivers by any chance? Adrenalin 2020 Edition 20.2.1 Optional.

Mmisyltoad 2020-02-16 github

Yes

image

Mmisyltoad 2020-02-16 github

There's a chance the CXBX-R issue is separate... Can you provide an apitrace of that?

Jjrugia 2020-02-16 github

So I tried to repro the issue on GRID on a machine with Intel Iris Plus Graphics 655 with mesa-19.3.4-2 + linux-5.5.3-arch1-1 and I did not have any issues running it on 1.5.4 (the version shipped in Proton) or on master.

I also tried to repro on Windows using AMD but it also worked fine for me there.

I'm not really sure where to go from here given I can't reproduce the issue at all.

I'll try updating the Kernel and Mesa tomorrow and re-test. Will keep the ticket open for now.

Thanks for checking it out :)

RRinMaru 2020-02-16 github

There's a chance the CXBX-R issue is separate... Can you provide an apitrace of that?

not sure how to do that any instructions to do so?

RRinMaru 2020-02-16 github

cant really do that since there will be 2 d3d9.dlls in the folder

Mmisyltoad 2020-02-16 github

trace it without dxvk then

RRinMaru 2020-02-16 github

doesnt repro without it

Mmisyltoad 2020-02-16 github

does it repro if you trace it on native d3d9 then play back the trace with dxvk?

that's kinda what i am asking

RRinMaru 2020-02-16 github

uh how do you do that? heres a trace that came from just dropping the file in
cxbx.zip

Mmisyltoad 2020-02-16 github

Well first you'd trace it like the guide, then put dxvk's d3d9.dll next to d3dretrace.exe and play back the thing you recorded

RRinMaru 2020-02-16 github

yep i can repro it that way

Mmisyltoad 2020-02-16 github

Can you send me the trace you recorded?

RRinMaru 2020-02-16 github

its in my previous comment

Mmisyltoad 2020-02-16 github

Hm, I am not able to reproduce the flickering on my end by replaying the trace

RRinMaru 2020-02-16 github

must be a Polaris issue then. the RX 480 is old by now and probably lacking support for somthing.
I would report it to AMD but this seems like a isolated issue and may not get attention.

Ggapg64 2020-02-19 github

I Have the same problem

My Specs
CPU:Intel Core i3 5005U
GPU:Intel HD5500
Driver:Mesa 19.3.4
Wine version:5.0
DXVK version:1.5.3,1.5.4
Kernel version:5.4.18

Game:
Wasteland 2

D3D9 log:
DXVK 1.5.3
https://drive.google.com/open?id=15QyY6sDuZN1K9KFc4P99_h3qJEikyGv0
DXVK 1.5.4
https://drive.google.com/open?id=1I8do3Rr65ygUNyXXfb8OuKB_towdxe-i

Jjrugia 2020-02-19 github

I ran further tests regarding the flicker:

Mesa 19.3.4 + LLVM 9.0.1 + Kernel 5.5.4 + DXVK 1.5.4
Mesa 20.0.0 + LLVM 9.0.1 + Kernel 5.5.4 + DXVK 1.5.4

Issue still persists. At this point I thought I was doing something wrong with my setup, but DXVK with DX11 works perfectly and even OpenGL mode with the Iris driver.

I'm beginning to think this may be a specific issue related to Intel Gen8 hardware in particular (which would not be the first time). This coming weekend I shall clone my OS over to an i3-7100 system and re-test, hopefully it will be enough to reveal the source of the issue.

Will keep you posted.

Jjrugia 2020-02-21 github

As mentioned a couple of days ago, I've cloned my test environment to a system with Kaby Lake GPU (Intel G4560 and i3-7100) and the flickering didn't occur.

This means the issue is most likely due to an Intel ANV bug. Going to file a ticket in the right place.

RRinMaru 2020-02-26 github

the latest nightly has fixed the issue on my end

DLLs