https://bugs.winehq.org/show_bug.cgi?id=48428
Bug ID: 48428 Summary: winex11.drv: Broken fullscreen handling in Adobe Lightroom (tiled screen) Product: Wine Version: 4.20 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: bugs@bzatek.net CC: zzhang@codeweavers.com Regression SHA1: 914b5519b1cd96f9ae19f1eec226e94af96354b9 Distribution: Gentoo
Created attachment 66196 --> https://bugs.winehq.org/attachment.cgi?id=66196 Screenshot at fullscreen mode 3
The winex11.drv changes introduced in wine-4.20 broke fullscreen handling in Adobe Lightroom 8.x and 9.x:
914b5519b1cd96f9ae19f1eec226e94af96354b9 winex11.drv: Use a separate virtual desktop display device handler.
acf03ed9da0f7d3f94de9b47c44366be3ee47f8e winex11.drv: Get virtual desktop size limit from the host primary display.
b7b4bacaf99661e07c2f07a0260680b4e8bed4f8 winex11.drv: Move the desktop fullscreen check after desktop init.
427152ec7b4ee85631617b693dbf1deea763c0ba winex11.drv: Fix NoRes mode handler having an empty mode.
There are three fullscreen modes in Adobe Lightroom, switchable via Ctrl+F (cycling) or Window -> Screen Mode menu:
1. "Normal" - no fullscreen, regular resizeable window decorated by the WM, can be maximized. Everything is rendered properly in this case. 2. "Full Screen with Menubar" - no WM decorations, the window takes dimension of a maximized window, i.e. the desktop environment panels are shown. 3. "Full Screen" - true fullscreen, taking whole screen dimensions, DE panels are hidden.
Now my screen setup may be a little exotic - I'm using a tiled monitor connected via two inputs. xrandr sees two connected outputs, 2560x2880 each, exposing a TILE property that the window manager (marco, a metacity clone) properly uses and composes final screen of 5120x2880 dimension.
What I think it's missing here in Wine is a tiled monitor awareness. The issue is that only half of the screen (one tile/output) is rendered in modes 2 and 3, the other half is "dead" - displaying stale buffer from the WM compositor. However, the WM sees proper size of the window (5120x2880, confirmed by sniffing via `xwininfo`), all input events are properly directed there, however it's the wine that renders only one tile. The running application - Lightroom - is however rendered properly within the dimensions of that one tile (2560x2880), meaning all UI elements are visible and working.
The workaround for the time being is to use virtual desktop where rendering is correct in any of the above mentioned modes.
As a side note, prior to the changes the virtual desktop that equals screen size will get automatically fullscreened on startup. That's not the case after the changes where user needs to manually make the virtual desktop fullscreen via WM keybinding.
https://bugs.winehq.org/show_bug.cgi?id=48428
--- Comment #1 from Tomáš Bžatek bugs@bzatek.net --- Created attachment 66197 --> https://bugs.winehq.org/attachment.cgi?id=66197 xrandr --verbose
https://bugs.winehq.org/show_bug.cgi?id=48428
Tomáš Bžatek bugs@bzatek.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=48428
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #2 from Zhiyi Zhang zzhang@codeweavers.com --- Confirmed. Tiled displays are currently unsupported. Wine needs to support RandR 1.5 and TILE property in the outputs.
https://bugs.winehq.org/show_bug.cgi?id=48428
--- Comment #3 from Tomáš Bžatek bugs@bzatek.net --- (In reply to Zhiyi Zhang from comment #2)
Confirmed. Tiled displays are currently unsupported. Wine needs to support RandR 1.5 and TILE property in the outputs.
Thanks for confirming this. Does this qualify as a regression that should be reverted for the stable 5.0 release?
Note that I basically didn't test anything else other than Lightroom, no idea what else is broken.
https://bugs.winehq.org/show_bug.cgi?id=48428
--- Comment #4 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Tomáš Bžatek from comment #3)
(In reply to Zhiyi Zhang from comment #2)
Confirmed. Tiled displays are currently unsupported. Wine needs to support RandR 1.5 and TILE property in the outputs.
Thanks for confirming this. Does this qualify as a regression that should be reverted for the stable 5.0 release?
Note that I basically didn't test anything else other than Lightroom, no idea what else is broken.
I guess it can be called a regression but I don't think it should be reverted. For the moment, if you know how to compile Wine, you can try bumping up the priority of Xinerama display device handler in winex11.drv/xinerama.c#L323. That should be able to handle tiled displays.
https://bugs.winehq.org/show_bug.cgi?id=48428
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://web.archive.org/web | |/20190408041923/http://prdl | |-download.adobe.com/Lightro | |om/CA4674BB70B54A1A9DE0B083 | |1F85443E/1544440684794/LR_8 | |.0_1193777_win64_Release_ES | |D.zip Keywords| |download, regression CC| |focht@gmx.net Summary|winex11.drv: Broken |Adobe Lightroom 8.x / 9.x: |fullscreen handling in |Broken fullscreen handling |Adobe Lightroom (tiled |when using tiled monitor |screen) |setup since Wine 4.20 | |(missing support for tiled | |displays, RandR 1.5 | |extension via TILE | |property)
https://bugs.winehq.org/show_bug.cgi?id=48428
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch