[sway] Wayland: window moved between scaled outputs renders to rect calculated at previous scale
Categories
(Core :: Widget: Gtk, defect, P3)
Tracking
()
People
(Reporter: ericdrex, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(4 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0
Steps to reproduce:
In sway, with firefox nightly build running native wayland,
move window between different scale outputs (1 and 2 in my case), either direction
sway version 1.0-rc1-56-ge8c472ae (Feb 14 2019, branch 'master')
Actual results:
window doesn't redraw correctly. Rendered area is scaled by the ratio newScale/prevScale, but the drawable area seems to be taken at the old scale:
- When moving from a scale 2 output to a scale 1 output, the window content is rendered in only the top left quarter of the surface (first screenshot)
- When moving from scale 1 to scale 2, it seems that the content spills outside the surface, so only the top-left quarter of the content is visible (second screenshot)
For me this happens ~90% of the time, but not always, so maybe it's a race.
As a workaround, resizing the window (for example by opening a new window beside) redraws correctly, also most of the time, but not consistently.
Expected results:
Redraw at the new scale on move.
Previously reported at https://github.com/swaywm/sway/issues/3682
Updated•6 years ago
|
Updated•6 years ago
|
The situation is improved in the latest nightly in that the view corrects itself after about a second, but still does a glitchy little translate-scale dance. Attached video capture.
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 5•5 years ago
|
||
I don't see this problem in Ubuntu 19.10, FF 71.0~b7+build1-0ubuntu0.19.10.1 (webrender and basic) and sway 1.2 / wlroots 0.8.1
Comment 6•5 years ago
|
||
I've recently started seeing this, including on the 2019-11-18 nightly and a relatively recent sway build from master.
Comment 7•5 years ago
|
||
I have now started seeing this upon upgrading from FF 71 to FF 72 b2.
This happens on Wayland / Sway when moving a FF window created on a scale 2 display to a scale 1 display.
Additionally, disabling both accel.layers force enabled and webrender.all fixes the problem. Enabling one or both incurs in the issue.
FF 71 is OK.
Comment 8•5 years ago
|
||
More info: even though the window looks like it's drawn at 1/4 size, in reality it isn't. Only the visuals are. The window controls (eg the hamburger menu) can be activated if you click where they're supposed to be (instead of where they're shown).
Hi all. The original issue was fixed at some point and i should have closed and opened a fresh issue for comment #3.
Seems like the 72+ behavior we're seeing with webrender enabled is a new regression, see https://bugzilla.mozilla.org/show_bug.cgi?id=1612377.
Description
•