xref: /aosp_15_r20/external/igt-gpu-tools/tests/ddx_intel_after_fbdev (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
1*d83cc019SAndroid Build Coastguard Worker#!/bin/bash
2*d83cc019SAndroid Build Coastguard Worker#
3*d83cc019SAndroid Build Coastguard Worker# Testcase: Load Intel DDX after fbdev was loaded
4*d83cc019SAndroid Build Coastguard Worker#
5*d83cc019SAndroid Build Coastguard Worker
6*d83cc019SAndroid Build Coastguard Workerwhoami | grep -q root || {
7*d83cc019SAndroid Build Coastguard Worker	echo "ERROR: not running as root"
8*d83cc019SAndroid Build Coastguard Worker	exit 1
9*d83cc019SAndroid Build Coastguard Worker}
10*d83cc019SAndroid Build Coastguard Worker
11*d83cc019SAndroid Build Coastguard Worker# no other X session should be running
12*d83cc019SAndroid Build Coastguard Workerfind /tmp/ -name .X*lock 2>/dev/null | grep -q X && {
13*d83cc019SAndroid Build Coastguard Worker	echo "ERROR: X session already running"
14*d83cc019SAndroid Build Coastguard Worker	exit 1
15*d83cc019SAndroid Build Coastguard Worker}
16*d83cc019SAndroid Build Coastguard Worker
17*d83cc019SAndroid Build Coastguard WorkerTMPDIR=$(mktemp -d /tmp/igt.XXXX) || {
18*d83cc019SAndroid Build Coastguard Worker	echo "ERROR: Failed to create temp dir"
19*d83cc019SAndroid Build Coastguard Worker	exit 1
20*d83cc019SAndroid Build Coastguard Worker}
21*d83cc019SAndroid Build Coastguard Worker
22*d83cc019SAndroid Build Coastguard Workercat > $TMPDIR/xorg.conf.fbdev << EOF
23*d83cc019SAndroid Build Coastguard WorkerSection "Device"
24*d83cc019SAndroid Build Coastguard Worker	Driver		"fbdev"
25*d83cc019SAndroid Build Coastguard Worker	Identifier 	"Device[fbdev]"
26*d83cc019SAndroid Build Coastguard WorkerEndSection
27*d83cc019SAndroid Build Coastguard WorkerEOF
28*d83cc019SAndroid Build Coastguard Worker
29*d83cc019SAndroid Build Coastguard Workercat > $TMPDIR/xorg.conf.intel << EOF
30*d83cc019SAndroid Build Coastguard WorkerSection "Device"
31*d83cc019SAndroid Build Coastguard Worker	Driver		"intel"
32*d83cc019SAndroid Build Coastguard Worker	Identifier 	"Device[intel]"
33*d83cc019SAndroid Build Coastguard WorkerEndSection
34*d83cc019SAndroid Build Coastguard WorkerEOF
35*d83cc019SAndroid Build Coastguard Worker
36*d83cc019SAndroid Build Coastguard Worker# log before fbdev
37*d83cc019SAndroid Build Coastguard Workerdmesg -c > $TMPDIR/dmesg.1.before.fbdev
38*d83cc019SAndroid Build Coastguard Workercp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.1.before.fbdev
39*d83cc019SAndroid Build Coastguard Worker
40*d83cc019SAndroid Build Coastguard Worker# run fbdev
41*d83cc019SAndroid Build Coastguard Workerxinit -- /usr/bin/X -config $TMPDIR/xorg.conf.fbdev &
42*d83cc019SAndroid Build Coastguard Workersleep 5
43*d83cc019SAndroid Build Coastguard Workerif [ -f `which intel_reg` ]; then
44*d83cc019SAndroid Build Coastguard Worker`which intel_reg` dump > $TMPDIR/intel_reg_dump.1.fbdev
45*d83cc019SAndroid Build Coastguard Workerfi
46*d83cc019SAndroid Build Coastguard Workerkillall X
47*d83cc019SAndroid Build Coastguard Worker
48*d83cc019SAndroid Build Coastguard Worker# log after fbdev & before intel
49*d83cc019SAndroid Build Coastguard Workerdmesg -c > $TMPDIR/dmesg.2.after.fbdev.before.intel
50*d83cc019SAndroid Build Coastguard Workercp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.2.after.fbdev.before.intel
51*d83cc019SAndroid Build Coastguard Worker
52*d83cc019SAndroid Build Coastguard Workersleep 5
53*d83cc019SAndroid Build Coastguard Worker
54*d83cc019SAndroid Build Coastguard Worker# run intel
55*d83cc019SAndroid Build Coastguard Workerxinit -- /usr/bin/X -config $TMPDIR/xorg.conf.intel &
56*d83cc019SAndroid Build Coastguard Workersleep 5
57*d83cc019SAndroid Build Coastguard Workerif [ -f `which intel_reg` ]; then
58*d83cc019SAndroid Build Coastguard Worker`which intel_reg` dump > $TMPDIR/intel_reg_dump.2.intel
59*d83cc019SAndroid Build Coastguard Workerfi
60*d83cc019SAndroid Build Coastguard Workerkillall X
61*d83cc019SAndroid Build Coastguard Worker
62*d83cc019SAndroid Build Coastguard Worker# log after intel
63*d83cc019SAndroid Build Coastguard Workerdmesg -c > $TMPDIR/dmesg.3.after.intel
64*d83cc019SAndroid Build Coastguard Workercp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.3.after.intel
65*d83cc019SAndroid Build Coastguard Worker
66*d83cc019SAndroid Build Coastguard Workercp $0 $TMPDIR/
67*d83cc019SAndroid Build Coastguard Worker
68*d83cc019SAndroid Build Coastguard Workertar czf $TMPDIR.tar.gz $TMPDIR/*
69*d83cc019SAndroid Build Coastguard Workerif [ -f $TMPDIR.tar.gz ]; then
70*d83cc019SAndroid Build Coastguard Worker	echo $TMPDIR.tar.gz contains this script, all configs and logs generated on this tests
71*d83cc019SAndroid Build Coastguard Workerfi
72*d83cc019SAndroid Build Coastguard Worker
73*d83cc019SAndroid Build Coastguard Workerexit 0
74