Platform/GFX/Device Reset Debugging

From MozillaWiki
< Platform‎ | GFX
Jump to: navigation, search

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.

You may need to add debug layers by running this in the command window: Dism /online /add-capability /capabilityname:Tools.Graphics.DirectXMilan (talk) 10:41, 19 July 2017 (PDT)

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 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.