https://bugs.winehq.org/show_bug.cgi?id=57430
Bug ID: 57430 Summary: Guild Wars 2: erratic camera movements while holding mouse buttons on Wine Wayland Product: Wine Version: 9.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winewayland Assignee: wine-bugs@winehq.org Reporter: mweires@googlemail.com Distribution: ---
using GNOME 47.1 (Wayland) and Wine 9.21 (Wine Wayland) the camera will do a hefty jerk to the top anytime you hold the left or right mouse button and move the mouse slightly. everything else seems to work as expected ingame.
tested on a clean wine prefix with only DISPLAY="" set + latest Guild Wars 2 (64-bit) client.
https://bugs.winehq.org/show_bug.cgi?id=57430
Mershl mweires@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Fedora
https://bugs.winehq.org/show_bug.cgi?id=57430
Mershl mweires@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|9.21 |9.22
--- Comment #1 from Mershl mweires@googlemail.com --- confirmed for 9.22 (non-staging and staging) and Gnome Wayland 47.1
https://bugs.winehq.org/show_bug.cgi?id=57430
--- Comment #2 from Mershl mweires@googlemail.com --- confirmed, reproducible on 9.22 + latest Plasma (Kwin) wayland. it's not mutter specific.
https://bugs.winehq.org/show_bug.cgi?id=57430
--- Comment #3 from Mershl mweires@googlemail.com --- confirmed for 10.0-rc2 (non-staging and staging) on Gnome Wayland 47.2 and latest Plasma (Kwin) wayland.
https://bugs.winehq.org/show_bug.cgi?id=57430
Mershl mweires@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|9.22 |10.0
--- Comment #4 from Mershl mweires@googlemail.com --- Other MMOs like World of Warcraft show this issue as well - but only while they are not fullscreened. Starting World of Warcraft in fullscreen mode makes the game work as expected on winewayland.
Guild Wars 2 never starts in proper fullscreen on winewayland, but needs a toggle of the ingame fullscreen option - the issue is then still seen.
From my testing on wine 10.0 it seems mouselook in MMOs is defect while they are not fullscreened. Tested on Gnome 47.3 wayland an KDE 6.2 wayland with GW2 (latest) and WoW (WotLK classic).
https://bugs.winehq.org/show_bug.cgi?id=57430
--- Comment #5 from Mershl mweires@googlemail.com --- enabling `WINEDEBUG=trace+waylanddrv` shows a difference between affected and unaffected.
while WoW is in windowed mode and affected by the issue holding right click to mouselook logs
0128:trace:waylanddrv:pointer_handle_motion_internal hwnd=0x3006a wayland_xy=1272.34,198.56 screen_xy=2468,812 0128:trace:waylanddrv:pointer_handle_motion_internal hwnd=0x3006a wayland_xy=1272.34,199.56 screen_xy=2468,813 0128:trace:waylanddrv:pointer_handle_motion_internal hwnd=0x3006a wayland_xy=1271.34,200.56 screen_xy=2467,814 0128:trace:waylanddrv:pointer_handle_motion_internal hwnd=0x3006a wayland_xy=1271.34,201.56 screen_xy=2467,815 ...
while WoW is in fullscreen mode and unaffected by the issue holding right click to mouselook logs
0128:trace:waylanddrv:relative_pointer_v1_relative_motion hwnd=0x3006a wayland_dxdy=1.00,0.00 screen_dxdy=1,0 0128:trace:waylanddrv:relative_pointer_v1_relative_motion hwnd=0x3006a wayland_dxdy=1.00,0.00 screen_dxdy=1,0 0128:trace:waylanddrv:relative_pointer_v1_relative_motion hwnd=0x3006a wayland_dxdy=1.00,0.00 screen_dxdy=1,0 0128:trace:waylanddrv:relative_pointer_v1_relative_motion hwnd=0x3006a wayland_dxdy=0.00,-1.00 screen_dxdy=0,-1 ...
tested on wine 10.0 and WoW 3.3.5 as well as Guild Wars 2 latest
https://bugs.winehq.org/show_bug.cgi?id=57430
Mershl mweires@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aidas957@gmail.com, | |alexandros.frantzis@collabo | |ra.com, | |rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=57430
--- Comment #6 from Mershl mweires@googlemail.com --- Can confirm that the issue reproduces on an Nvidia setup as well (tested on latest Kwin Wayland and mutter Wayland).
Wine 10.1 (stock and staging) is also affected.
https://bugs.winehq.org/show_bug.cgi?id=57430
mactan@edgetransit.dev mactan@edgetransit.dev changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mactan@edgetransit.dev
--- Comment #7 from mactan@edgetransit.dev mactan@edgetransit.dev --- I took note of this item being referenced on https://gitlab.winehq.org/wine/wine/-/merge_requests/7353 and by proxy https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/33... and the earlier https://gitlab.freedesktop.org/xorg/xserver/-/issues/1350#note_1782556.
Star Citizen has also been affected by drastic cursor warping since October 2022 on xwayland that spins the character to stare at their feet when using interaction mode. 7353 and 7352 applied on 10.0 and 7353 applied on latest git do not yet resolve the issue for that game when using winewayland.drv (arch kde plasma 6.3.2-1 )
https://bugs.winehq.org/show_bug.cgi?id=57430
Attila Fidan winebugs@print0.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winebugs@print0.net
--- Comment #8 from Attila Fidan winebugs@print0.net --- (In reply to Mershl from comment #0)
using GNOME 47.1 (Wayland) and Wine 9.21 (Wine Wayland) the camera will do a hefty jerk to the top anytime you hold the left or right mouse button and move the mouse slightly.
(https://gitlab.winehq.org/wine/wine/-/merge_requests/7353#note_96317)
For Guild Wars 2: The mouselook issue in Guild Wars 2 while in winewayland windowed mode is not affected by this PR. Screencast of the issue: https://streamable.com/vwnp0q
If I understand correctly, upon holding the button to activate mouselook the camera jerks, but mouselook otherwise works correctly aside from the initial jerk? Does the camera jerk if you first hold the button, without moving the pointer, or only once you've moved the pointer?
Could you upload another screen recording, with a terminal beside the application visible and run in bash the application in windowed mode: WINEDEBUG=+waylanddrv,+win WAYLAND_DEBUG=1 wine start /unix [app.exe] 2> >(grep --color=always --line-buffered -e ClipCursor -e SetCursorPos -e wayland_surface_calc_confine -e zwp_locked_pointer_v1 -e zwp_confined_pointer_v1 -e zwp_relative_pointer_v1 -e wl_pointer -e wayland_pointer_update_constraint -e relative_pointer_v1_relative_motion -e pointer_handle_motion_internal | tee log.txt 1>&2)
then reproduce the issue (without moving the mouse excessive amounts if possible), and upload the log.txt (compressed if needed)? (the screen recording can start once you get to the part where the issue is reproduced, and end after)
(on 10.2 with !7352 and !7353 applied)
https://bugs.winehq.org/show_bug.cgi?id=57430
--- Comment #9 from Mershl mweires@googlemail.com --- I've noticed my testing was based on wine-staging instead of plain wine. So I setup a fresh test environment and did a complete round of testing.
test method: 1) hold right click + wait 3 seconds without moving mouse + then move 2) do lots of sudden movements while holding and release right click
wine-git and wine-staging-git are referring to latest commit.
Guild Wars 2 (windowed mode): wine10.0: does not show this issue for 1) or 2) wine10.1: does not show this issue for 1) or 2) wine10.2: does not show this issue for 1) or 2) wine10.2 + !7353 + !7352: does not show this issue for 1) or 2) wine-git + !7353 + (!7352): does not show this issue for 1) or 2). screencast: https://youtu.be/onfn_6Ot2M4 wine-staging-git: shows the issue for 2), but not for 1) wine-staging-git + !7353 + (!7352): shows the issue for 2), but not for 1). screencast: https://youtu.be/5BNOoXM58g0
to summarize: something breaks for GW2 in wine-staging, and this issue is not seen on plain wine at all.
WoW WotLK (windowed mode): wine10.0: shows the issue for 1) and 2) wine10.1: shows the issue for 1) and 2) wine10.2: shows the issue for 1) and 2) wine-git + !7353: completely fixes the issue wine-staging-git + !7353: completely fixes the issue
a screencast of a separate issue I noticed while testing WotLK: https://youtu.be/HHY2FKy0WTs clicking the header bar shows a recognized click in the log, dragging it shows not effect to the rendered window. the cursor calculation is off after trying to move the window though as if wine now calculates with the "new" window position while the old is still rendered.