[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#401685: DirectFB should always use the vesa fb device on i386

reassign 401685 rootskel
retitle 401685 GTK frontend should be started on x86 iff fb0 is vesa

Attilio Fiandrotti wrote:
Otavio Salvador wrote:

Attilio Fiandrotti <attilio.fiandrotti@gmail.com> writes:

The attached patch takes care of adding to DirectFB configuration file
(/etc/directfbrc) a line indicating what fb device has to be used (the
one provided by vesafb).

Nice patch. Works fine here. (but it worked before too, so no
regressions to me)

A GeForce Go 6600 owner, a friend of mine, just tested the iso and reported failure again: i'll need to test directly to see the cause of the crash, anyway i'm pretty sure the script does its job correctly, pheraps that's not enough.

Today i had the chance to test the g-i on my friend's laptop, who yesterday reported g-i crash and swapped fb0 fb1 devices (actually he owns a GeForce 6200 Go) I repeated the test using the very same ISO as yesterday and, this time, vesa was correctly mapped fb0 and g-i booted successfully. We tried many times both cold and warm-booting, after X had started, but could not reproduce the crash nor the fb0/1 swap. Note that yesterday's crash happened even if fb1 was sait to be vesa and "fbdev=/dev/fb1" was set in directfbrc. Hence, i believe it's safer patching the S60frontend script so that the GTK frontend, on i386 and AMD64, is started iff fb0 is vesa. A patch for rootskel which supersedes previous one for rootskel-gtk is attached, but please verify correctness of line

if [ subarch=="i386/generic" ] || [ subarch=="amd64/generic" ] ; then


Index: src/lib/debian-installer.d/S60frontend
--- src/lib/debian-installer.d/S60frontend	(revisione 43202)
+++ src/lib/debian-installer.d/S60frontend	(copia locale)
@@ -14,6 +14,14 @@
 		echo "Framebuffer not available; disabling graphical frontend" >&2
 		return 1
+	subarch="$(archdetect)"
+	if [ subarch=="i386/generic" ] || [ subarch=="amd64/generic" ] ; then
+		grep -iq "0 VESA" /proc/fb
+		if [ $? -ne 0 ] ; then
+			echo "Vesa framebuffer not available; disabling graphical frontend" >&2
+			return 1
+		fi
+	fi
 	# 88MB = 92MiB
 	if [ $(get_mem) -lt 88 ] ; then
 		echo "Insufficient memory for graphical frontend; disabling" >&2

Reply to: