[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);
write(fb_fd,&pixel,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
frills.
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.
TTYL,
Omega
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