Closed Bug 1707283 Opened 3 years ago Closed 3 years ago

Boxes, missing images on Mali-T720 (Samsung SM-G903F, Acer B1-850)

Categories

(Core :: Graphics: WebRender, defect)

Firefox 88
Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox88 + fixed
firefox89 + fixed
firefox90 + fixed

People

(Reporter: yoasif, Assigned: jnicol)

References

(Blocks 1 open bug)

Details

Attachments

(10 files)

Attached image image.png (deleted) —

From https://www.reddit.com/r/firefox/comments/mwr6lj/pages_dont_load_correctly_on_android/gvkje29/

It was working fine yesterday, but not when I woke up this morning. I tried clearing all data, reinstalling, still the same.

Attached file about:support - Samsung SM-G903F (deleted) —
Attached image wikipedia (deleted) —
Attached image about-support (screenshot) (deleted) —

:jnicol, is it a known problem?

Flags: needinfo?(jnicol)
Attachment #9218049 - Attachment description: about:support → about:support for Samsung SM-G903F
Summary: Boxes, missing images on Mali-T720 (Samsung SM-G903F/Galaxy S5 Neo) → Boxes, missing images on Mali-T720 (Samsung SM-G903F, Acer B1-850)

Another user reports this issue on the same GPU on an Acer tablet (Acer B1-850). about:support to follow.

Attached file about:support - Acer B1-850 (deleted) —
Attachment #9218049 - Attachment description: about:support for Samsung SM-G903F → about:support - Samsung SM-G903F
Attached image the guardian on Acer B1-850 (deleted) —

From these reports, and those in bug 1707467 and on github, this looks like it affects Mali-T devices running Android 5.

I was confused about why this only just occurred given webrender has been enabled for Mali-T since 87 (bug 1693082). However, these devices won't support the GL_OES_EGL_image_external_essl3 extension, therefore won't have had webrender enabled on release until 88 (bug 1507074)

Given the underlying issue is likely pre-existing rather than a recent regression, we should disable webrender for Mali-T Android 5 devices and uplift to release. Then I'll try to figure out a workaround for the underlying issue.

Flags: needinfo?(jnicol)

[Tracking Requested - why for this release]: Makes browser unusable for affected devices

There appears to be a driver issue causing the browser to be unusable
on such devices. Disable webrender until we diagnose the issue and
find a workaround.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/14eb7e92994e Disable webrender on Mali-T devices running Android 5. r=nical

Comment on attachment 9218261 [details]
Bug 1707283 - Disable webrender on Mali-T devices running Android 5. r?nical

Beta/Release Uplift Approval Request

  • User impact if declined: Unusable browser for users with affected devices
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Reverts to using layers graphics backend instead of webrender, which was the default for these users on 87
  • String changes made/needed:
Attachment #9218261 - Flags: approval-mozilla-release?
Attachment #9218261 - Flags: approval-mozilla-beta?

I think I may have figured out what the underlying issue is. I don't have any Mali-T7xx devices running Android 5, so had not seen this myself. However, I do have a Mali-T6xx device running Android 5. On T6xx we disable optimized shaders due to bug 1689064. If I disable that workaround (re-enable optimized shaders) then I can reproduce very similar looking results.

So I think this is likely the same bug as bug 1689064. But instead of applying the workaround to Mali-T6xx, we should apply it to all Mali-T running Android < 6.

Julien, I'm going to make some test builds and ask the users who reported this issue on reddit/github whether the fix described in comment 13 fixes the bug for them. Not sure whether we want to hold off uplifting the existing patch until then?

Flags: needinfo?(jcristau)

Previously in bug 1689064 we disabled our usage of optimized shaders
to work around a driver bug affecting Mali-T6xx devices. It now
appears this bug affects Mali-T7xx and T8xx devices too, only on
Android versions 5.1 or below.

This patch disables shader optimization for all Mali-T devices when
the Android version is 5.1 or below. It also re-enables webrender on
such devices, as we had just disabled it in this bug's previous patch
before we had figured out what the issue was.

Flags: needinfo?(ryanvm)
Flags: needinfo?(pascalc)
Flags: needinfo?(jcristau)

An earlier patch in this bug disabled webrender on these devices due
to reports of broken rendering. Now that the cause of the broken
rendering has been worked around, we can re-enable webrender.

Depends on D113313

