blob: 4fbff7683339c917d22c690d24e5a8f89bc3616e [file] [log] [blame]
Daniel Vetter931aa172011-10-30 22:04:39 +01001#!/bin/sh
2
Rodrigo Vivi3ab14832012-12-13 14:11:23 -02003if [[ $UID -ne 0 ]]; then
4 echo "$0 must be run as root"
5 exit 1
6fi
7
Rodrigo Vivi7150a042012-12-13 14:11:21 -02008get(){
9 if [ ! -e $tardir/${@:$#} ] ; then
10 mkdir -p $tardir/${@:$#}
11 fi
12 if [ -e $1 ] ; then
13 cp -a ${@:1:$#-1} $tardir/${@:$#} 2>/dev/null
14 fi
15}
Rodrigo Vivi616a4de2012-12-13 14:11:22 -020016
17igtdir=`dirname $0`
18
Daniel Vetter931aa172011-10-30 22:04:39 +010019if [ -d /debug/dri ] ; then
20 debugfs_path=/debug_dri
21fi
22
23if [ -d /sys/kernel/debug/dri ] ; then
24 debugfs_path=/sys/kernel/debug/dri
25fi
26
27i915_debugfs=x
28for dir in `ls $debugfs_path` ; do
29 if [ -f $debugfs_path/$dir/i915_error_state ] ; then
30 i915_debugfs=$debugfs_path/$dir
31 break
32 fi
33done
34
35if [ $i915_debugfs = "x" ] ; then
36 echo i915 debugfs path not found.
37 exit 1
38fi
39
40tmpdir=`mktemp -d`
41tardir=$tmpdir/intel_gpu_abrt
42mkdir $tardir
43
Rodrigo Vivi7150a042012-12-13 14:11:21 -020044get $i915_debugfs/* debugfs
Daniel Vetter931aa172011-10-30 22:04:39 +010045
Rodrigo Vivi7150a042012-12-13 14:11:21 -020046get /sys/module/i915/parameters/* mod_opts
Daniel Vetter931aa172011-10-30 22:04:39 +010047
48mkdir $tardir/X
Rodrigo Vivi616a4de2012-12-13 14:11:22 -020049xrandr --verbose > $tardir/X/xrandr
Rodrigo Vivi7150a042012-12-13 14:11:21 -020050get /var/log/Xorg.0.log X
51get /var/log/Xorg.0.log.old X
52get /etc/X11/xorg.conf X
53get /etc/X11/xorg.conf.d/ X
Daniel Vetter931aa172011-10-30 22:04:39 +010054
55dmesg > $tardir/dmesg
56lspci -nn > $tardir/lspci
57
Rodrigo Vivi616a4de2012-12-13 14:11:22 -020058$igtdir/intel_reg_dumper > $tardir/intel_reg_dumper.txt
59$igtdir/intel_bios_dumper $tardir/intel_bios_dump
60$igtdir/intel_stepping > $tardir/intel_stepping
61
62echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
63cat /sys/devices/pci0000:00/0000:00:02.0/rom > $tardir/vbios.dump
64echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom
65
Daniel Vetter931aa172011-10-30 22:04:39 +010066(cd $tmpdir; tar -c intel_gpu_abrt ) > intel_gpu_abrt.tar
67
68rm $tmpdir -Rf
69
Rodrigo Vivic0a74d82012-12-13 14:11:24 -020070if [ -f intel_gpu_abrt.tar ] ; then
71 cat <<EOF
72intel_gpu_abrt.tar has been created.
73
74Please attach it to https://bugs.freedesktop.org
75with a good bug description as suggested in this template:
76
77System environment:
78-- chipset:
79-- system architecture: `uname -m`
80-- xf86-video-intel:
81-- xserver: `grep "X.Org X Server" /var/log/Xorg.0.log | awk '{print $NF}'`
82-- mesa:
83-- libdrm: `pkg-config --modversion libdrm`
84-- kernel: `uname -r`
85-- Linux distribution:
86-- Machine or mobo model:
87-- Display connector:
88
89Reproducing steps:
90
91Additional info:
92
93EOF
Daniel Vetter931aa172011-10-30 22:04:39 +010094exit 0
Rodrigo Vivic0a74d82012-12-13 14:11:24 -020095else
96cat <<EOF
97Error on tarball generation.
98For bug report, please follow manual instructions available at:
99https://01.org/linuxgraphics/documentation/how-report-bugs-0
100EOF
101exit 1
102fi