How to report bugs

How to file a good bug report

1. Where to report graphics bugs:

-- Category:
1) For 2D driver bug: Product=xorg. Component=Driver/intel.
2) For 3D driver bug: Product=Mesa.
2.1) For chipset i8xx/i915/i945/Q33/G33/Q35: Component=Drivers/DRI/i915.
2.2) For chipset i965/G35 and later: Component=Drivers/DRI/i965.
3) For DRM kernel bug: Product=DRI. Component=DRM/Intel.
4) For Libva bug: Product=libva. Component=intel.

2. Information to provide:

1) A clear subject. Starting with [[Chipset] [Subsystem/Feature]] to highlight if needed, such as [915GM TV] or [EXA].
2) System environment:
-- chipset: (such as G965)
-- system architecture: ("uname -m")
-- xf86-video-intel/xserver/mesa/libdrm version: (If you build it yourself, provide the git commit id or stable release version. If it's shipped with distribution, provide libdrm version with "pkg-config --modversion libdrm" and mesa version with glxinfo output, while xf86-video-intel and xserver version are available in Xorg.0.log.)
-- kernel version: ("uname -r")
-- Linux distribution:
-- Machine or mobo model:
-- Display connector: (such as VGA, DVI, HDMI, S-video, ...)
3) Reproduce steps. Probability if not 100% reproducible.
4) Attachment:
-- Xorg.0.log
-- dmesg output (better with boot option "drm.debug=0x06")
-- xorg.conf (if you changed any default options)
-- screenshot or photo (optional, a picture is worth a thousand words)
-- output of "xrandr --verbose" for display mode issue
-- intel_reg_dumper output (see the guide) and VBIOS dump (see the guide) for display issues.
-- for GPU hang, get the last batch buffer (see the guide).

3. Assistance to help debugging:

-- For 3D issues, run with LIBGL_DEBUG=verbose in the environment.
-- Provide gdb backtrace. See the guide for how to use gdb for an X server crash.
-- For regression, try using git-bisect to locate the commit which caused the regression.
-- Compare with other products or configurations, if possible.
-- For VT switch problems, use intel_reg_dumper tool (see the guide) to dump the register info: 1) prior to VT switch 2) after VT switch.
-- For suspend/resume problems, refer to the guide.

4. Tips

-- Specific: Each bug report is for only one issue/problem. If you found several issues in one test, please separate them into several bugs.
-- Close the bug if the originally reported issue is resolved. For new issues, open new bugs, instead of continuing the discussion in the old bug.
-- Attach a log, explicitly choosing "plain text (text/plain)" content type. Don't use zipped files.
-- After answering developer's NEEDINFO, make sure 'NEEDINFO' is cleared in the keywords field and reassign it back to the developer owner.
-- Attach the monitor directly to the machine, rather than through a KVM or other devices.
-- Using warm reboot to try the new code is not completely clean for the gfx environment. Better do a power cycle, instead.

Appendix: recommended bug report template:

Bug description:

System environment:
-- chipset:
-- system architecture: XX-bit
-- xf86-video-intel:
-- xserver:
-- mesa:
-- libdrm:
-- kernel:
-- Linux distribution:
-- Machine or mobo model:
-- Display connector:

Reproducing steps:

Additional info: