Closed Bug 1794722 Opened 2 years ago Closed 2 years ago

WebRender driver block list on Linux needs to be refactored to allow by default

Categories

(Core :: Graphics: WebRender, enhancement, P3)

Desktop
Linux
enhancement

Tracking

()

RESOLVED FIXED
108 Branch
Tracking Status
firefox108 --- fixed

People

(Reporter: ahale, Assigned: aosmond)

References

Details

Attachments

(3 files)

As much as possible we should be giving Linux users the happy path of fast WebRender, so we should change the block list to an allow by default policy, rather than enabling each piece of hardware only on request (e.g. bug #1791970).

Changing to an allow by default policy will likely reveal some broken configurations out there, so this may involve multiple attempts to get it right.

A second factor is that users who previously encountered graphics bugs may have been automatically punted to software WebRender and we need to put their prefs back to accelerated by default, as this is not a setting that is obvious to users and may simply lead to the perception that Firefox is slow, long after the underlying driver bugs were fixed.

NI - I'd like to know more about any major quirks in this block list code to minimize breakage when changing it to allow by default, thanks :)

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(aosmond)

https://searchfox.org/mozilla-central/rev/f118dae98073bc17efb8604a32abfcb7b4e05880/widget/gtk/GfxInfo.cpp#629 is the relevant function I am looking at. It's a bit unclear to me how this is evaluated, as it looks like a series of conditions with unknown precedence.

Type: defect → enhancement

I'm putting this together. There are lots of things to adjust, add and rip out.

Assignee: nobody → aosmond
Severity: -- → N/A
Status: NEW → ASSIGNED
Flags: needinfo?(jmuizelaar)
Flags: needinfo?(aosmond)
Priority: -- → P3

WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Attachment #9299990 - Attachment description: Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. → Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel
Attachment #9299990 - Attachment description: Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel → Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled.
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0093f071f1a5
Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/d7805be9dfb3
Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
https://hg.mozilla.org/integration/autoland/rev/0217af5b1aa6
Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski

Backed out for causing multiple failures on RemoteProcessMonitor

  • Backout link
  • Push with failures
  • Failure Log
  • Failure line: PROCESS-CRASH | RemoteProcessMonitor | application crashed [@ mozilla::gfx::gfxConfigManager::ConfigureFromBlocklist(long, mozilla::gfx::FeatureState*)]
Flags: needinfo?(aosmond)
Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f0dd55319351
Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/f518d5630dee
Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
https://hg.mozilla.org/integration/autoland/rev/adbac17a6db3
Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 108 Branch
Blocks: 1736267
Regressions: 1808104
Regressions: 1812102
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: