File: xserver-xorg-core.bug.script

package info (click to toggle)
xorg-server 2:1.20.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 43,244 kB
  • sloc: ansic: 372,231; xml: 17,683; sh: 5,277; objc: 3,482; makefile: 3,285; python: 514; yacc: 483; cpp: 479; lex: 281; asm: 214; awk: 52; perl: 5
file content (146 lines) | stat: -rw-r--r-- 3,334 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/sh

PATH="/sbin:$PATH"
CONFIG_DIR=/etc/X11
SERVER_BINARY=/usr/bin/Xorg
SERVER_SYMLINK="$CONFIG_DIR/X"
XORGCONFIG="$CONFIG_DIR/xorg.conf"
XORGCONFIG_DIR="$CONFIG_DIR/xorg.conf.d"
CONFIG_AUX_DIR=/var/lib/x11
X11R6_LIBS=/usr/X11R6/lib
LOCAL_LIBS=/usr/local/lib

# Pretty echo, underline the specified string:
pecho() {
    echo "$@"
    echo "$@"|sed 's/./-/g'
}

exec >&3

if [ -e "$SERVER_SYMLINK" ]; then
    pecho "X server symlink status:"
    ls -dl "$SERVER_SYMLINK"
    ls -dl "$(readlink "$SERVER_SYMLINK")"
else
    echo "$SERVER_SYMLINK does not exist."
fi

if ! [ -L "$SERVER_SYMLINK" ]; then
    echo "$SERVER_SYMLINK is not a symlink."
fi

if ! [ -x "$SERVER_SYMLINK" ]; then
    echo "$SERVER_SYMLINK is not executable."
fi

echo

if ldd "$SERVER_BINARY" | grep -qs "$LOCAL_LIBS"; then
   pecho "The server is using local libraries!"
   ldd "$SERVER_BINARY" | grep "$LOCAL_LIBS"
   echo
fi

if ldd "$SERVER_BINARY" | grep -qs "$X11R6_LIBS"; then
   pecho "The server is using obsolete libraries!"
   ldd "$SERVER_BINARY" | grep "$X11R6_LIBS"
   echo
fi

if dpkg-divert --list | grep -qs -i libgl; then
    pecho "Diversions concerning libGL are in place"
    dpkg-divert --list | grep -i libgl
    echo
fi

if which lspci > /dev/null 2>&1; then
    pecho "VGA-compatible devices on PCI bus:"
    LC_ALL=C lspci -nn | grep 'VGA compatible controller'
else
    echo "The lspci command was not found; not including PCI data."
fi

echo

if [ -e "$XORGCONFIG" ]; then
    pecho "Xorg X server configuration file status:"
    ls -dl "$XORGCONFIG"
    echo
    pecho "Contents of $XORGCONFIG:"
    iconv -c -t ascii "$XORGCONFIG"
else
    echo "$XORGCONFIG does not exist."
fi

echo

if [ -d "$XORGCONFIG_DIR" ]; then
    pecho "Contents of $XORGCONFIG_DIR:"
    ls -l "$XORGCONFIG_DIR"
else
    echo "$XORGCONFIG_DIR does not exist."
fi

echo

KMS_CONFS_DIR=/etc/modprobe.d
KMS_CONFS=$(ls $KMS_CONFS_DIR/*-kms.conf 2>/dev/null)

if [ -n "$KMS_CONFS" ]; then
    pecho "KMS configuration files:"
    for CONF in $KMS_CONFS; do
      echo "$CONF:"
      # Indent, and get rid of empty lines:
      sed 's/^/  /' < "$CONF"|egrep -v '^\s*$'
    done
else
    echo "$KMS_CONFS_DIR contains no KMS configuration files."
fi

echo

KERNEL_VERSION=/proc/version

if [ -e "$KERNEL_VERSION" ]; then
    pecho "Kernel version ($KERNEL_VERSION):"
    cat /proc/version
else
    echo "No kernel version found (missing $KERNEL_VERSION)."
fi

echo

XORG_LOGS=$(ls -dt /var/log/Xorg.*.log $HOME/.local/share/xorg/Xorg.*.log 2>/dev/null)

if [ -n "$XORG_LOGS" ]; then
    pecho "Xorg X server log files on system:"
    ls -dlrt /var/log/Xorg.*.log $HOME/.local/share/xorg/Xorg.*.log 2>/dev/null
    echo
    for LOG in $XORG_LOGS; do
        if [ -f "$LOG" ]; then
            pecho "Contents of most recent Xorg X server log file ($LOG):"
            cat "$LOG"
            # the log files are large; only show the most recent
            break
        fi
    done
else
    echo "No Xorg X server log files found."
fi

echo

if [ -x /bin/udevadm ]; then
    pecho "udev information:"
    /bin/udevadm info --export-db | awk -F '\n' -v RS='\n\n' '/E: ID_INPUT/ { print; print "" }'
    echo
fi

if [ -x /bin/dmesg ]; then
    pecho "DRM Information from dmesg:"
    dmesg | egrep -i 'drm|agp'
    echo
fi

# vim:set ai et sts=4 sw=4 tw=0: