Closed Bug 1677293 Opened 3 years ago Closed 3 years ago

Ship Software WebRender to all non-accelerated Linux nightly users with small screens as an experiment

Categories

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

Desktop
Linux
task

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox84 --- disabled
firefox85 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

Details

Attachments

(1 file)

While we eventually plan to ship WebRender on NVIDIA devices with the proprietary drivers, for the moment, we need an initial group to help us validate Software WebRender.

See Also: → 1675768
Severity: -- → S3
Priority: -- → P3
Summary: Ship Software WebRender to NVIDIA proprietary on Linux as an experiment → Ship Software WebRender to NVIDIA proprietary on Linux nighly as an experiment
Blocks: 1675381

I thought we wanted to do the experiment on all non accelerated Linux users with small screens?

(In reply to Jeff Muizelaar [:jrmuizel] from comment #1)

I thought we wanted to do the experiment on all non accelerated Linux users with small screens?

Yes you are right. I filed this while still waking up :).

Summary: Ship Software WebRender to NVIDIA proprietary on Linux nighly as an experiment → Ship Software WebRender to all non-accelerated Linux nightly users with small screens as an experiment

This patch enables Software WebRender for all Linux users. If their
configuration is also allowlisted for (accelerated) WebRender, then they
will default to that over Software WebRender.

Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5d7d2da65d6f
Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
Backout by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0cdbb584ff92
Backed out changeset 5d7d2da65d6f for gfx/layers/apz/test/mochitest failures CLOSED TREE

Backed out changeset 5d7d2da65d6f (bug 1677293) for gfx/layers/apz/test/mochitest failures.

Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&fromchange=a8d3345227775428e9ac826f09722851f6f4c3dc&searchStr=webrender%2Cmochitests&tochange=0cdbb584ff926da95d0fad97f53cc738301cc9df&selectedTaskRun=e4jbx3WMTdKq6wnv02FSOw.0

Backout link: https://hg.mozilla.org/integration/autoland/rev/0cdbb584ff926da95d0fad97f53cc738301cc9df

Failure log: https://treeherder.mozilla.org/logviewer?job_id=322093096&repo=autoland&lineNumber=3299

