>>>>> "eh" == Eduardo Horvath <eeh%NetBSD.org@localhost> writes: eh> The problem with graphics cards is that they require custom eh> code in the boot firmware to do some initial configuration yeah. An approach that just showed up in Linux is 'uvesafb': /usr/src/linux/Documentation/fb/uvesafb.txt -----8<----- Unlike other drivers, uvesafb makes use of a userspace helper called v86d. v86d is used to run the x86 Video BIOS code in a simulated and controlled environment. This allows uvesafb to function on arches other than x86. Check the v86d documentation for a list of currently supported arches. v86d source code can be downloaded from the following website: http://dev.gentoo.org/~spock/projects/uvesafb Note that the v86d userspace helper has to be available at all times in order for uvesafb to work properly. If you want to use uvesafb during early boot, you will have to include v86d into an initramfs image, and either compile it into the kernel or use it as an initrd. -----8<----- so, they are also using the BIOS not just to boot the card, but also calling VESA to do the mode switching. This way, any vesa card will work, both for software-rendered console and unaccelerated X11, modulo bugs. They also, optionally, use VESA to do a limited type of hardware scrolling by panning the viewport. I've no idea how well the whole thing actually works.
Attachment:
pgpCfmHVvmvUs.pgp
Description: PGP signature