grub-devel
[Top][All Lists]
Advanced

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

graphics mode


From: Yoshinori K. Okuji
Subject: graphics mode
Date: Sat, 3 Sep 2005 14:54:31 +0200
User-agent: KMail/1.7.2

Today I checked the graphic console patch by Mandriva to get some idea. Their 
patch looks very similar to a patch by Conectiva or Red Hat (not surprising, 
as Mandriva = Mandrake + Conectiva).

Basically, they add these functions into GRUB Legacy:

- Set the VGA mode to 0x12 (640x480x16).

- Get font data from BIOS and attach shades to glyphs optionally.

- Put a background image and tweak the palette according to the image.

- Set the font color.

- Blink the cursor by an interrupt handler.

- Specify a viewport where the contents of a menu are shown.

I guess there is no reason that we cannot use the mode 0x12 instead of 0x10 
(640x350x16), if they can. Since the height 350 is very small, I'm willing to 
go back to 0x12. Marco, do you agree?

I don't know how important to use shades. Maybe the readability becomes too 
bad when drawing a colorful background without this kind of trick.

The palette optimization is dirty, but required when the color depth is very 
small.

Personally, I don't think cursor blinking is required. I rather prefer a 
static, reverse-color cursor, as in Emacs.

The concept of a viewport is really good, and we should implement this in GRUB 
2.


Another thing. Now I'm considering that it might be better to merge the vga 
terminal and the vesafb terminal from users' point of view. After all, 
ordinary users don't know what VGA is or what VBE is, and they do not want to 
specify such a complex thing. They just want to see a graphical interface.

So, one way is to make a graphics terminal and somehow automatically choose a 
valid mode, while still allowing an expert to specify detailed information 
via options. For example, when the user specifies nothing, GRUB can first try 
VBE and fall back to VGA.

Okuji




reply via email to

[Prev in Thread] Current Thread [Next in Thread]