GPE on 7" screen

Brendon
I've been using the mini2440 for some time and have been using the
mini2440.git repository.

Ive been able to successfully build many images and use menuconfig to
add/remove drivers etc.

Currently I've got myself a 7" screen which I'm hoping to get pygtk
running on but am running into a couple of problems.

I can build my image just fine here is my .bb recipe:
#Angstrom mini2440 gpe image

IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"

ANGSTROM_EXTRA_INSTALL ?= ""
XSERVER ?= "xserver-kdrive-fbdev"

DEPENDS = "task-base task-base-extended \
        psplash-zap \
        esekeyd u-boot-utils tslib \
        i2c-tools i2c screen rsync nfs-utils \
        directfb gdbserver directfb mtd-utils \
        "

IMAGE_INSTALL = "task-base-extended \
        ${ANGSTROM_EXTRA_INSTALL} \
        psplash-zap \
        esekeyd u-boot-utils tslib-calibrate tslib-tests \
        i2c-tools i2c screen rsync nfs-utils-client \
        directfb gdbserver directfb mtd-utils \
        rsvg pango \
        ${XSERVER} \
        angstrom-x11-base-depends \
        angstrom-gpe-task-base \
        angstrom-gpe-task-settings \
        "

IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"

#zap root password for release images
ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE",
"release", "zap_root_password; ", "",d)}'

export IMAGE_BASENAME = "maco-gpe-image"
IMAGE_LINGUAS = ""

inherit image 

I flash the nand as usual excpet this time i set the mini2440 bootargs
variable to 1tb as suggested at
http://labs.kernelconcepts.de/Publications/Micro2440/

Everything boots up fine except when I get to the part its suppose to
start the gpe-dm i do not get the graphical display and instead i get
a console. The same image with the 3.5" touch screen works fine.

I've downloaded the support kit from
http://labs.kernelconcepts.de/Publications/Micro2440/ which has a
angstrom-gpe-image and it booted gdm fine on the 7" screen. With this image
I was even able to install and
run my pygtk application after installing the necessary packages
through opkg and setting DISPLAY=:0.0

I have been doing reseach and read a post about installing X11 on the
mini2440 and this is what I've done:

modified hw/kdrive/src/kmode.c:

//15 is the position in the array
#define MONITOR_TIMING_DEFAULT 15
{    800,    480,    72,    50000,
         56,        64,        240,    KdSyncPositive,
         37,        23,        66,     KdSyncPositive,

},

modified lines 666 to 673 in hw/kdrive/fbdev/fbdev.c, where it says:

/* display it on the LCD **** COMMENT OUT THIS CODE */
/*    k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var);
if (k < 0)
{
    perror ("1: FBIOPUT_VSCREENINFO");
    return FALSE;

} */

$ bitbake -f -c compile maco-gpe-image
$ bitbake maco-gpe-image

reflashed the mini2440

set uboot bootargs to:

setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2
console=ttySAC0,115200 mini2440=1tb

(i also tried without mini2440=1tb)

When the device is booting i get tux in the top left corner, then the
Angstrom splash loading screen, but when gdm-dm starts all i get on
the screen is the Angstom login screen in a console environment.

when i login and run fbset -i i get the following ouput which looks
alright:

mode "800x480-50"
        # D: 23.896 MHz, H: 25.750 kHz, V: 50.000 Hz
        geometry 800 480 800 480 16
        timings 41848 40 40 29 3 48 3
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode

I can run ts_test and everything is fine. I just cant get gpe
running...

Have I done it wrong? Any help would be greatly appreciated.

- brendon

Brendon
Heres how i got it working:

Download the patch files from:
http://gitorious.org/opencsbc/openembedded/commit/2475253428f6bedb3552e2...

Place the .bb and .inc files in the openembedded/recipes/xorg-xserver
directory overwriting the existing files.

Place the .patch file in the
openembedded/recipes/xorg-xserver/xserver-kdrive directory.

Rebuild the xserver and rootfs image:

$ bitbake -c rebuild xorg-xserver ; bitbake -c rebuild maco-gpe

Reflash the mini2440 with the new .jffs2 image and make sure you set
mini2440=1tb in uboot boot args:

setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200
mini2440=1tb ; saveenv