Closed Bug 1614167 Opened 5 years ago Closed 5 years ago

[wayland][WebRender] Firefox UI is scaled incorrectly on non-integer scale factors, if started on integer scale factor

Categories

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

74 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1612377

People

(Reporter: cole.mickens, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0

Steps to reproduce:

Video repro: https://www.youtube.com/watch?v=gIKwD5U3LCo

  1. Set Sway output scale = 1
  2. Start firefox
  3. Set Sway output scale = 1.1, then 1.2

Actual results:

  1. Notice that Firefox is (poorly) scaled to something more like 2x.
  2. Notice that Chromium (Ozone/Wayland) has done the correct thing.

Then repeat the scenario, but first set the output scale to 1.2, THEN start firefox. This time, it is somehow able to handle the fractional scaling down and back up.

This bug repros in another way, but I don't have a screenshot of it yet, it seems to require using an external monitor (or possibly requires starting with the output at 2.0 and then moving down, I suspect it might trigger the bug the same way.)

Expected results:

I expected it to behave like earlier Nightly builds on Wayland and correctly handle the fractional scaling, (as it seems it can still do if you trick it).

Exact version: 74.0a1 (2020-02-08) (64-bit)

It seems to be related to the integer boundaries.

If I set the output scale to 2.0, then lower it, I can go 1.9, 1.8, ... 1.1, and it's fine.
As soon as it gets to 2.0, it snaps to being far too small.

Attached image output.png

Comment 2 with a correction (I had the ending scale written incorrectly):

"If I set the output scale to 2.0, then lower it, I can go 1.9, 1.8, ... 1.1, and it's fine.
As soon as it gets to 1.0, it snaps to being far too small." (the screenshot posted shows this scenario)

It also seems if you start with scale=1, then go up to 2, you can't go back to 1, you end up with the same result (again, see same screenshot).

Component: Untriaged → Widget: Gtk
OS: Unspecified → Linux
Product: Firefox → Core
Hardware: Unspecified → x86_64

Can you check if that's webrender only? Please disable webrender at about:config.

Blocks: wayland
Flags: needinfo?(cole.mickens)

@stransky, it looks like it is related to webrender. I set it forced-disabled=true and it seems like it's back to behaving correctly.

Flags: needinfo?(cole.mickens)

I see, thanks. WebRender has some bugs with DPI changes, I'll look at it. Bug 1612377 may be a dupe.

See Also: → 1612377
Summary: [wayland] Firefox UI is scaled incorrectly on non-integer scale factors, if started on integer scale factor → [wayland][WebRender] Firefox UI is scaled incorrectly on non-integer scale factors, if started on integer scale factor
Assignee: nobody → stransky
Priority: -- → P2

The thanks goes to you Martin, I see your name a lot on these Wayland bugs. Thank you for the work!

It's almost certainly a dupe of that bug. I'll resolve this as dupe.

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: