https://bugs.winehq.org/show_bug.cgi?id=48726
Bug ID: 48726 Summary: Final Fantasy XIV, freezes for several seconds when the mouse is moved with ReShade / GShade installed. Product: Wine-staging Version: 5.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: HereInPlainSight+wine@gmail.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Distribution: ---
First time submitting -- apologies if I'm missing anything obvious.
Firstly, the regression was tested using the git repos from wine's 'wine-5.0' tag and wine-staging's 'v5.0' tag. The issue is still present even with the wine 5.3 versions, but when I tried to follow the regression tests, I was failing to compile. I might've screwed something up, I can try again if you need me to, but I am a bit of a derp and I'm punching upward. The output I got from the regression test (following instructions from https://wiki.winehq.org/Wine-Staging#Reporting_and_debugging_bugs_against_St... ) was:
014cecf3f8e5eac5f8e23ef1aaf07f8e17169188 is the first bad commit commit 014cecf3f8e5eac5f8e23ef1aaf07f8e17169188 Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Aug 26 14:08:20 2019 +0200
dinput8: Use raw input interface for dinput8 mouse device.
dlls/dinput/mouse.c | 117 +++++++++++++++++++++++++++++++++++++++++++- dlls/dinput8/tests/device.c | 10 ++-- 2 files changed, 119 insertions(+), 8 deletions(-)
Second, the game currently requires ntdll-Hide_Wine_Exports, and it works fine with just that, and people can use an older version of Proton / Wine and that works around the problem too.
Finally, the actual problem: If ReShade (or GShade, a fork of ReShade) is installed with FFXIV, as soon as you get into the game itself (not the launcher), the game works perfectly fine unless you move the mouse. As soon as you move the mouse the game freezes from around five to ten seconds every time you move the mouse, making it effectively unplayable. This did not happen with Wine-Staging prior to 5.0.
Reproduction: 1) Download and install FFXIV (I realize Lutris is an extraneous program and I can go through the details, but I'd just be repeating what the scripts at https://lutris.net/games/final-fantasy-xiv-a-realm-reborn/ say to do / what's required. I can add the info if it's preferable). 2) Download and install a shader program (I use GShade, so instructions are based on that arbitrarily, but I confirmed the same issue with ReShade): 2a) Easiest installation is to download https://github.com/Mortalitas/GShade-Shaders/releases/latest/download/GShade... into the prefix/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV - A Realm Reborn/game/ directory and unzip it. Also download https://lutris.net/files/tools/dll/d3dcompiler_47.dll to the same location. 2b) Add overrides for d3d11 (native,builtin) and d3dcompiler_47 (native) to the prefix. 3) Run the game, sign in through the launcher. 4) When the game loads, move the mouse.
There's no output of the issue such that I can see by default in the console.
https://bugs.winehq.org/show_bug.cgi?id=48726
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=48726
--- Comment #1 from TL HereInPlainSight+wine@gmail.com --- Tested with Wine-5.4 with staging.
Tested with a full 5.4-staging build: same issue occurs. Tested with a full 5.4-staging build but reverting https://github.com/wine-staging/wine-staging/blob/6bfaa3b0a5c195d4bec9e0b608...: issue does not occur.
https://bugs.winehq.org/show_bug.cgi?id=48726
--- Comment #2 from Rémi Bernon rbernon@codeweavers.com --- Thanks for the bug report, would you mind telling what mouse model you are using? And if you know what its polling rate is?
I believe this could be caused by a high polling rate mouse, which can trigger a higher load on the wineserver and the game process with the patch, and possibly increase the frame time, making it miss the vsync.
Maybe disabling vsync could help, if that's possible somehow (I don't know what this shader thing does, maybe it forces vsync on).
https://bugs.winehq.org/show_bug.cgi?id=48726
--- Comment #3 from TL HereInPlainSight+wine@gmail.com --- No problem, thanks for the reply!
I'm using a Redragon M601 mouse, and according to evhz (https://gitlab.com/iankelling/evhz) its polling rate is 500Hz.
ReShade / GShade are post-processing injectors. https://github.com/crosire/reshade is the source for ReShade. I re-tested with the latest ReShade specifically (as it's the open source one), and it still happens. Of note, it only needs to be installed -- it happens even when none of its presets are active.
I spoke with the developer of GShade, and they said that they don't force any sort of framerate syncing, and I have vsync disabled in the game itself. (Frame rate limit is set to unlimited.)
https://bugs.winehq.org/show_bug.cgi?id=48726
tooney712@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tooney712@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=48726
TL HereInPlainSight+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #4 from TL HereInPlainSight+wine@gmail.com --- This patch appears to no longer exist as of at least (and possibly earlier than) 6.0 -- thus, this issue is resolved.
https://bugs.winehq.org/show_bug.cgi?id=48726
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- Closing fixed wine-staging bugs.