Put a frame buffer on the cPad

home / code / synaptics-usb / cpadfb
To get a frame buffer on the cPad you need the vfb2 kernel module (this module can be used to create frame buffers for USB displays). To install it, do:
	make
	make install
	depmod -a
Additionally the application cpadfb is needed to make a link between the vfb2 module and the cPad character device. To compile it, simply run make. You can then put a frame buffer on the cPad with:
	modprobe vfb2_user
	./cpadfb
Because most applications do not like frame buffers with 1 bpp, cpadfb emulates a 24 bpp frame buffer. Framerate, brightness, etc can be set with command line options of cpadfb.
If you have a kernel >= 2.6.9 and CONFIG_FRAMEBUFFER_CONSOLE, but no frame buffer on your primary display, then the console accepts no input any more after cpadfb started. I recommend to have vesafb and console framebuffer support build into the kernel, and to enable vesafb with a boot option like vga=0x301 (see linux/Documentation/fb/vesafb.txt for details), or to disable console framebuffer support.

Playing movies

	mplayer -vo fbdev:/dev/fb1 -vf scale=240:160 <file>

Running XFree86

You just need the following lines in the driver section of your XF86Config file:
	Driver		"fbdev"
	Option		"fbdev"	"/dev/fb1"

Map a tty to the frame buffer

Some programs need a tty on the frame buffer to run correctly. You need the program con2fb to map a tty to a frame buffer device. You can also use fbgetty, wich gives you a login prompt automatically. Example: Do 'fbgetty /dev/tty9 /dev/fb1', then press <ALT>+<F9> and you should be able to login.

Other Software for frame buffer devices

http://linux-fbdev.sourceforge.net

Kernel configuration for vfb2

If you want a frame buffer on the cPad, you need:
	CONFIG_FB and CONFIG_FB_VESA: y
		Device Drivers --->
		    Graphics support --->
			Support for frame buffer devices
			VESA VGA graphics support
Mapping a tty on the frame buffer needs this kernel option:
	CONFIG_FRAMEBUFFER_CONSOLE: y/m
		Device Drivers --->
		    Graphics support --->
			Console display driver support --->
			    Framebuffer Console support

Bug

  • If you have a kernel >= 2.6.9 and CONFIG_FRAMEBUFFER_CONSOLE, but no frame buffer on your primary display, then the console accepts no input any more after cpadfb started.