Closed Bug 1305656 Opened 5 years ago Closed 1 year ago

Firefox is unusable in Mac OS X 10.11 VM with HiDPI

Categories

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

49 Branch
x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla70

People

(Reporter: laktak, Unassigned)

References

Details

(Whiteboard: tpi:+)

Attachments

(9 files, 1 obsolete file)

Attached image firefox dpi.png
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160922113459

Steps to reproduce:

I installed macOS in a VM (in VMware Fusion) and enabled HiDPI so I can have retina resolution inside the VM.

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true




Actual results:

When I try to use Firefox inside the VM I can't see the tabs and the welcome screen appears to be twice the normal size. 

See the screenshot (Firefox window immediately after launch with display preferences in foreground)

No other apps have this problem.


Expected results:

The Firefox window should appear at a normal size.
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86_64
Component: Untriaged → Widget: Cocoa
Product: Firefox → Core
Summary: Firefox is unusable in macOS VM with HiDPI → Firefox is unusable in Mac OS X 10.11 VM with HiDPI
Priority: -- → P2
Whiteboard: tpi:+
Priority: P2 → P3
I can confirm this.

 - It happens in VMware Fusion as well as Parallels Desktop,
   different versions, i.e. most likely a Firefox problem.

 - It happens on a MacBook Pro 15" 2012 Retina running OS X 10.8.5
   on both host and guest.

 - It happens on a MacBook Pro 13" 2016 Retina running macOS 10.13.3
   on both host and guest.

 - When using native resolution Firefox displays correctly.

 - When using scaled 1280 x 800 resolution Firefox displays correctly.

 - But when switching to 1280 x 800 "HiDPI" all other applications rescales
   correctly except Firefox. The address row, bookmark row, tabs etc are cut
   away and the page content is 2x or maybe 4x, not sure.

There is no secret flag to force Firefox to understand the HiDPI resolution?

Opera and Chrome are unusable when using HiDPI in a VM on macOS, constant
flickering and rendering problems. Seamonkey is kind of usable but takes
lots of CPU in a VM with HiDPI. Safari works fine except the latest version
makes the whole web page black with a yellow text selection when searching
on a web page. I.e. only the string you search for is visible, no context.

So my hope is that someone can fix this in Firefox or provide a work-around.
Please :)
Does changing the value for gfx.hidpi.enabled in about:config (0, 1, 2) have any effect?
Flags: needinfo?(kent.boortz)
Yes, on OS X 10.8.5 and Firefox 48.0.2 setting it to 0 cured the problem.
Like SeaMonkey a bit high CPU for no good reason but it works.

But on my other MacBook with macOS 10.13.3 and Firefox 58.0.1 it did not
solve the problem. No change if using 0, 1 or the original 2. I also
tried negative numbers as well, no change.
Flags: needinfo?(kent.boortz)
Considering the numerous issues affecting various browsers as you mentioned in comment 1, the fix will most likely have to come from VMWare. There clearly seems to be a problem with the hidpi mode. Aside from the gfx.hidpi.enabled pref, there aren't really additional settings to toggle.
And as I suspected, no flickering or render problems if using Firefox :)

I tried different Firefox versions in the macOS 10.13.3 VM. Firefox 54.0.1
works, 55.0 doesn't. I.e. the work-around to manually set gfx.hidpi.enabled
to 0 works in 54.0.1 but not in 55.0.

To me it seems to be two problems. One is that Firefox doesn't detect the
change correctly and then doesn't change the setting. The second is that
from 55.0 the setting doesn't change anything.

It is a bit unlikely that both VMware and Parallels both would mess this up
so it specifically target Firefox. All other browsers happily adjusts to
the HiDPI setting.

Could happen of course ;)

Big thanks for the help! I at least have a work-around, I can run 55.0.
I of course had hoped to be able to run Qantum but what can you do...
Attached image before
Attached image after

09/29/2019 09:55:34
Though the last comment was 2 years ago, I am having this same exact problem now with Firefox 69.0.1 in Fusion 11.5.0 running the latest Mojave 10.14.6. I'm commenting because this was the only relevant thread I could find and I did find a very simple workaround, but it is not ideal. In the VM settings, go to 'Display' and unclick 'Use full resolution for Retina Display'. Now Firefox displays correctly BUT the screen resolution is lowered and all text in the VM is slightly fuzzy. The only solution now is to switch back and forth between settings. Not much of a solution IMO. That neither Mozilla nor VMWare has fixed this serious problem in 3 years is pretty pathetic, quite frankly.


Duplicate of this bug: 1584761

I authored bug : 1584761.

As per FFUser2019, it is clear this has been a problem for over 3 years.

