Leapster Explorer Framebuffer Driver

Overview
These the steps to enable the Linux framebuffer for both Didj and Explorer on the updated Explorer kernel (2.6.31).

They involve modifications to the kernel's configuration file to enable the framebuffer (and disable the existing DPC and MLC drivers), minor patches to a few of the existing kernel files, and the replacement of the new kernel's lf1000fb framebuffer driver with a working modified version.

Note: The stock 'Brio' application environment will no longer be available on your device once you perform this modification.

Prerequisites
Cross compiler environment. For example:
 * Buildcross
 * Scratchbox
 * crosstool-NG

LF 2.6.31 Source code - 94MB

If you havent yet built a kernel config file, you can use the default config as a basis to build this driver.

If you are building this driver for Didj, you must first follow these instructions: Didj_Explorer_Kernel

Building the Framebuffer Driver
1.Modify the Kernel configuration.

The following items must be listed in 'lf1000 devices':

The following items must be listed in 'character devices':

The following items must be listed in 'graphics support':

The following items must be listed in 'display device support':

2.Modify arch/arm/mach-lf1000/core.c and drivers/input/keyboard/lf1000-keypad.c

To enable the fb driver to register, and to remove error-causing references to LCD backlighting, apply the following patches.

(this one not needed when building LF-Linux-8291-20101026-1425 kernel)



3.Grab the lf1000fb driver from the github repository.

(Rather than incorporate the driver changes into a patch, the code is checked into github to facilitate improvements. If you have improvements or fixes, please contribute them!)

4.Replace the current drivers/video/lf1000fb.c file with the file from the repository.

5.Compile the kernel.

6.Transfer the kernel to your device.


 * Boot Didj from UART Connection - Linux (or if so-equipped use an SD card)


 * To transfer kernels to Explorer via USB

7.On the device, check to see that the lf1000fb driver loaded by

8.On the device, Look for /dev/fb0.

9.If it is not present on the device, create the framebuffer device entry.

10.Reboot

You should see a picture of tux in the upper left corner of the display

Where to go from here
The Linux framebuffer driver enables you to use a wide variety of packages designed to work with it.


 * Build and install libSDL
 * Build and install a simple Tetris game using libSDL

Acknowledgments
Many thanks to zucchini for his valuable help and input, as well as to Claude, GrizzlyAdams, jburks, jkent, losinggeneration, MostAwesomeDude, NullMoogleCable, PhilKll, prpplague, ReggieUK, and everyone on #Didj (irc.freenode.org).