Platform/GFX/Device Reset Debugging: Difference between revisions

From MozillaWiki
< Platform‎ | GFX
Jump to navigation Jump to search
(DebugView comes as a zip)
(Simplify logging)
Line 17: Line 17:
Start DebugView, go to 'File->Log As File', and log an unlimited size log to a directory of your choice (this log file can grow somewhat large in size so you may want to keep that in mind).
Start DebugView, go to 'File->Log As File', and log an unlimited size log to a directory of your choice (this log file can grow somewhat large in size so you may want to keep that in mind).


Use Firefox as you normally would (if you can reproduce the problem at will, it may be worth running DebugView and Firefox as the sole applications on your system - see below for details.) After you experience a Device Reset, stop the logging in DebugView (by simply clicking File->Log As File again).
Use Firefox as you normally would. After you experience a Device Reset, stop the logging in DebugView (by simply clicking File->Log As File again).


== Submitting the collected information ==
== Submitting the collected information ==


The collected logs contain debug output from all running applications, and as such may contain sensitive information.  This is the reason to only run Firefox + DebugView when planning on sharing the logs.
The collected logs contain debug output from all running applications, and as such may contain sensitive information.


Attach the log to a [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Graphics new] or existing https://bugzilla.mozilla.org bug for evaluation by a Firefox graphics engineer.  You will want to set the privacy checkbox when adding the attachment to bugzilla - the one that says "Make attachment and comment private (visible only to members of the core-security-release group)".  This will ensure that any private information, if any, is not available to general public.
Attach the log file to a [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Graphics new] or existing https://bugzilla.mozilla.org bug for evaluation by a Firefox graphics engineer.  You will want to set the privacy checkbox when adding the attachment to bugzilla - the one that says "Make attachment and comment private (visible only to members of the core-security-release group)".  This will ensure that any private information, if any, is not available to general public.

Revision as of 18:30, 13 July 2017

Debugging Device Resets

This page will explain how to use the Direct3D 11 Debug Layer to retrieve diagnostic information, warning and error messages coming from Firefox. The idea is that in some cases this may provide some insight as to why device resets are occurring.

Install required 3rd-party components

Install the Windows SDK from here.

Download the DebugView, a tool published as part of Microsoft SysInternals, from here. Extract DebugView.exe (and dbgview.chm if you want the help file) to a location where you can run it from (desktop, for example.)

Toggle the Direct3D Debug Layer Pref in Firefox

In about:config, set the boolean preference 'gfx.direct3d11.enable-debug-layer' to true and restart Firefox. Firefox will now begin outputting D3D11 diagnostic information to the Windows debug output layer.

Gather Logging Info

Start DebugView, go to 'File->Log As File', and log an unlimited size log to a directory of your choice (this log file can grow somewhat large in size so you may want to keep that in mind).

Use Firefox as you normally would. After you experience a Device Reset, stop the logging in DebugView (by simply clicking File->Log As File again).

Submitting the collected information

The collected logs contain debug output from all running applications, and as such may contain sensitive information.

Attach the log file to a new or existing https://bugzilla.mozilla.org bug for evaluation by a Firefox graphics engineer. You will want to set the privacy checkbox when adding the attachment to bugzilla - the one that says "Make attachment and comment private (visible only to members of the core-security-release group)". This will ensure that any private information, if any, is not available to general public.