protonscr

World of Final Fantasy Offset issue

dxvkclosed game bug
doitsujin/dxvk#1216 · opened 2019-10-05 by kust2708 · updated 2021-07-02 · 16 comments · github
Kkust2708 2019-10-05 github

Rendering in game seems to have some issue, the screen is splitted by multiple horizontal bands with offset.

20190818174433_1
20190818174534_1
20190928200535_1
20190928200640_1

Software information

Name : World of Final Fantasy
Setting doesn't have influence on the result, only full screen is required in order to launch the game.

System information

  • GPU: NVIDIA GeForce GTX 1080 Ti
  • Driver: nvidia 435.21
  • Wine version: 4.17 & Proton 4.11-6
  • DXVK version: 1.4.2

Apitrace file(s)

No result, the game crashes without DXVK enabled :
wine apitrace.exe trace -a dxgi /run/media/jeux/WindowsSteamLibrary/steamapps/common/WOFF/WOFF.exe
apitrace: loaded into Z:\run\media\jeux\WindowsSteamLibrary\steamapps\common\WOFF\WOFF.exe
0031:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000022FCD0
002f:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000022FCD0

Log files

Ddoitsujin maintainer 2019-10-05 github

Yes, this is a known game bug related to its MSAA usage and cannot easily be worked around inside DXVK.

You can try wined3d, but it's just not possible to fix this properly without murdering performance.
I'll consider adding an option to straight-up disable MSAA, but it may break in other ways.

Kkust2708 2019-10-06 github

Thanks for your hard work @doitsujin. Just keep this in the current state. It's better to maintain DXVK stability and performance.

Ddoitsujin maintainer 2019-10-06 github

Do you know if this works with wined3d?

I'd be surprised if it did to be honest because of how texture binding works there, but it would be interesting regardless.

Kkust2708 2019-10-06 github

I managed once to launch this game using wined3d. The result is a black screen in game, only maps and sub are rendered. I'll try to clean my prefix and make a apitrace with wined3d.

Ddoitsujin maintainer 2019-10-06 github

wrt apitrace, you can try copying the dxgi.dll, dxgitrace.dll and d3d11.dll from the x86/lib/wrappers directory (or x64/lib/wrappers if this is a 64-bit game) next to the game exe and launch the game; it's usually more reliable than using the command line app.

There's also no need to use wined3d to record a trace in this particular case.

Kkust2708 2019-10-06 github

I tried many time to make an apitrace without success. With Proton, the game crashes at the begin with a dx11 error. With wine, there is no .trace file generated.
I tried both command line and putting wrappers files directly into the game folder (with the executable) as you suggested.

Some screenshot without DXVK :
Screenshot_20191006_123450
Screenshot_20191006_123524

I'm probably making something wrong, even it seems to be not that difficult...

Kkust2708 2019-10-10 github

An apitrace is coming soon...

Kkust2708 2020-04-21 github

Hi, I tried to launch this game using my Intel iGPU and the game works without any issue. It seems to be a Nvidia specific problem.

Mmisyltoad 2020-04-22 github

Yes, but this is still technically a problem caused by invalid behaviour cause the game does invalid stuff.

IiWeaker 2020-05-09 github

@kust2708 Did it work without problems with DXVK or was it with WineD3D?

Mmisyltoad 2020-05-09 github

It's because that just works on Intel.

Kkust2708 2020-05-10 github

@iWeaker4you It was with DXVK, but as Joshua-Ashton said, it's because that just works on Intel (and AMD according to some youtube videos I saw). I can give another try with WineD3D.

Kkust2708 2020-05-10 github

So, Here is the result with WineD3D :
Screenshot_20200510_124651
EDIT:
Here is the PS4 version (for comparison):
Screenshot_20200510_125808

Ddoitsujin maintainer 2020-05-10 github

i think wined3d suffers from more or less the same problem because GL wants you to bind multisampled textures as GL_TEXTURE_2D_MULTISAMPLE rather than GL_TEXTURE_2D, but doing that would obviously result in the same undefined behaviour that breaks DXVK.

But yeah I don't really see a sane way to work around this problem.

IiWeaker 2020-11-17 github

I confirm it works on Intel iGPU and AMD GPU (Tested on Radeon RX 580 and RX5500) it is an NVIDIA issue.

Proton versions

DLLs