Closed Bug 1484782 Opened 6 years ago Closed 6 years ago

Bug 1469496 fix for NVIDIA graphics corruption after suspend doesn't seem to work on Linux with driver 390.77

Categories

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

x86_64
Linux
defect

Tracking

()

VERIFIED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: jld, Assigned: gbs)

References

Details

Attachments

(4 files, 1 obsolete file)

I'd been successfully using the patch from bug 1469496 on Linux with an NVIDIA Quadro P400 (with gfx.webrender.all=true), using the proprietary drivers, but it recently stopped working; I think a driver upgrade (to version 390.77) was the relevant thing that changed. (This is all on mozilla-central builds.) I tried attaching with gdb and setting a conditional breakpoint on the call to fGetGraphicsResetStatus[1] returning nonzero, but it never did (nor was a simple breakpoint inside the `if` statement reached). The call itself was reached, which implies IsSupported(gl::GLFeature::robustness) was true. [1] https://searchfox.org/mozilla-central/rev/847b64cc28b74b44c379f9bff4f415b97da1c6d7/gfx/webrender_bindings/RendererOGL.cpp#161
:nical, can you comment to the bug?
Flags: needinfo?(nical.bugzilla)
I'm not sure what to do about this. I wasn't actually able to trigger the memory purge events on my computers so I pretty much wrote the code as suggested by the NV_robustness_video_memory_purge without being able to test. The only other place we call fGetGraphicsResetStatus is in WebGL code (so a differen gl context) which rules out another call site flushing out the error code. It could be that the problem you are seeing is not caused by a memory purge or that the driver isn't properly reporting the event. Jed, could you describe in details what kind of corruption you are seeing, if/how you manage to trigger it and if there is anything that looks interesting in the stdout/stderr ?
Flags: needinfo?(nical.bugzilla)
My STR is running `echo mem > /sys/power/state` as root, and then pressing a key to resume. I'll attach a screenshot. Newly loaded tabs aren't affected (including by closing a tab and restoring it with Ctrl-Shift-T, but reloading a tab doesn't fix it).
Attached image corruption.png (deleted) —
Attached image corruption2.png (deleted) —
Attached video 2018-08-21_21-10-46.mp4 (deleted) —
Debian Testing, Gnome on Xorg, GTX 1060, proprietary Nvidia driver 390.77 1. mozregression --launch 2018-08-20 --pref gfx.webrender.all:true 2. As root in a seperate terminal: echo mem > /sys/power/state 3. Hit a key to wake up. 4. Started screencast.
This completes the patch from bug 1469496, actually requesting a context reset after a memory purge event. Tested on my NVIDIA laptop.
Attachment #9004534 - Flags: review?(jgilbert)
Priority: -- → P3
OK that extension is braindead: NV's driver should definitely be always generating context-loss on these events. I /guess/ we have to take this patch, but we do so under duress.
Attachment #9004534 - Flags: review?(jgilbert) → review+
https://mozilla.logbot.info/gfx/20180829#c15236290 > hi, I don't have commit access, so could someone land the patch in bug 1484782 for me? Comment 8 seems to agree ("OK", "should definitely", "but we do so under duress"). https://wiki.mozilla.org/Sheriffing/How_To/Landing_checkin-needed_patches
Assignee: nobody → gabrielfrancosouza
Keywords: checkin-needed
Pushed by ebalazs@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/88973a92ac86 Enable Video Memory Purge extension if available. r=jgilbert
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Works for me. Thanks!
Status: RESOLVED → VERIFIED
Update: it works on the Quadro P400 I mentioned in comment #0, but not a GeForce GTX 960 (same driver version). I can file a new bug on that when I have some time to look into it.
Flags: needinfo?(jan)
(In reply to Jed Davis [:jld] (⏰UTC-6) from comment #13) > Update: it works on the Quadro P400 I mentioned in comment #0, but not a > GeForce GTX 960 (same driver version). I can file a new bug on that when I > have some time to look into it. The reason is that I was accidentally running an older build of Firefox than I thought. Apologies for the false alarm.
Flags: needinfo?(jan)
Attachment #9008654 - Attachment is obsolete: true
(Sorry, phabricator hickup)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: