Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Rodrigo Vivi | 3ab1483 | 2012-12-13 14:11:23 -0200 | [diff] [blame] | 3 | if [[ $UID -ne 0 ]]; then |
| 4 | echo "$0 must be run as root" |
| 5 | exit 1 |
| 6 | fi |
| 7 | |
Rodrigo Vivi | 7150a04 | 2012-12-13 14:11:21 -0200 | [diff] [blame] | 8 | get(){ |
| 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 Vivi | 616a4de | 2012-12-13 14:11:22 -0200 | [diff] [blame] | 16 | |
| 17 | igtdir=`dirname $0` |
| 18 | |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 19 | if [ -d /debug/dri ] ; then |
| 20 | debugfs_path=/debug_dri |
| 21 | fi |
| 22 | |
| 23 | if [ -d /sys/kernel/debug/dri ] ; then |
| 24 | debugfs_path=/sys/kernel/debug/dri |
| 25 | fi |
| 26 | |
| 27 | i915_debugfs=x |
| 28 | for 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 |
| 33 | done |
| 34 | |
| 35 | if [ $i915_debugfs = "x" ] ; then |
| 36 | echo i915 debugfs path not found. |
| 37 | exit 1 |
| 38 | fi |
| 39 | |
| 40 | tmpdir=`mktemp -d` |
| 41 | tardir=$tmpdir/intel_gpu_abrt |
| 42 | mkdir $tardir |
| 43 | |
Rodrigo Vivi | 7150a04 | 2012-12-13 14:11:21 -0200 | [diff] [blame] | 44 | get $i915_debugfs/* debugfs |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 45 | |
Rodrigo Vivi | 7150a04 | 2012-12-13 14:11:21 -0200 | [diff] [blame] | 46 | get /sys/module/i915/parameters/* mod_opts |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 47 | |
| 48 | mkdir $tardir/X |
Rodrigo Vivi | 616a4de | 2012-12-13 14:11:22 -0200 | [diff] [blame] | 49 | xrandr --verbose > $tardir/X/xrandr |
Rodrigo Vivi | 7150a04 | 2012-12-13 14:11:21 -0200 | [diff] [blame] | 50 | get /var/log/Xorg.0.log X |
| 51 | get /var/log/Xorg.0.log.old X |
| 52 | get /etc/X11/xorg.conf X |
| 53 | get /etc/X11/xorg.conf.d/ X |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 54 | |
| 55 | dmesg > $tardir/dmesg |
| 56 | lspci -nn > $tardir/lspci |
| 57 | |
Rodrigo Vivi | 616a4de | 2012-12-13 14:11:22 -0200 | [diff] [blame] | 58 | $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 | |
| 62 | echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom |
| 63 | cat /sys/devices/pci0000:00/0000:00:02.0/rom > $tardir/vbios.dump |
| 64 | echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom |
| 65 | |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 66 | (cd $tmpdir; tar -c intel_gpu_abrt ) > intel_gpu_abrt.tar |
| 67 | |
| 68 | rm $tmpdir -Rf |
| 69 | |
Rodrigo Vivi | c0a74d8 | 2012-12-13 14:11:24 -0200 | [diff] [blame] | 70 | if [ -f intel_gpu_abrt.tar ] ; then |
| 71 | cat <<EOF |
| 72 | intel_gpu_abrt.tar has been created. |
| 73 | |
| 74 | Please attach it to https://bugs.freedesktop.org |
| 75 | with a good bug description as suggested in this template: |
| 76 | |
| 77 | System 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 | |
| 89 | Reproducing steps: |
| 90 | |
| 91 | Additional info: |
| 92 | |
| 93 | EOF |
Daniel Vetter | 931aa17 | 2011-10-30 22:04:39 +0100 | [diff] [blame] | 94 | exit 0 |
Rodrigo Vivi | c0a74d8 | 2012-12-13 14:11:24 -0200 | [diff] [blame] | 95 | else |
| 96 | cat <<EOF |
| 97 | Error on tarball generation. |
| 98 | For bug report, please follow manual instructions available at: |
| 99 | https://01.org/linuxgraphics/documentation/how-report-bugs-0 |
| 100 | EOF |
| 101 | exit 1 |
| 102 | fi |