[task 2020-11-17T21:30:49.540Z] 21:30:49     INFO - TEST-START | gfx/layers/apz/test/mochitest/test_group_bug1464568.html
[task 2020-11-17T21:30:50.401Z] 21:30:50     INFO - GECKO(2559) | WaitUntilApzStable: flushed APZ repaints in parent proc, waiting for callback...
[task 2020-11-17T21:30:50.401Z] 21:30:50     INFO - GECKO(2559) | WaitUntilApzStable: APZ flush done in parent proc
[task 2020-11-17T21:30:50.421Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | WaitUntilApzStable: got apz-flush-done in child proc
[task 2020-11-17T21:30:50.436Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | WaitUntilApzStable: done promiseFocus
[task 2020-11-17T21:30:50.444Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | waiting for paint...
[task 2020-11-17T21:30:50.445Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:50.446Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | Dispatching 1 onpaint listeners
[task 2020-11-17T21:30:50.453Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:50.453Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | Dispatching 0 onpaint listeners
[task 2020-11-17T21:30:50.454Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | done...
[task 2020-11-17T21:30:50.455Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | WaitUntilApzStable: done promiseAllPaintsDone
[task 2020-11-17T21:30:50.459Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | PromiseApzRepaintsFlushed: Flushed APZ repaints, waiting for callback...
[task 2020-11-17T21:30:50.482Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | PromiseApzRepaintsFlushed: APZ flush done
[task 2020-11-17T21:30:50.489Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | WaitUntilApzStable: all done
[task 2020-11-17T21:30:50.496Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | waiting for paint...
[task 2020-11-17T21:30:50.537Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:50.538Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | Dispatching 1 onpaint listeners
[task 2020-11-17T21:30:50.541Z] 21:30:50     INFO - GECKO(2559) | helper_bug1464568_transform.html | done...
[task 2020-11-17T21:30:50.550Z] 21:30:50     INFO - TEST-INFO | started process screentopng
[task 2020-11-17T21:30:50.980Z] 21:30:50     INFO - TEST-INFO | screentopng: exit 0
[task 2020-11-17T21:30:50.980Z] 21:30:50     INFO - Buffered messages logged at 21:30:49
[task 2020-11-17T21:30:50.980Z] 21:30:50     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_bug1464568.html | Starting subtest helper_bug1464568_transform.html 
[task 2020-11-17T21:30:50.980Z] 21:30:50     INFO - Buffered messages finished
[task 2020-11-17T21:30:50.980Z] 21:30:50     INFO - TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_group_bug1464568.html | [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMWindowUtils.getOMTCTransform]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "JS frame :: resource://specialpowers/WrapPrivileged.jsm :: doApply :: line 118"  data: no] 
[task 2020-11-17T21:30:50.984Z] 21:30:50     INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:417:16
[task 2020-11-17T21:30:50.984Z] 21:30:50     INFO -     advanceSubtestExecutionWithFailure@gfx/layers/apz/test/mochitest/apz_test_utils.js:341:18
[task 2020-11-17T21:30:50.985Z] 21:30:50     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_bug1464568.html | Starting subtest helper_bug1464568_opacity.html 
[task 2020-11-17T21:30:51.147Z] 21:30:51     INFO - GECKO(2559) | WaitUntilApzStable: flushed APZ repaints in parent proc, waiting for callback...
[task 2020-11-17T21:30:51.148Z] 21:30:51     INFO - GECKO(2559) | WaitUntilApzStable: APZ flush done in parent proc
[task 2020-11-17T21:30:51.164Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | WaitUntilApzStable: got apz-flush-done in child proc
[task 2020-11-17T21:30:51.165Z] 21:30:51     INFO - must wait for load
[task 2020-11-17T21:30:51.203Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:51.204Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | Dispatching 0 onpaint listeners
[task 2020-11-17T21:30:51.205Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | WaitUntilApzStable: done promiseFocus
[task 2020-11-17T21:30:51.221Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | waiting for paint...
[task 2020-11-17T21:30:51.222Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:51.223Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | Dispatching 1 onpaint listeners
[task 2020-11-17T21:30:51.226Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | done...
[task 2020-11-17T21:30:51.226Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | WaitUntilApzStable: done promiseAllPaintsDone
[task 2020-11-17T21:30:51.229Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | PromiseApzRepaintsFlushed: Flushed APZ repaints, waiting for callback...
[task 2020-11-17T21:30:51.246Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | PromiseApzRepaintsFlushed: APZ flush done
[task 2020-11-17T21:30:51.247Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | WaitUntilApzStable: all done
[task 2020-11-17T21:30:51.248Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | waiting for paint...
[task 2020-11-17T21:30:51.278Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | got MozAfterPaint: 0,0,0,0
[task 2020-11-17T21:30:51.278Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | Dispatching 1 onpaint listeners
[task 2020-11-17T21:30:51.279Z] 21:30:51     INFO - GECKO(2559) | helper_bug1464568_opacity.html | done...
[task 2020-11-17T21:30:51.280Z] 21:30:51     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-11-17T21:30:51.280Z] 21:30:51     INFO - TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_group_bug1464568.html | [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMWindowUtils.getOMTCTransform]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "JS frame :: resource://specialpowers/WrapPrivileged.jsm :: doApply :: line 118"  data: no] 
[task 2020-11-17T21:30:51.280Z] 21:30:51     INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:417:16
[task 2020-11-17T21:30:51.281Z] 21:30:51     INFO -     advanceSubtestExecutionWithFailure@gfx/layers/apz/test/mochitest/apz_test_utils.js:341:18
[task 2020-11-17T21:30:51.317Z] 21:30:51     INFO - GECKO(2559) | MEMORY STAT | vsize 2559MB | residentFast 165MB | heapAllocated 15MB
[task 2020-11-17T21:30:51.438Z] 21:30:51     INFO - TEST-OK | gfx/layers/apz/test/mochitest/test_group_bug1464568.html | took 1896ms
...
...
...
Flags: needinfo?(aosmond)

MOZ_WEBRENDER=1 => always hardware WebRender
MOZ_WEBRENDER=0 => always no WebRender
MOZ_WEBRENDER=1 + gfx.webrender.software = true => always software WebRender

I updated the patch, added more gtests for this, pending clean try:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=77896ff9454f06622bada0566a117223948ad698

Prior to landing I need to manually verify that each of these jobs runs with the right configurations (since the test might pass anyways).

Flags: needinfo?(aosmond)

The tests keep timing out, but an additional try with prints:

https://treeherder.mozilla.org/jobs?repo=try&revision=ba6df11f559b4301e0c6def398d53e4c4174dd0b

shows that we get no WR / basic, WR and SW WR when we expect. The change should now have no functional impact on CI so I don't think the time outs are related.

Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2991f291f95f
Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
Flags: needinfo?(aosmond)

I can confirm the failed job is running with Software WebRender. Investigation continues.

Flags: needinfo?(aosmond)
Depends on: 1678044
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e675571f2d9a
Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
Flags: needinfo?(aosmond)

Bitten by own test affected by headless. It has gone full circle. This is a bad test, the patch is otherwise fine. Will update.

Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f6a72042dd56
Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel

Apparently the opt tests pass, but the debug ones don't. Last time I try to save CI resources for this bug ;).

Flags: needinfo?(aosmond)

The web driver tests seem to always pass for me with a local build. I'm trying an alternative now, roll out Software WebRender to a more limited set which hopefully excludes CI. I need to check both regular tests (running all linux64 debug tests) and some perf tests (because they use real hardware). Pending try to confirm this configuration doesn't change anything for CI.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 85 Branch → ---
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fded65adecd4
Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
Regressions: 1679382
Regressions: 1740757
No longer regressions: 1740757
You need to log in before you can comment on or make changes to this bug.