Can you please provide us with some more information beyond agreeing this is a problem. What will it take to get it fixed? How long will it take to get it fixed?

Or, is this an unfixable problem? Are we stuck in a {VMware & Parallels} <<==>> Mozilla finger-pointing contest:?

I agree with FFUser2019 that VMware is difficult to use in low resolution mode: Images fuzzy, other software displays are huge, etc.

Please tell us a plan of action!

And, remember, this effects more than just FireFox... Tor, Cliqz, etc. are all impacted, too.

Thanks!

Yes, actually I was primarily concerned about the Tor browser, which is a special adaptation of Firefox 60.9.0. I use that a lot and not Firefox itself. I attached more images showing the difference between enabling and disabling Retina Display for Firefox, Tor Browser, and Google Chrome. Notice that both Firefox and Tor Browser display the same problem but Chrome does not. If Chrome does not, then the problem exists solely with Firefox.

Attachment #9103059 - Attachment description: Firefox w and w/o Retina Display → Firefox 69.0.1 w and w/o Retina Display
Attachment #9103153 - Attachment mime type: text/plain → image/jpeg

Found last FF version that still worked with Retina Display–FF 40.0. Uploaded image Firefox 40.0 w and w/o Retina Display.

Could you run mozregression[1] to see when this started happening? If you have never run mozregression before, simply run these three commands in a Terminal window:

sudo easy_install pip
sudo pip2 install -U mozregression --ignore-installed
mozregression

A number of Firefox versions will open in succession to narrow down when this started occurring. Simply type "good" or "bad" in Terminal based on whether or not a build reproduces the bug. Once finished, please post the output from the last run. It should give a last good and first bad revision as well as a link to look at the changesets in that range.

[1] https://mozilla.github.io/mozregression/

Flags: needinfo?(foobaz.utne)

OK, I ran it many times and no matter what I entered as arguments or no arguments, I got " ERROR: Build was expected to be good! The initial good/bad range seems incorrect." when I entered 'bad'.

Flags: needinfo?(foobaz.utne)

41.0a1 did not open but 41.0 worked even with Retina Display enabled.

Upgraded to FF70 in Fusion. It appears to have fixed whatever the problem is. All the display driver enhancements apparently corrected the problem.

FFUser2019 -- can you verify?

Thanks everyone.

Flags: needinfo?(foobaz.utne)
Flags: needinfo?(foobaz.utne)
Attached image Firefox 70.0 w and w/o Retina Display (obsolete) —
Attachment #9103751 - Attachment mime type: text/plain → image/jpeg

Great! Then this was fixed by using Core Animation.

Status: UNCONFIRMED → RESOLVED
Closed: 1 year ago
Depends on: 1574538
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Attachment #9103753 - Attachment is obsolete: true

OK JK, I verified that it is working. That's a major improvement. Thank you whoever orchestrated that! I attached an image 'Firefox 70.0 w and w/o Retina Display.'

Note that this still doesn't address the tor Browser problem. I ran it and it auto-updated to 9.0 which is based on FF 68.2.0, with same results. I also downloaded the DMG of the latest TB, just to cross reference in case the upgrade did something unexpected. Same results. It will probably be some time before TB gets an upgrade to FF 70. I can't imagine the devs doing that now for a small minority of Fusion users with Retina Displays. Attached image 'Tor Browser 9.0 (FF 68.2.0) w and w/o Retina Display.'

@Markus Stange

Your note says "Enable CoreAnimation by default." Is this something that could be done to FF 68.2.0 that is used for the tor browser?

No, Core Animation was a large architectural change. Uplifting it to 68 is not an option. I'm afraid you'll have to wait for Tor browser to update to a more recent version of Firefox.

@FFUser2019

I just got off a chat with the tor-dev folks. They were not aware it was a problem, but they have added it to their reasons for moving to a FF79 base. I was told that updating to FF 70 will be a major effort and will not occur before next year.

So, we have to live with that workaround for now.

Just a heads-up.

Make that "FF 70 base"! (don't know where that "9" came from!)

That's great that you made them aware of the problem. I was afraid that it would be a lot of work to go to 70. Now if we can only get VMWare to upgrade Fusion so the problem no longer exists. I found no threads on the subject. Maybe I should start one. Thanks for all your help. At least this is a better situation than when this thread was started.

I asked the question at VMWare Mac Fusion forum:

Firefox is unusable in Mac OS X 10.11 VM with HiDPI

Maybe someone can post there with any insights. Thanks again for the help.

My guess is that the Apple Software Renderer interacts badly with wantsBestResolutionOpenGLSurface returning YES in a window that is not layer-backed. There's probably not much you can do.

You need to log in before you can comment on or make changes to this bug.