#!/bin/sh

PATH=/sbin:$PATH

export LC_ALL=C

exec >&3

echo "uname -a:"
uname -a
echo

echo "/proc/version:"
cat /proc/version
echo

if [ -e /proc/driver/nvidia/version ]; then
	echo "/proc/driver/nvidia/version:"
	cat /proc/driver/nvidia/version
	echo
fi

if (lspci --version) > /dev/null 2>&1; then
  	echo "lspci 'VGA compatible controller [0300]':"
	for device in `lspci -mn | awk '{ if ($2 == "\"0300\"") { print $1 } }'`; do
		LC_ALL=C lspci -vvnn -s $device
	done
fi

if [ -x /bin/dmesg ]; then
	echo "dmesg:"
	dmesg | grep -iE 'nvidia|nvrm|agp|vga'
	echo
fi

echo "OpenGL and NVIDIA library files installed:"
ls -l	/etc/alternatives/glx* \
	/etc/alternatives/nvidia* \
	/etc/alternatives/*libGL* \
	/etc/alternatives/*_gl_conf \
	/etc/ld.so.conf.d/*_GL.conf \
	/usr/lib/libGL.* \
	/usr/lib/libGLcore* \
	/usr/lib/libnvidia* \
	/usr/lib/*-linux-gnu/libGL.* \
	/usr/lib/*-linux-gnu/libGLcore* \
	/usr/lib/*-linux-gnu/libnvidia* \
	/usr/lib32/libGL.* \
	/usr/lib32/libGLcore* \
	/usr/lib32/libnvidia* \
	2>/dev/null

ls -la	/usr/lib/nvidia/ \
	/usr/lib/nvidia/*/ \
	/usr/lib/*-linux-gnu/nvidia/ \
	/usr/lib/*-linux-gnu/nvidia/*/ \
	/usr/lib/mesa/ \
	/usr/lib/*-linux-gnu/mesa/ \
	/usr/lib/mesa-diverted/ \
	/usr/lib/mesa-diverted/*-linux-gnu/ \
	/usr/lib32/nvidia/ \
	/usr/lib32/nvidia/diversions/ \
	/etc/X11/{xorg,nvidia}.conf \
	/etc/X11/xorg.conf.d \
	/var/log/Xorg.*.log* \
	2>/dev/null
echo

echo "Files from nvidia-installer:"
ls -la /usr/bin/nvidia-installer /usr/bin/nvidia-uninstall /var/lib/nvidia 2>/dev/null
echo

echo "Config and logfiles:"
echo
for file in /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*.conf $(ls -dt /var/log/Xorg.*.log* 2>/dev/null | head -n 1)
do
	if [ -f "$file" ] && [ -r "$file" ]; then
		echo "<<<<<<<<<< $file >>>>>>>>>>"
		cat "$file"
		echo "^^^^^^^^^^ $file ^^^^^^^^^^"
		echo
	fi
done

echo "Kernel modules: nvidia.ko"
find /lib/modules -name nvidia.ko
echo
find /lib/modules -name nvidia.ko | xargs -r modinfo | grep -v ^parm:
echo

exit 0
