https://bugs.winehq.org/show_bug.cgi?id=43102
Bug ID: 43102 Summary: GTA V keyboard issue Product: Wine Version: 2.9 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: xsellier@gmail.com Distribution: Debian
Hey folks,
Thank you for you amazing work here. I have a bug when I try to play GTA V. This bug is related to the keyboard.
*How to reproduce it*
1. Install wine 2.9 with following components: - d3dcompiler_43 - d3dx11 2. Run winecfg and set the windows version to Windows XP 3. Install steam 4. Install GTA V 5. Run GTA V (login to the social club) 6. Once the game has started do the ALT+TAB trick (https://bugs.winehq.org/show_bug.cgi?id=42330#c18) 7. Press any key of the keyboard (it works flawlessly) 8. Select the Story Mode 9. Once in game, press any key from the keyboard. Now the game is freezing for a 2 second and it will work again. This issue is related to the keyboard, because if you are using a controller (xbox for example) it works without any stutter. But press a key of the keyboard and the freeze is coming (sorry for this one).
*Observation*
- The sound is still playing - Only the rendering is frozen
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #1 from Xavier Sellier xsellier@gmail.com --- By the way, interesting fact. When you press a game, the game rendering is freezing, but, the wine log output is also freezing. Meaning nothing is written to the log output is the rendering is frozen, and then everything goes back to normal.
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #2 from Xavier Sellier xsellier@gmail.com --- (Sorry for this triple post).
This is not a regression, I have tested GTA V with wine 2.6, 2.7 and 2.8. The issue remains.
https://bugs.winehq.org/show_bug.cgi?id=43102
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #3 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Thanks for the report.
Please, add bug 42330 to the "Depends on" field (just put the numbers).
https://bugs.winehq.org/show_bug.cgi?id=43102
Xavier Sellier xsellier@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |42330
https://bugs.winehq.org/show_bug.cgi?id=43102
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=43102
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sa@whiz.se
https://bugs.winehq.org/show_bug.cgi?id=43102
pablodevlinux@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pablodevlinux@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43102
Simon Körner winehq@lubiland.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@lubiland.de
https://bugs.winehq.org/show_bug.cgi?id=43102
Kimmo Myllyvirta kimmo.myllyvirta@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kimmo.myllyvirta@gmail.com
--- Comment #4 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 58475 --> https://bugs.winehq.org/attachment.cgi?id=58475 keyboard hack
The game adds low-level keyboard hook for handling the alt-enter (switch between fullscreen/windowed) and home (open Social Club). dinput adds its own hook after that. When in-game, the dinput receives the key events first, it works ok, but calls to next hook causes what looks like a deadlock. It breaks out of it after the 2-second ll hook timeout. There are multiple threads involved in this dance (at least 4).
I don't know why this happens yet, but here's a hack for it. This is not a bug in dinput, same happens also with native dinput8. The patch passes L-Alt and Return to the next hook in order to workaround bug 42330. These keys are unusable in-game, remap the keys from the settings. L-Alt is "Character Select" and return/enter is "Phone Select" by default.
https://bugs.winehq.org/show_bug.cgi?id=43102
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=43102
dereklesho52@Gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dereklesho52@Gmail.com
--- Comment #5 from dereklesho52@Gmail.com --- (In reply to Kimmo Myllyvirta from comment #4)
Created attachment 58475 [details] keyboard hack
The game adds low-level keyboard hook for handling the alt-enter (switch between fullscreen/windowed) and home (open Social Club). dinput adds its own hook after that. When in-game, the dinput receives the key events first, it works ok, but calls to next hook causes what looks like a deadlock. It breaks out of it after the 2-second ll hook timeout. There are multiple threads involved in this dance (at least 4).
I don't know why this happens yet, but here's a hack for it. This is not a bug in dinput, same happens also with native dinput8. The patch passes L-Alt and Return to the next hook in order to workaround bug 42330. These keys are unusable in-game, remap the keys from the settings. L-Alt is "Character Select" and return/enter is "Phone Select" by default.
Thank you for this workaround, it works for me
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #6 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- I confirm the issue and the hack works for me too.
https://bugs.winehq.org/show_bug.cgi?id=43102
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |STAGED Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/server-send_ha | |rdware_message CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #7 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- The staged patchset does fix the issue.
https://bugs.winehq.org/show_bug.cgi?id=43102
Anthony Jagers noonetinone@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |noonetinone@gmail.com
--- Comment #8 from Anthony Jagers noonetinone@gmail.com --- How does the game look?
https://bugs.winehq.org/show_bug.cgi?id=43102
BieHDC byi5000@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |byi5000@gmail.com
--- Comment #9 from BieHDC byi5000@gmail.com --- (In reply to Anthony Jagers from comment #8)
How does the game look?
Still the same graphic issues
https://bugs.winehq.org/show_bug.cgi?id=43102
Sami Kankaristo sami@kankaristo.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sami@kankaristo.fi
https://bugs.winehq.org/show_bug.cgi?id=43102
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=43102 Bug 43102 depends on bug 42330, which changed state.
Bug 42330 Summary: Grand Theft Auto V (Steam): black screen, only audio https://bugs.winehq.org/show_bug.cgi?id=42330
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=43102
Piotr W shadow21222+wbz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shadow21222+wbz@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43102
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/server-send_ha |er/patches/server-send_hard |rdware_message |ware_message CC| |nerv@dawncrow.de
https://bugs.winehq.org/show_bug.cgi?id=43102
roman@hargrave.info roman@hargrave.info changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |roman@hargrave.info
--- Comment #10 from roman@hargrave.info roman@hargrave.info --- Upon a brief examination of the file affected by the (formerly) staged patchset, the fix for this issue has made it in to Wine.
Please update the issue status to fixed.
https://bugs.winehq.org/show_bug.cgi?id=43102
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #11 from Zebediah Figura z.figura12@gmail.com --- (In reply to roman@hargrave.info from comment #10)
Upon a brief examination of the file affected by the (formerly) staged patchset, the fix for this issue has made it in to Wine.
Please update the issue status to fixed.
I'm not sure where you get that impression. The patch is still staged, still applies cleanly against trunk, and in fact hasn't been modified since its addition. Nor is there any analogous solution in trunk.
For what it's worth, my guess as to the proper solution to this bug is to rewrite dinput on top of HID, so that it doesn't use hooks.
https://bugs.winehq.org/show_bug.cgi?id=43102
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|sa@whiz.se |
https://bugs.winehq.org/show_bug.cgi?id=43102
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |NEW Keywords| |patch
--- Comment #12 from Gijs Vermeulen gijsvrm@gmail.com --- The patchset was removed from wine-staging, so removing STAGED status. Also, can anyone still reproduce this with wine-3.21?
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #13 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Gijs Vermeulen from comment #12)
The patchset was removed from wine-staging, so removing STAGED status. Also, can anyone still reproduce this with wine-3.21?
Still present in both wine 3.21 and wine-staging 3.21.
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #14 from BieHDC byi5000@gmail.com --- can confirm as well for staging-3.21 please re-add that hack until a proper fix is there, thanks
https://bugs.winehq.org/show_bug.cgi?id=43102
peuc@wanadoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |peuc@wanadoo.fr
https://bugs.winehq.org/show_bug.cgi?id=43102
amathor929@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |amathor929@gmail.com
--- Comment #15 from amathor929@gmail.com --- Still an issue in staging 4.0-rc3
https://bugs.winehq.org/show_bug.cgi?id=43102
Steffen Klee steffen.klee@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |steffen.klee@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43102
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es
https://bugs.winehq.org/show_bug.cgi?id=43102
DocMAX docmax@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |docmax@gmx.de
--- Comment #16 from DocMAX docmax@gmx.de --- When is this going to go into staging?
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- (In reply to DocMAX from comment #16)
When is this going to go into staging?
It was in Staging for a long time. It broke other applications, which is why it is no longer in Staging.
https://bugs.winehq.org/show_bug.cgi?id=43102
Maxim amol3d.by@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |amol3d.by@gmail.com
--- Comment #18 from Maxim amol3d.by@gmail.com --- How does this bug is fixed in steam proton 3.16-7 beta?
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #19 from mirh mirh@protonmail.ch --- Because the patch that fixed this (but broke other stuff) was only dropped in 3.20?
https://bugs.winehq.org/show_bug.cgi?id=43102
patb1286@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |patb1286@gmail.com
--- Comment #20 from patb1286@gmail.com --- For me, when the game is not in focus (I was working on my other monitor) the keyboard commands controlled my character and moved things around flawlessly without any freezing. When in focus, the issue returns.
https://bugs.winehq.org/show_bug.cgi?id=43102
Ballerleo ballerleo@ballerleo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ballerleo@ballerleo.de
https://bugs.winehq.org/show_bug.cgi?id=43102
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sp339@gmx.com
--- Comment #21 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 51177 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=43102
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com, | |winetest@luukku.com
https://bugs.winehq.org/show_bug.cgi?id=43102
Owen Wang owenwang2007@icloud.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |owenwang2007@icloud.com
--- Comment #22 from Owen Wang owenwang2007@icloud.com --- It seems like I am still having this issue on wine staging 6.13. Will there be a fix for this issue soon?
https://bugs.winehq.org/show_bug.cgi?id=43102
alpir jg.staffel@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jg.staffel@gmail.com
--- Comment #23 from alpir jg.staffel@gmail.com --- I confirm this bug with wine-6.14.
https://bugs.winehq.org/show_bug.cgi?id=43102
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |berillions@gmail.com
--- Comment #24 from Berillions berillions@gmail.com --- With wine-6.22 the keyboard freeze completely the game more than 2s ... I need to kill the game process ... Hopefully this issue does not exist if i use a gamepad.
https://bugs.winehq.org/show_bug.cgi?id=43102
Stefan Riesenberger stefan.riesenberger@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan.riesenberger@gmail.c | |om
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #25 from Stefan Riesenberger stefan.riesenberger@gmail.com --- The hack posted here still works when rebased, but it has the issue of still hanging the game on ALT or ENTER.
I am currently using this patch from Proton on my Wine tree and it works for all keys as far as I can tell.
https://github.com/ValveSoftware/wine/commit/a905d83ec1ad2c40cda51dc59f0a71c...
https://bugs.winehq.org/show_bug.cgi?id=43102
Christian Weiske cweiske@cweiske.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cweiske@cweiske.de
--- Comment #26 from Christian Weiske cweiske@cweiske.de --- This issue happens on wine 7.13. Pressing a key hangs the game for ~5 seconds here, and then it works again. The key press does not seem to be registered by the game engine, so I can't move the player figure around.
https://bugs.winehq.org/show_bug.cgi?id=43102
sp339@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|sp339@gmx.com |
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #27 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Christian Weiske from comment #26)
This issue happens on wine 7.13. Pressing a key hangs the game for ~5 seconds here, and then it works again. The key press does not seem to be registered by the game engine, so I can't move the player figure around.
Hello,
The key is registered after the 5 sec delay if you keep it pressed.
That is: - You press and hold the key → the game is stuck a few sec. - when the game refresh → the pressed key get registered, you may release it but the game is stuck for a few sec more. - After the delay, the game unhangs and the action is performed. - To move around with keyboard you have to hold the key which makes the game is a slide show.
The game is obviously not playable with keyboard in the current state, but you can press & hold Escape to open the main menu and exit with mouse clicks from there.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=43102
Mike Sharov msharov@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |msharov@users.sourceforge.n | |et
--- Comment #28 from Mike Sharov msharov@users.sourceforge.net --- Since it doesn't look like this bug is going to get fixed anytime soon, is there a way to copy some DLLs from a Proton package to make it work? I tried copying Proton's user32.dll, dinput.dll, and dinput8.dll, to GTA5 dir, but there was no effect.
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #29 from Rémi Bernon rbernon@codeweavers.com --- It's probably not going to work, no. The workarounds for this issue are in https://github.com/ValveSoftware/wine/commit/5c50ea52fcd9ea6cfcab048fd8e1799... and https://github.com/ValveSoftware/wine/commit/c15c719f9104eaeb5feaf4800151a89...
You can try porting these patches to a local Wine build, or use one of the downstream Wine community distributions which already include them (GE, Tkg, etc...).
For the record, the problem here is that the main game thread is polling for X11 input and sending the messages through wineserver, waiting for the LL hooks to be processed at the same time.
Another game thread has registered LL keyboard hooks and processes them, but, as some point tries to synchronize with the main thread and expects it to not be blocked. This causes a deadlock when that threads waits on the main thread to finish processing its hooks while the main thread waits for the hooks to be processed.
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #30 from Mike Sharov msharov@users.sourceforge.net --- Switching to a custom build is a non-starter for most people.
So is there any particular reason these patches still haven't been accepted into the main build? I mean, it will make one of the most popular games out there today go from "Garbage" category to "Gold", which seems like a good thing that can be accomplished with no effort, with the patches already done and tested in Proton.
https://bugs.winehq.org/show_bug.cgi?id=43102
--- Comment #31 from Rémi Bernon rbernon@codeweavers.com --- The reason is that they are incorrect and that the proper fix is to change the way we process input events.
More specifically, Windows does not remove hooks that timeout, and doing that would potentially break other applications.