[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gfdisk and install

> Ok. X-Server will not work, but can we use the vgalib in vgamode
> 640x480x16 with a lib called svgagui? I think there are problems with
> different mouse types, like bus mices ...!?

I would suggest that you seriously look into the fbcon drivers in the 2.1.x 
kernels, which will soon be 2.2.x kernels.  The idea is this:  the kernel 
is configured for a graphics device, and /dev/fd0 is created.  /dev/fd0 is 
a character device that looks just like /dev/mem might, except it's the 
video framebuffer instead of physical memory.

That means that a simple windowing library can be written (very very 
simple) that just spews pixels at the screen by doing

fb_fd = open("/dev/fb0",O_RDWR);
lseek(fb_fd,(x + (width * y)) * bpp);

where x and y are the coords, width is based on the current video mode, bpp
is "bytes per pixel", and pixel is an appropriately sized integer.  Larger 
areas can obviously be written as well.

Now there are some problems with this method: not all cards are supported, 
fbcon drivers are not modular (yet), and a very simple windowing library 
has to be found or written.

I think it would be best if someone were to put some serious thought and 
energy into specing and designing a windowing API that can work equally 
well in text mode and in graphics, which would allow users to install 
graphically if they are able (i.e. *ALMOST EVERY* PCI-based card sold 
today, which is the majority of the implied target market, but be able to 
perform identically in text mode if necessary, just without the associated 

Those with deep-hack experience in the kernel might look into helping 
modularize the fbcon drivers, or writing more drivers to support more funky 
hardware.  Note that the plan as I read it is to move to fbcon everything, 
which would act as the device-dependent layer for GGI, Berlin, X, etc.  
fbcon ~= KGI.


     Erik Walthinsen <omega@seul.org> - SEUL Project system architect
       /  \                SEUL: Simple End-User Linux -
      |    | M E G A              Helping Linux become THE choice
      _\  /_                             for the home or office user