# vga 16 framebuffer

## AnonNomis

Hello, I've been trying to get a vga frame buffer to work instead of the vesa framebuffer because intel says it doesn't work with the 815 chipset in my sony laptop.  

http://support.intel.com/support/graphics/intel815/30483.htm#POS13

I compiled it in and it starts up with the boot logo but i can't get it to change resolutions.  I want to up the res so that it matches the native res of my screen.  Does anyone know how to change resolutions in the vga 16 framebuffer?  I can't find any tables with values to pass into grub.  I know with the vesa framebuffer you can pass in values like vga=791.  Does the vga framebuffer have a similar option?

----------

## keratos68

Try enabling "mode switching" in the kernel.

----------

## AnonNomis

Yes, i have that enabled but I can't find anything that it will accept in the vga line.  vga=???  Thanks

-Simon

----------

## keratos68

Mmm, just check; reconfigure the kernel:

Select 'y' to CONFIG_EXPERIMENTAL 

At the bottom of the config process, select 

CONFIG_VGA_CONSOLE=y

CONFIG_VIDEO_SELECT=y

CONFIG_FB=y

CONFIG_DUMMY_CONSOLE=y

CONFIG_FB_VESA=y

CONFIG_FBCON_CFB8=y

CONFIG_FBCON_CFB16=y (The video card supports 16 bit colour @ 1024x768 res)

CONFIG_FBCON_CFB24=y (If you're feeling lucky) 

CONFIG_FBCON_CFB32=y (This shouldn't work) 

CONFIG_FONT_8x8=y

CONFIG_FONT_8x16=y

Save .config then COPY IT TO /usr/tmp/.config

Rebuild using:

make mrproper

cp /usr/tmp/.config .

make dep

make bzImage

make modules

make modules_install

Copy the new kernel to the correct place.

edit /etc/lilo.conf: In the proper image section, add the following line verbatim: 

vga=0x303

You can get a larger console using vga=0x305 etc.

save/quit and run /sbin/lilo

Reboot. If it worked, you'll see a penguin and some diagnostic information in the 'vesafb' section (use dmesg to check).

----------

## AnonNomis

I would love to try what you said but I'm not trying to use vesafb I'm 

trying to use the vga16 framebuffer.  Here is what my current .config 

file has.  I do get the tux logo on boot up with the vga16 framebuffer 

but i can't change resolutions by passing in vga=0x303 or vga=0x305.  

Both of these options result in a unknown video option being passed in 

and I get a screen asking me to choose a font. 

CONFIG_VGA_CONSOLE=y 

CONFIG_VIDEO_SELECT=y 

CONFIG_FB=y 

CONFIG_DUMMY_CONSOLE=y 

CONFIG_FB_VGA16=y (I'm using this because vesafb doesn't work on a intel 815 chipset)

CONFIG_VIDEO_SELECT=y

CONFIG_FBCON_VGA_PLANES=y

CONFIG_FBCON_ADVANCED=y

CONFIG_FBCON_CFB2=y

CONFIG_FBCON_CFB4=y (I believe this is what i'll be using for 16 colors)

CONFIG_FBCON_CFB8=y

CONFIG_FBCON_CFB16=y

CONFIG_FBCON_CFB24=y

CONFIG_FBCON_CFB32=y

CONFIG_FBCON_FONTS=y   

CONFIG_FONT_8x8=y 

CONFIG_FONT_8x16=y

Actually I'm beginning to question if this is even possible because of this table:

Colours   640x400 640x480 800x600 1024x768 1280x1024 1600x1200

  --------+-----------------------------------------------------

   4 bits |    ?              ?         0x302        ?               ?              ?

   8 bits |  0x300      0x301     0x303     0x305      0x307      0x31C

  15 bits |    ?          0x310      0x313     0x316        0x319     0x31D

  16 bits |    ?          0x311      0x314    0x317       0x31A     0x31E

  24 bits |    ?          0x312      0x315    0x318       0x31B     0x31F

  32 bits |    ?             ?              ?            ?             ?               ?

Its seems that 16 color at 1024x768 doesn't have a hex number, just a questionmark.  Maybe it doesn't exist?  I'm still not sure though since this table is for vesafb and not vga16 framebuffer.

Thanks again,

Simon

----------

## AnonNomis

Then again my current resolution is 640x480 at 4 bit color which isn't on the table either.

----------

## keratos68

Mmm, ok - vga16 eh? What happens if you use the "vga=ask" argument? At boot time, you have the option to scan, the scan will return all the modes available, and I think that's your lot!!

----------

## AnonNomis

Ya that comes up as a invalid option also but does list a bunch of fonts i can choose from.  None of them change the resolution.

----------

## keratos68

Well , I'm afraid I can't help you - I've looked at the Kernel VGA framebuffer code and its quite simple - provided you've compiled the fonts and support into your kernel (not module) then I see no reason why it shouldnt work - just for this thread, Ive tried no less than four VGA cards on three types of kernel with all possible vga16 modes - NO PROBLEM!!

Sorry.  :Crying or Very sad: 

----------

