Closed Bug 1528581 Opened 5 years ago Closed 4 years ago

[sway] Wayland: window moved between scaled outputs renders to rect calculated at previous scale

Categories

(Core :: Widget: Gtk, defect, P3)

67 Branch
Unspecified
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1507989

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.

Attachment #9044459 - Attachment description: Screenshot-2019-42-16-16:42:33.png → Window moved from 2x to 1x scale output
Blocks: wayland
OS: Unspecified → Linux
Summary: Wayland: moving window between outputs doesn't redraw with new scale factor → Wayland: window moved between scaled outputs renders to rect calculated at previous scale
Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Summary: Wayland: window moved between scaled outputs renders to rect calculated at previous scale → [sway] Wayland: window moved between scaled outputs renders to rect calculated at previous scale
Attached video ff-rescale-issue.mkv

improved but still glitchy behavior in 2019-04-09 nightly

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.

Priority: -- → P3
Status: UNCONFIRMED → NEW
Ever confirmed: true
Blocks: wayland-sway
No longer blocks: wayland

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

I've recently started seeing this, including on the 2019-11-18 nightly and a relatively recent sway build from master.

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.

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).

See Also: → 1572995
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME

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.

Resolution: WORKSFORME → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: