CyBlaFB is a framebuffer driver for the Cyberblade/i1 graphics core integrated
into the VIA Apollo PLE133 (aka vt8601) south bridge. It is developed and
tested using a VIA EPIA 5000 board.

Cyblafb - compiled into the kernel or as a module?
==================================================

You might compile cyblafb either as a module or compile it permanently into the
kernel.

Unless you have a real reason to do so you should not compile both vesafb and
cyblafb permanently into the kernel. It's possible and it helps during the
developement cycle, but it's useless and will at least block some otherwise
usefull memory for ordinary users.

Selecting Modes
===============

	Startup Mode
	============

	First of all, you might use the "vga=???" boot parameter as it is
	documented in vesafb.txt and svga.txt. Cyblafb will detect the video
	mode selected and will use the geometry and timings found by
	inspecting the hardware registers.

		video=cyblafb vga=0x317

	Alternatively you might use a combination of the mode, ref and bpp
	parameters. If you compiled the driver into the kernel, add something
	like this to the kernel command line:

		video=cyblafb:1280x1024,bpp=16,ref=50 ...

	If you compiled the driver as a module, the same mode would be
	selected by the following command:

		modprobe cyblafb mode=1280x1024 bpp=16 ref=50 ...

	None of the modes possible to select as startup modes are affected by
	the problems described at the end of the next subsection.

	For all startup modes cyblafb chooses a virtual x resolution of 2048,
	the only exception is mode 1280x1024 in combination with 32 bpp. This
	allows ywrap scrolling for all those modes if rotation is 0 or 2, and
	also fast scrolling if rotation is 1 or 3. The default virtual y reso-
	lution is 4096 for bpp == 8, 2048 for bpp==16 and 1024 for bpp == 32,
	again with the only exception of 1280x1024 at 32 bpp.

	Please do set your video memory size to 8 Mb in the Bios setup. Other
	values will work, but performace is decreased for a lot of modes.

	Mode changes using fbset
	========================

	You might use fbset to change the video mode, see "man fbset". Cyblafb
	generally does assume that you know what you are doing. But it does
	some checks, especially those that are needed to prevent you from
	damaging your hardware.

		- only 8, 16, 24 and 32 bpp video modes are accepted
		- interlaced video modes are not accepted
		- double scan video modes are not accepted
		- if a flat panel is found, cyblafb does not allow you
		  to program a resolution higher than the physical
		  resolution of the flat panel monitor
		- cyblafb does not allow vclk to exceed 230 MHz. As 32 bpp
		  and (currently) 24 bit modes use a doubled vclk internally,
		  the dotclock limit as seen by fbset is 115 MHz for those
		  modes and 230 MHz for 8 and 16 bpp modes.
		- cyblafb will allow you to select very high resolutions as
		  long as the hardware can be programmed to these modes. The
		  documented limit 1600x1200 is not enforced, but don't expect
		  perfect signal quality.

	Any request that violates the rules given above will be either changed
	to something the hardware supports or an error value will be returned.

	If you program a virtual y resolution higher than the hardware limit,
	cyblafb will silently decrease that value to the highest possible
	value. The same is true for a virtual x resolution that is not
	supported by the hardware. Cyblafb tries to adapt vyres first because
	vxres decides if ywrap scrolling is possible or not.

	Attempts to disable acceleration are ignored, I believe that this is
	safe.

	Some video modes that should work do not work as expected. If you use
	the standard fb.modes, fbset 640x480-60 will program that mode, but
	you will see a vertical area, about two characters wide, with only
	much darker characters than the other characters on the screen.
	Cyblafb does allow that mode to be set, as it does not violate the
	official specifications. It would need a lot of code to reliably sort
	out all invalid modes, playing around with the margin values will
	give a valid mode quickly. And if cyblafb would detect such an invalid
	mode, should it silently alter the requested values or should it
	report an error? Both options have some pros and cons. As stated
	above, none of the startup modes are affected, and if you set
	verbosity to 1 or higher, cyblafb will print the fbset command that
	would be needed to program that mode using fbset.


Other Parameters
================


crt		don't autodetect, assume monitor connected to
		standard VGA connector

fp		don't autodetect, assume flat panel display
		connected to flat panel monitor interface

nativex 	inform driver about native x resolution of
		flat panel monitor connected to special
		interface (should be autodetected)

stretch 	stretch image to adapt low resolution modes to
		higer resolutions of flat panel monitors
		connected to special interface

center		center image to adapt low resolution modes to
		higer resolutions of flat panel monitors
		connected to special interface

memsize 	use if autodetected memsize is wrong ...
		should never be necessary

nopcirr 	disable PCI read retry
nopciwr 	disable PCI write retry
nopcirb 	disable PCI read bursts
nopciwb 	disable PCI write bursts

bpp		bpp for specified modes
		valid values: 8 || 16 || 24 || 32

ref		refresh rate for specified mode
		valid values: 50 <= ref <= 85

mode		640x480 or 800x600 or 1024x768 or 1280x1024
		if not specified, the startup mode will be detected
		and used, so you might also use the vga=??? parameter
		described in vesafb.txt. If you do not specify a mode,
		bpp and ref parameters are ignored.

verbosity	0 is the default, increase to at least 2 for every
		bug report!

Development hints
=================

It's much faster do compile a module and to load the new version after
unloading the old module than to compile a new kernel and to reboot. So if you
try to work on cyblafb, it might be a good idea to use cyblafb as a module.
In real life, fast often means dangerous, and that's also the case here. If
you introduce a serious bug when cyblafb is compiled into the kernel, the
kernel will lock or oops with a high probability before the file system is
mounted, and the danger for your data is low. If you load a broken own version
of cyblafb on a running system, the danger for the integrity of the file
system is much higher as you might need a hard reset afterwards. Decide
yourself.

Module unloading, the vfb method
================================

If you want to unload/reload cyblafb using the virtual framebuffer, you need
to enable vfb support in the kernel first. After that, load the modules as
shown below:

	modprobe vfb vfb_enable=1
	modprobe fbcon
	modprobe cyblafb
	fbset -fb /dev/fb1 1280x1024-60 -vyres 2662
	con2fb /dev/fb1 /dev/tty1
	...

If you now made some changes to cyblafb and want to reload it, you might do it
as show below:

	con2fb /dev/fb0 /dev/tty1
	...
	rmmod cyblafb
	modprobe cyblafb
	con2fb /dev/fb1 /dev/tty1
	...

Of course, you might choose another mode, and most certainly you also want to
map some other /dev/tty* to the real framebuffer device. You might also choose
to compile fbcon as a kernel module or place it permanently in the kernel.

I do not know of any way to unload fbcon, and fbcon will prevent the
framebuffer device loaded first from unloading. [If there is a way, then
please add a description here!]

Module unloading, the vesafb method
===================================

Configure the kernel:

	<*> Support for frame buffer devices
	[*]   VESA VGA graphics support
	<M>   Cyberblade/i1 support

Add e.g. "video=vesafb:ypan vga=0x307" to the kernel parameters. The ypan
parameter is important, choose any vga parameter you like as long as it is
a graphics mode.

After booting, load cyblafb without any mode and bpp parameter and assign
cyblafb to individual ttys using con2fb, e.g.:

	modprobe cyblafb
	con2fb /dev/fb1 /dev/tty1

Unloading cyblafb works without problems after you assign vesafb to all
ttys again, e.g.:

	con2fb /dev/fb0 /dev/tty1
	rmmod cyblafb
