Firefox 49 does not adjust default zoom level to system scaling in Ubuntu 16.04

RESOLVED INVALID

Status

()

Core
Widget: Gtk
RESOLVED INVALID
2 years ago
2 years ago

People

(Reporter: robert_s, Unassigned)

Tracking

49 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160920074044

Steps to reproduce:

Using Ubuntu 16.04 LTS, I upgraded from Firefox 48 to Firefox 49 when offered.


Actual results:

After the upgrade, the default zoom level is 100%, whereas it was 150% in Firefox 48 and previous versions, because I set the system scaling to 1.5 in the Ubuntu system settings.


Expected results:

The default zoom level should still follow the system scaling, i.e. be at 150% on my system.
(Reporter)

Comment 1

2 years ago
More detailed reproduction steps:

- Install Ubuntu 16.04 LTS and all currently available updates, except for Firefox updates
- Go to Ubuntu System Settings -> Displays and set "Scale for menu and title bars" to 1.5
- Start Firefox, click the menu button on the upper right, and note that the zoom level is at 150%
- Close Firefox and update to the latest Firefox version (49.0) offered through Ubuntu updates
- Start Firefox, click the menu button on the upper right, and note that the zoom level is not at 100%. Firefox no longer follows the System Scaling.
(Reporter)

Comment 2

2 years ago
(In reply to robert_s from comment #1)
> - Start Firefox, click the menu button on the upper right, and note that the
> zoom level is not at 100%.

Typo: Make that "now" rather than "not".
(Reporter)

Comment 3

2 years ago
After downgrading to Firefox 45.0, I realize I made a mistake: Firefox was always showing a default zoom level of 100%.

But, in Firefox 45.0, the tabs and toolbar buttons were bigger, and so were the rendered web pages.

Comparing screenshots, I found that I need to set the zoom level to 133% in Firefox 49.0 to achieve the same visual result of web pages that Firefox 45.0 showed at 100%. The tabs and the toolbar buttons are still smaller than in 45.0.
(Reporter)

Comment 4

2 years ago
I found out that changing the setting layout.css.devPixelsPerPx in about:config from the default (-1.0) to 2.0 in Firefox 49.0 produces the same visual result of tabs, tool bar and web pages that Firefox 45.0 produced at the default setting.

From what I understand, -1.0 means "use system scaling". Why did this result in 2.0 in Firefox 45.0 through 48.0, and suddenly results in 1.0 in Firefox 49.0?

Comment 5

2 years ago
Jonathan, do you have an idea about the change of layout.css.devPixelsPerPx in FF49?
Component: Untriaged → Widget: Gtk
Flags: needinfo?(jfkthame)
Product: Firefox → Core
(In reply to robert_s from comment #1)
> More detailed reproduction steps:
> 
> - Install Ubuntu 16.04 LTS and all currently available updates, except for
> Firefox updates
> - Go to Ubuntu System Settings -> Displays and set "Scale for menu and title
> bars" to 1.5
> - Start Firefox, click the menu button on the upper right, and note that the
> zoom level is at 150%
> - Close Firefox and update to the latest Firefox version (49.0) offered
> through Ubuntu updates
> - Start Firefox, click the menu button on the upper right, and note that the
> zoom level is not at 100%. Firefox no longer follows the System Scaling.

Unfortunately, GTK3 supports integer scale only by HiDPI API.  But we won't support float scale by X such as bug 1211547 yet.
On my system running Ubuntu 15.10, Firefox 49 currently reports a devicePixelRatio of 1.5. 

There seem to be two scales, a per-monitor "Scale for menu and title bars" which can be set in the Screen Display settings panel (currently set to 1.5 for both my monitors); and then a separate "Scaling Factor" for fonts that can be adjusted in the Tweaks tool (mine is 1.5 here, too). But these interact with each other in ways that I don't fully understand at this point, and if they're substantially different from each other then things start to look a little odd.

Note that IIRC, our Gtk widget backend doesn't yet support per-monitor DPI, so I don't know exactly how things get resolved if there are multiple screens and they're configured with different scale factors.
Flags: needinfo?(jfkthame)
(Reporter)

Comment 8

2 years ago
Up until Firefox 48, the _per-monitor_ scaling was used. I know for sure, because I'm using Ubuntu 16.04 LTS on a USB stick which I use on different computers/monitors. One setup (with a UHD monitor) has the scaling factor in the screen display settings set to 1.5, the other one (with a FHD monitor) has it set to 1.0.

Up until Firefox 48, it automatically adjusted to the computer/monitor I was currently using. Firefox 49 has lost this ability. Now I have to enter about:config each time I switch the computer and change the devPixels setting manually.

For me, this is a serious regression.

Comment 9

2 years ago
hey Johnathan, any ideas as to why we lost the ability to update automatically per comment 8?
Flags: needinfo?(jfkthame)

Comment 10

2 years ago
Robert, please try to track down what regressed in 49 using our regression tool.

http://mozilla.github.io/mozregression/
(Reporter)

Comment 11

2 years ago
Thanks for making me take a long hard look with the regression tool. It turns out that the scaling is not broken, but was rather FIXED:

In Firefox 45.0 through 48.0, setting the scaling factor in Ubuntu System Settings to 1.5 resulted in Firefox using layout.css.devPixelsPerPx = 2.0, which was apparently more upscaling than it should have been.

FireFox 49.0 fixed that, and now a scaling factor of 1.5 in Ubuntu System Settings results in Firefox using layout.css.devPixelsPerPx = 1.5.

I had so gotten used to the incorrect 2.0 scaling that when I saw everything being smaller than before, I thought the scaling was not working at all. Sorry for the misconception.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → INVALID
Flags: needinfo?(jfkthame)
You need to log in before you can comment on or make changes to this bug.