--- /dev/null
+#!/bin/ash
+
+. ${SCRIPT_DIR}/functions
+not_previous $@ || exit ${Previous}
+
+# check_gfx:
+# Returns true if GPU recognised as OK:
+
+check_gfx()
+{
+ DISPLAY_ADAPTER=$(setpci -s 0:2.0 0xa.w 2>/dev/null)
+ VENDOR=$(setpci -s 0:2.0 0x0.w 2>/dev/null)
+
+ if [ "x${VENDOR}" = "x8086" ] && [ "x${DISPLAY_ADAPTER}" = "x0300" ] ; then
+ return 0
+ fi
+ echo "ERROR: GPU not recognised (${VENDOR}, ${DISPLAY_ADAPTER}).">&2
+ return 1
+}
+
+GPU_OK=0
+check_gfx || GPU_OK=1
+
+interactive || exit ${Continue}
+
+if [ ${GPU_OK} -ne 0 ] ; then
+ dialog --colors --yes-label "Ignore" --no-label "Abort" --yesno \
+" \ZbERROR: Unrecognised Graphics Device\ZB
+
+ System may be incompatible with XenClient!" 0 0
+ OPT=$?
+ echo ${OPT}
+ echo "Ignoring unrecognised graphics device.">&2
+fi
+ [ "${OPT}" != 1 ] || exit ${Abort}
+ [ "${OPT}" != 255 ] || exit ${Previous}
+
+exit ${Continue}
Welcome, Continue:EULA | Abort:Fail
EULA, Continue:Check-host-capabilities | Abort:Fail
-Check-host-capabilities, Continue:Choose-install-type | Abort:Fail
+Check-host-capabilities, Continue:Check-GPU | Abort:Fail
+Check-GPU, Continue:Choose-install-type | Abort:Fail
Choose-install-type, Optical:Locate-optical-media | Network:Select-NIC | BootMedia:Check-initrd-data | Abort:Fail