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

Re: KMS, vga=791 and intel xorg driver



On Sat, 6 Feb 2010 16:36:02 -0500 (EST), Γιώργος Πάλλας wrote:
> 
> Hi to all!
> 
> After I upgraded last week to latest xorg drivers my squeeze box, I had
> problem getting a console: the X session just froze. I searched a bit
> and found bug #567563.  So I discovered that the problem was the
> 'vga=791' setting that I used to boot with, so that I have a decent
> resolution while booting, for the kernel messages.
> 
> So I removed vga=791 and problems with getting a console were resolved.
> 
> In order to have a good resolution for my console while the pc is
> booting, I used the
> GRUB_GFXMODE=1440x900 directive in the grub2 config, but while it starts
> at this resolution, after the message 'Loading the initial image' (or
> something like that), it reverts again to a very low analysis. How can I
> fix that?

The vga option is a most interesting "kernel" option.  It is documented in
the svga.txt file in the documentation subdirectory of the kernel source
tree.  Here's a link to an on-line version of this file for Linux kernel
2.6.26.

   http://lxr.kelp.or.kr/source/Documentation/svga.txt?v=2.6.26

The first paragraph of this file is most revealing.  I quote:

   This small document describes the "Video Mode Selection" feature which
   allows the use of various special video modes supported by the video BIOS. Due
   to usage of the BIOS, the selection is limited to boot time (before the
   kernel decompression starts) and works only on 80X86 machines.

We learn quite a bit from the second sentence.  First, we learn that the
video mode is set by making a call to the video BIOS, which as far as I
know means a good old-fashioned DOS-style interrupt.  And as far as I
know, the machine must be operating in real mode (as opposed to protected
mode) to make one of those calls.  Second, we learn that the BIOS call is
made before the kernel decompression starts.  I'm no kernel hacker, but
that definitely sounds to me like the video BIOS call is being made by
the boot loader, not by the kernel itself.

I run the lilo boot loader on my Squeeze system.
In the lilo boot loader, "vga" is a separate lilo configuration option:
you can't include it in the "append" option.  To add further evidence,
when I issue "dmesg|less" and look at the options passed to the
kernel at boot time, I do not find the vga option at all.

Putting it all together, the vga option is actually implemented by the
boot loader itself, not by the kernel.  The boot loader itself must
have support for the vga option.  When I originally installed my
Squeeze system, the installation of grub failed; so I installed lilo
instead.  I used vga=779 (132 columns by 50 rows) on my system.
Later, during an upgrade, grub-pc got installed, but the vga option
didn't work.  I made some attempts to get it to work, but when those
attempts failed, I went back to lilo because I knew it would work.
Since then, I received a number of suggestions to try, but I had
already switched back to lilo by then.  If you get it to work, let
me know what you did to get it to work.  I might give grub-pc another
try.  Eventually.  But for now, I'm happy with lilo.

P.S.  I used to use svgatextmode.  But svgatextmode has been dropped
from the archive for Squeeze.  The vga option of the boot loader
would therefore appear to be my only option at this point for a
high resolution (in terms of columns and rows) true hardware-level
text mode for virtual consoles 1-6.  Yes, I've heard of frame-buffer.
But that is not a true hardware-level text mode.  I'm *not* giving it up!

Regards,
Steve


Reply to: