Closed Bug 1984695 Opened 10 months ago Closed 9 months ago

Webrender blocked by presence of Intel DDX driver even if Intel GPU is not used

Categories

(Core :: Graphics, defect)

Firefox 143
defect

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- wontfix
firefox-esr140 --- wontfix
firefox142 --- wontfix
firefox143 --- wontfix
firefox144 --- fixed

People

(Reporter: gebirgsbrand, Assigned: gebirgsbrand)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(4 files)

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

Steps to reproduce:

Play a YouTube video full screen.

Actual results:

CPU usage is high. Video playback is not smooth. And web UI is not very responsive. Once CPU thread probably maxing out.

gfx.color_management.enablev4 enabled is set to true, at least in Firefox Developer Edition.

Expected results:

Smooth playback. Low resource usage.

No issue using another browser (Brave) in X11.
No issue using same (Firefox) browser+profile in a Wayland environment.
Disabling gfx.color_management.enablev4 enabled fixes the resource usage issue (although still not as low as Wayland).

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core

Can you provide your about:support?

Flags: needinfo?(gebirgsbrand)
Attached file about:support (bad)
<details> </details>
Attached file about:support (good)
Actually, I may have made a mistake, since disabling `gfx.color_management.enablev4` doesn't help anymore. I also found out (I think) what's going on. Webrender hardware acceleration is disabled for some reason and "software" is used. Setting `gfx.webrender.all: true` fixes the issue fully.
Flags: needinfo?(gebirgsbrand)

Thanks for the bug report. I can see from your about:support that webrender is blocklisted with the code FEATURE_FAILURE_DDX_INTEL. Which means we think you have an Intel DDX driver, which we blocked in bug 1710400. But your about support indicates you have a radeon driver. Does your device have multiple GPUs?

Flags: needinfo?(gebirgsbrand)

(In reply to Jamie Nicol [:jnicol] from comment #5)

Does your device have multiple GPUs?

Yes. I enabled my iGPU recently for hardware encoding purposes. But it's not used for output/rendering/... at all. So presumably, the detection code should take into account what GPU will actually be doing the rendering!

Flags: needinfo?(gebirgsbrand)
Blocks: wr-linux
Keywords: regression
Regressed by: 1710400
Summary: Poor performance in X11 with gfx.color_management.enablev4 enabled → Webrender blocked by presence of Intel DDX driver even if Intel GPU is not used
Severity: -- → S3

:rmader, since you are the author of the regressor, bug 1710400, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(robert.mader)
Attached file fix.patch
I gave the code a look. And unless inactive providers are taken into consideration on purpose, this patch to `glxtest` should fix the issue.

Unfortunately don't have time to dive deeper into this, however on a quick look the fix looks good to me, thanks!

The intention back then was definitely to detect the active driver.

Flags: needinfo?(robert.mader)

You can submit your patch using phabricator https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html if you want to get it landed.

Check XRRProviderInfo outputs for connected crtcs before appending
DDX_DRIVER info.

Signed-off-by: Mountain Dude <gebirgsbrand@bmo>

Assignee: nobody → gebirgsbrand
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Set release status flags based on info from the regressing bug 1710400

Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch

The patch landed in nightly and beta is affected.
:gebirgsbrand, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(gebirgsbrand)

Is this something we should uplift to ESR140? Please nominate if yes.

Flags: needinfo?(gebirgsbrand) → needinfo?(emilio)

301 Martin

Flags: needinfo?(emilio) → needinfo?(stransky)

No need to uplift, I guess is pretty rare setup.

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

Attachment

General

Creator:
Created:
Updated:
Size: