grub-devel
[Top][All Lists]
Advanced

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

Re: vesafb terminal for testing.


From: Vesa Jääskeläinen
Subject: Re: vesafb terminal for testing.
Date: Sun, 14 Aug 2005 18:45:13 +0300
User-agent: Thunderbird 1.0+ (Windows/20050809)

Yoshinori K. Okuji wrote:
>> First one is that there should be common virtual terminal for all arch's
>> and then separate graphics drivers that will do the actual drawing. In
>> this patch this is all implemented in one module and it is not as pretty
>> as it could be.
> 
> Another way is to emulate VBE on other architectures... Actually, some 
> firmware (such as CFE) follows this way (e.g. CFE emulates PC's VGA BIOS).

I think that we still need to make modifications to interfaces, so we
have easy to use functions for "visual effects", like different blitting
operators. If these interface functions are good enough, there should
not be any need to emulate anything. Of course one can use VBE video
driver as basis for other video drivers.

I can try to draft out features that I think is needed and then we can
see what is still missing and when it is good enough then implement it.

>> Second one is that this patch uses VGA BIOS fonts to draw characters and
>> it might cause some problems in some cards.
> 
> You should use the font manager to render characters, like the VGA terminal. 
> Getting fonts from the BIOS is the last resort.

It's identical on that aspect to VGA module. But VBE 3.0 standard allows
to have modes without text output support, so this could indicate that
font's are not available in ROM for every implementation. Even though we
are using our own drawing functions there might be some cases where that
font data is invalid.

VGA module uses Unicode values above 128 from font manager and below
that it uses BIOS fonts. If our font manager provides always USASCII
fonts, then we might drop whole VGA font support.

>> Third one is that there are some testing functionality (vbe_test,
>> vbe_list_modes) in same module, what would be best place to move those?
> 
> I think they should be in the directory commands. These may be useful even 
> when the user does not use a framebuffer terminal, because Multiboot 
> Specification also requires VBE support.

Hmm... For me this indeed looks like that there has to be different vbe
module to be loaded that provides auto probing of controller data.
Perhaps some of this should even reside in the kernel for the i386?

What do you think if I create kern/i386/pc/vbe.c that contains following
from the patch:

// functions
grub_vbe_probe
grub_vbe_set_mode
grub_vbe_get_mode
grub_vbe_get_mode_info

// global variables
struct grub_vbe_info_block grub_vbe_controller_info;
struct grub_vbe_mode_info_block grub_vbe_active_mode_info;

And perhaps some others if there is a need.

Rest of the functionality could probably should be in terminal or to
separate video driver.

>> Now how to get started on testing:
>> - insmod vesafb
>> - Use vbe_list_modes to find mode number (eg. 0x111) that you want to use.
>> - set vbe_mode varible ('set vbe_mode=0x111')
>>
>> To test mode:
>> - vbe_test
>>
>> To use it in terminal:
>> - insmod terminal
>> - terminal vesafb
> 
> Thank you for your description. Can we have your code in the CVS? It's easier 
> to test, once it is merged, because we do not have to care about conflicts.

Once those couple of changes are done, I can commit it to CVS.

Thanks,
Vesa Jääskeläinen




reply via email to

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