[Bug 60333] New: winex11: Dracula's Legacy no longer enters fullscreen under Xfwm
http://bugs.winehq.org/show_bug.cgi?id=60333 Bug ID: 60333 Summary: winex11: Dracula's Legacy no longer enters fullscreen under Xfwm Product: Wine Version: 11.4 Hardware: x86-64 URL: https://store.steampowered.com/app/396790/Draculas_Leg acy/ OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@list.winehq.org Reporter: gyebro69@gmail.com CC: rbernon@codeweavers.com Target Milestone: --- Regression SHA1: f645ce839002c9632eaf0614458e6fc704ae9b8b Distribution: --- Created attachment 82101 --> http://bugs.winehq.org/attachment.cgi?id=82101 short video depicting the problem Dracula's Legacy no longer enters fullscreen correctly in an Xorg session with XFCE/Xfwm. The game window is not resized to cover the screen. Only the upper-left part of the game's output is visible, while the rest of the desktop remains visible. This only happens when the game uses fullscreen mode. It does not happen when Wine's virtual desktop is enabled. The game has no demo version. I tested the Steam release. The game uses the Unity 4 game engine. I have attached a short video showing the problem. The terminal remains visible on the right because the game window fails to resize to fullscreen. Bisected to commit f645ce839002c9632eaf0614458e6fc704ae9b8b winex11: Introduce a new window_set_net_wm_fullscreen_monitors helper. Can't revert the commit cleanly on top of current HEAD, but with the previous commit the game resizes the screen correctly. Xorg + XFCE/Xfwm + Wine X11 driver: affected Wine virtual desktop under XFCE/Xorg: not affected Plasma Wayland + Wine native Wayland driver: not affected Plasma Wayland + Xwayland: not affected Tested on: Arch Linux Monitor configuration: single monitor Display resolution: 1440x900 X.Org X Server 1.21.1.24 xfce4-session 4.20.4 (Xfce 4.20) xfwm4 version 4.20.0 GPU: NVIDIA GeForce GTX 1660 SUPER NVIDIA driver: 615.71.09 Still present in wine-11.17-250-g14947569cf7 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #1 from Béla Gyebrószki <gyebro69@gmail.com> --- Disabling "Allow the window manager to control the windows" option on the Graphics tab makes the game resize correctly. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #2 from Rémi Bernon <rbernon@codeweavers.com> --- Could you add a log with WINEDEBUG=+loaddll,+pid,+win,+msg,+message,+x11drv,+event when reproducing the issue (and perhaps another one when not but as it's a different WM, that might not be very conclusive)? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #3 from Béla Gyebrószki <gyebro69@gmail.com> --- Created attachment 82102 --> http://bugs.winehq.org/attachment.cgi?id=82102 Debug log when window manager controls the windows (bad state) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #4 from Béla Gyebrószki <gyebro69@gmail.com> --- Created attachment 82103 --> http://bugs.winehq.org/attachment.cgi?id=82103 Debug log when managed windows disabled (good state) The log from the working, unmanaged-window case is somewhat longer because I could not close the unmanaged fullscreen window immediately with Alt+F4 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #5 from Rémi Bernon <rbernon@codeweavers.com> --- This seems to be an issue with the window manager. It resizes the window to its normal size, according to the WM_NORMAL_HINTS property we set (to 640x480) while the window is still in a fullscreen state from a _NET_WM_STATE request we made. I would argue that it is supposed to either, 1) not resize the window whenever it is fullscreen, or 2) remove the fullscreen bit from _NET_WM_STATE if it decides to resize it to its normal size. I'll see if we could perhaps try to avoid triggering that case, by adding more delays and dependencies between our requests, but overall it seems to me that it's a WM bug. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #6 from Béla Gyebrószki <gyebro69@gmail.com> --- (In reply to Rémi Bernon from comment #5)
This seems to be an issue with the window manager. It resizes the window to its normal size, according to the WM_NORMAL_HINTS property we set (to 640x480) while the window is still in a fullscreen state from a _NET_WM_STATE request we made.
I would argue that it is supposed to either, 1) not resize the window whenever it is fullscreen, or 2) remove the fullscreen bit from _NET_WM_STATE if it decides to resize it to its normal size.
I'll see if we could perhaps try to avoid triggering that case, by adding more delays and dependencies between our requests, but overall it seems to me that it's a WM bug. Thanks, that makes sense. The fact that the same Wine X11 driver works correctly under KWin/Xwayland, and that disabling managed windows also avoids the problem under Xfwm, seems to support this being an Xfwm-specific issue. I can file a corresponding report against Xfwm and link this Wine bug there. I am also happy to test any Wine-side workaround you may propose.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #7 from Rémi Bernon <rbernon@codeweavers.com> --- Created attachment 82105 --> http://bugs.winehq.org/attachment.cgi?id=82105 Xfwm possible patch #1 Yeah it seems to me that the issue might be somewhere around https://gitlab.xfce.org/xfce/xfwm4/-/blob/master/src/client.c#L1248 where the window is reconfigured when the WM_NORMAL_HINTS property changed, regardless of the fullscreen state. If you can/want to try rebuilding Xfwm from source, I'd suggest trying the attached patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #8 from Rémi Bernon <rbernon@codeweavers.com> --- Created attachment 82106 --> http://bugs.winehq.org/attachment.cgi?id=82106 Xfwm possible patch #2 Or alternatively this one. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #9 from Béla Gyebrószki <gyebro69@gmail.com> --- I tested both proposed Xfwm patches separately on top of xfwm4 4.20.0 with current Wine. Both patches fix the issue reported here, when “Allow the window manager to control the windows” enabled, Dracula’s Legacy now enters fullscreen correctly on startup. I also tested repeated switching between fullscreen and windowed mode. That behavior is inconsistent, but it does not appear to be introduced by either patch. I can reproduce incorrect repeated mode transitions with unpatched xfwm4 and Wine built from the parent of the offending commit (f645ce839002c9632eaf0614458e6fc704ae9b8b^): when starting the game in windowed mode, the first switch to fullscreen works, but subsequent fullscreen/windowed transitions are already incorrect. With current Wine I observed: - With patch #1, repeated transitions to windowed mode alternate between a correctly positioned 1214×683 window at (113,118) and a 1214×683 window at (0,0). In both cases the fullscreen state is removed. - With patch #2, after switching to windowed mode, WM_NORMAL_HINTS requests 1214×683 at (113,118), but the window can remain _NET_WM_STATE_FULLSCREEN with a geometry of 1440×900. Therefore both patches fix the startup regression, while the repeated runtime mode-switching issue seems to be separate and pre-existing. I cannot test the game on native Windows, so I cannot determine whether the inconsistent repeated fullscreen/windowed switching is caused by the game itself or by an older Wine/Xfwm interaction. Given that both patches fix the fullscreen startup issue, were they intended only as diagnostic test patches, or do you plan to submit one of them to the Xfwm project? If you think this should be handled upstream in Xfwm but do not plan to submit a patch yourself, I can file an Xfwm issue and include the test results and a link to this Wine bug. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #10 from Rémi Bernon <rbernon@codeweavers.com> --- Thanks for the detailed testing! I'll send the patches to Xfwm. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #11 from Rémi Bernon <rbernon@codeweavers.com> --- I've opened https://gitlab.xfce.org/xfce/xfwm4/-/merge_requests/190 there -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60333 --- Comment #12 from Béla Gyebrószki <gyebro69@gmail.com> --- (In reply to Rémi Bernon from comment #11)
I've opened https://gitlab.xfce.org/xfce/xfwm4/-/merge_requests/190 there Thanks! I’ll keep an eye on the merge request and will be happy to test any revised version if needed.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla