3. What advantages does framebuffer devices have?

Penguin logo! :o) Seriously, the major advantage of the framebuffer devices is that it presents a generic interface across all platforms. It was the case until late in the 2.1.x kernel development process that the x86 platform had console drivers completely different from the other console drivers for other platforms. With the introduction of the 2.1.109 kernel, all this has changed for the better, and introduced more uniform handling of the console under the x86 platforms and also introduced true bitmapped graphical consoles bearing the Penguin logo on x86 for the first time, and allowed code to be shared across different platforms. Note that 2.0.x kernels do not support framebuffer devices, but it is possible someday someone will backport the code from the 2.1.x kernels to 2.0.x kernels. There is an exception to that rule in that the 0.9.x kernel port for m68k platforms does have the framebuffer device support included.

With the release of the 2.2.x kernels, framebuffer device support is very solid and stable. You should use the framebuffer device if your graphic card supports it, if you are using 2.2.x kernels. Older 2.0.x kernels does not support framebuffer devices, at least on the x86 platform.

There are some cool features of the framebuffer devices, in that you can give generic options to the kernel at bootup-time, including options specific to a particular framebuffer device. These are:

Normally framebuffer devices are probed for in the order specified in the kernel, but by specifying the video=xxx option, you can add the specific framebuffer device you want probed before the others specified in the kernel.