A user on reddit has confirmed that disabling shader optimization fixes the bug for them. So I think we should cancel uplifting D113296, and uplift D113313 instead (once it lands).

D113319 will not need uplifting as it just reverts D113296

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d2c7f9c3fa99 Disable optimized shaders on Mali T devices running android 5.1 or below. r=nical https://hg.mozilla.org/integration/autoland/rev/c6174ff3e435 Re-enable webrender on Mali T devices running android 5.1 or below. r=nical

Comment on attachment 9218261 [details]
Bug 1707283 - Disable webrender on Mali-T devices running Android 5. r?nical

Per #c17, D113313 is the one we want to uplift.

Attachment #9218261 - Flags: approval-mozilla-release?
Attachment #9218261 - Flags: approval-mozilla-beta?
Attachment #9218289 - Flags: approval-mozilla-release?
Attachment #9218289 - Flags: approval-mozilla-beta?

Comment on attachment 9218289 [details]
Bug 1707283 - Disable optimized shaders on Mali T devices running android 5.1 or below. r?nical

Approved for Fenix 89 beta 2, thanks

Flags: needinfo?(pascalc)
Attachment #9218289 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9218289 [details]
Bug 1707283 - Disable optimized shaders on Mali T devices running android 5.1 or below. r?nical

Also approved for Fenix 88.1.2

Flags: needinfo?(ryanvm)
Attachment #9218289 - Flags: approval-mozilla-release? → approval-mozilla-release+

Verified as fixed on RC 88.1.2, and Beta 89.0.0-beta.2, on the following devices:

  • Samsung Galaxy Tab A6 (Android 5.1.1),
  • HTC 10 (Android 8),
  • Xiaomi Mi4i (Android 5.0.2),
  • Nokia 2.4 (Android 10),
  • Samsung Galaxy S9 (Android 8), and
  • Huawei MediaPad M2 (Android 5.1.1).

I'm having the very same problem. Just opened this bug in github (with screenshots):
https://github.com/mozilla-mobile/fenix/issues/19323

To resume: I'm using a Samsung Nexus 10 / Android Version 7.1.2 (32 bits) / GPU Mali T604.
After upgrading to Firefox for Android version 88.1.2 (Build #2015806937) web pages are not displayed correctly.

Then I've found this bug report that is totally similar to my problem. Since the GPU is a Mali-T604 I tested changing gfx.webrender.use-optimized-shaders to false and it made Webrender working as expected again.

As I said I'm using Android version 7.1.2... I think that fixing it only for Android 5.1 or below is not enough.

Hi fprietog, sorry for the inconvenience this has caused you.

You are correct, it looks like we have to set this for all android versions.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Previously we had disabled optimized shaders on Mali-T devices running
Android versions up to 5.1, due to broken rendering. We have now had a
report of the same issue on Android 7.1. As a precaution, disable
optimized shaders for all Mali-T devices regardless of android version.

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2a14ded9e988 Disable optimized shaders for all Mali-T devices. r=nical

Comment on attachment 9219444 [details]
Bug 1707283 - Disable optimized shaders for all Mali-T devices. r?nical

Beta/Release Uplift Approval Request

  • User impact if declined: Broken rendering (unusable browser) for some Mali-T users
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Switches some devices to use unoptimized webrender shaders which are already in use elsewhere. Doesn't change anything for most devices.
  • String changes made/needed:
Attachment #9219444 - Flags: approval-mozilla-release?
Attachment #9219444 - Flags: approval-mozilla-beta?
Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED

Comment on attachment 9219444 [details]
Bug 1707283 - Disable optimized shaders for all Mali-T devices. r?nical

Approved for Fenix 89.0.0-beta.5.

Attachment #9219444 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9219444 [details]
Bug 1707283 - Disable optimized shaders for all Mali-T devices. r?nical

Approved for Fenix 88.1.3 & Focus 8.15.3.

Attachment #9219444 - Flags: approval-mozilla-release? → approval-mozilla-release+

Hi, version 88.1.3 is now available from the Play Store and should resolve the issue you reported. Can you confirm that?

Flags: needinfo?(fprietog)

Yes, it's working in 88.1.3. In about:support page appears as blocklisted (as intended):

WEBRENDER_OPTIMIZED_SHADERS
available by default
blocklisted by env: Blocklisted by gfxInfo

Thank you very much for the quick fix.

Flags: needinfo?(fprietog)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: