Platform/GFX/Device Reset Debugging: Difference between revisions

From MozillaWiki
< Platform‎ | GFX
Jump to navigation Jump to search
(Small reorg, some links and clarifications)
(DebugView comes as a zip)
Line 7: Line 7:
Install the Windows SDK from [https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk here].
Install the Windows SDK from [https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk here].


Install DebugView, a tool published as part of Microsoft SysInternals, from [https://technet.microsoft.com/en-us/sysinternals/debugview.aspx here].
Download the DebugView, a tool published as part of Microsoft SysInternals, from [https://technet.microsoft.com/en-us/sysinternals/debugview.aspx 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 ==
== Toggle the Direct3D Debug Layer Pref in Firefox ==

Revision as of 18:29, 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 (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).

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.

Attach the log 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.