| #!/bin/bash |
| # |
| # Testcase: Load Intel DDX after fbdev was loaded |
| # |
| |
| whoami | grep -q root || { |
| echo "ERROR: not running as root" |
| exit 1 |
| } |
| |
| # no other X session should be running |
| find /tmp/ -name .X*lock 2>/dev/null | grep -q X && { |
| echo "ERROR: X session already running" |
| exit 1 |
| } |
| |
| TMPDIR=$(mktemp -d /tmp/igt.XXXX) || { |
| echo "ERROR: Failed to create temp dir" |
| exit 1 |
| } |
| |
| cat > $TMPDIR/xorg.conf.fbdev << EOF |
| Section "Device" |
| Driver "fbdev" |
| Identifier "Device[fbdev]" |
| EndSection |
| EOF |
| |
| cat > $TMPDIR/xorg.conf.intel << EOF |
| Section "Device" |
| Driver "intel" |
| Identifier "Device[intel]" |
| EndSection |
| EOF |
| |
| # log before fbdev |
| dmesg -c > $TMPDIR/dmesg.1.before.fbdev |
| cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.1.before.fbdev |
| |
| # run fbdev |
| xinit -- /usr/bin/X -config $TMPDIR/xorg.conf.fbdev & |
| sleep 5 |
| if [ -f `which intel_reg` ]; then |
| `which intel_reg` dump > $TMPDIR/intel_reg_dump.1.fbdev |
| fi |
| killall X |
| |
| # log after fbdev & before intel |
| dmesg -c > $TMPDIR/dmesg.2.after.fbdev.before.intel |
| cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.2.after.fbdev.before.intel |
| |
| sleep 5 |
| |
| # run intel |
| xinit -- /usr/bin/X -config $TMPDIR/xorg.conf.intel & |
| sleep 5 |
| if [ -f `which intel_reg` ]; then |
| `which intel_reg` dump > $TMPDIR/intel_reg_dump.2.intel |
| fi |
| killall X |
| |
| # log after intel |
| dmesg -c > $TMPDIR/dmesg.3.after.intel |
| cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.3.after.intel |
| |
| cp $0 $TMPDIR/ |
| |
| tar czf $TMPDIR.tar.gz $TMPDIR/* |
| if [ -f $TMPDIR.tar.gz ]; then |
| echo $TMPDIR.tar.gz contains this script, all configs and logs generated on this tests |
| fi |
| |
| exit 0 |