When the install script crashes, which happens quite frequently, the error is not handled correctly, or indeed at all. The python output is found on /dev/tty1, and the user interface on the X server just locks up. The python script ought to have a small wrapper which invokes it, and then brings up a dialog box on the X server with its output if/when it crashes. Likewise, if the X server fails to start, the machine just dies. It ought to be fairly simple to detect this situation and fall back to the text-based installation instead. Forcing the user to reboot with the 'text' option is unnecessary. In fact, the 'experttext' option isn't listed in the SYSLINUX startup screens, and I only found it by trial and error. The X server approach is surprising. For reliability, the installer probably ought to use the framebuffer directly, as there are too many things that can go wrong with X. If it's absolutely necessary to use X, in the absence of a version of GDK which runs on a framebuffer target, then it ought to use XF86_FBDev, and a kernel framebuffer device. By setting the kernel to use a vesafb device, but to silently default to a text mode if VESA 2.0 isn't present, you could have a fairly simple auto-detect of graphics capability, falling back cleanly to the text mode when appropriate. However, as VESA 2.0 isn't as common as one might hope, perhaps it's best to use the vga16fb kernel driver instead (or as well) of the vesafb. Either way, the handling of various text/graphic modes could be better thought out than it is at the moment.
This issue has been assigned to a developer for further action.
Fixed in Pinstripe beta release.