Please correct me were i am wrong. The first X servers (before IBM PC) uses bitmap (2 colors) only one mode video cards and screens. Kernels have support for it and mouses. The X server only need to open (and mmap) the screen device, the mouse device(with select support so not use poll) and the network for the X protocol. The X server was just another app that translates X protocol to screen and mouse and keyb to X protocol. This how must be now too, but adapted to curren technology.
The oldest part of linux graphics is the IBM PC version of X wrote before linux itself(i think) in the EGA time cards. The IBM PC X server is called xf86(x free 86) for that. IBM PC unix do not support graphics or mouses so the xf86 do it. IBM PC unix use the full cards compatibles text modes. Here xf86 internals start to look messy. When Linux start it can not use the real mode BIOS because the vm86 was more dificult than wrote protected drivers. It was not fully documented, until pentium lacks som usefull bits, etc. The only graphics app was the linux port of xf86, the only code that changes modes was in xf86 so a custom api was used and all the work leave to that app. The api has been changed, but not enought to support well other concepts that the original. For non X apps (games that do not need the X overhead) another APIs was intended a vgalib and later the svgalib, wich do not support ega or vga because a vgalib do it. Later a vm86 call was included for dosemu and enhanced a pair of times. When linux was ported to hardware without text modes (mac, amiga, atari, ...) each need a framebuffer driver below the console code and it end caming to x86 too standarizing framebuffers in that step. But even now in the kernel there is 2 amiga drivers for s3 64 and virge amiga version cards(ciblade) that only works in amiga linux with coments about make it work in x86 and etc. Other video apps chosse to use direct hardware access with kernel help(DRI) or not and support a lot of video drivers (like sdl, directfb, mplayer(cvs version have a virge video driver), ...) There are other video proyects like ggi that uses a kernel driver but i unknown how is it now. I unknown largely *BSD, but think it have some problems. I only known that there is a video library called vidix(not only for BSD but for unix) used by mplayer I will try to write another mail with how i think this can be changed Diego.
pgpLRTszBonyy.pgp
Description: PGP signature
_______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
