Comment 293 for bug 129910

Revision history for this message
Loye Young (loyeyoung) wrote : Re: [Bug 129910] Re: Blank ttys when using vesafb (vga=xxx)

IF YOU HAVE SOMETHING THAT WILL HELP THE DEVELOPERS FIX THE BUG, THIS
IS THE APPROPRIATE VENUE.

IF YOU NEED HELP TROUBLESHOOTING YOUR PARTICULAR SITUATION, GO TO THE FORUMS.

That said, Fabio's situation is likely instructive for others, so I'll
write up a general how-to here even though this thread should be about
the bug and not about troubleshooting.

Fabio has four video drivers loaded:
-- vesafb
-- vga16fb
-- fbcon
-- nvidia

The correct number is at most THREE. You should not use vga16fb and
vesafb at the same time. In Fabio's case, vesafb will probably be the
best choice.
1. Go back to /etc/modprobe.d/blacklist-framebuffer and remove the
"#" before the vga16fb line.
2. Remove "vga16fb" from /etc/initramfs-tools/modules.
3. Add "vesafb" and "fbcon" to /etc/modules.

The framebuffer mode is probably incorrect on your boot kernel command
in /boot/grub/menu.lst.
4. Remove "splash vga=791" everywhere it appears in /boot/grub/menu.lst.
5. Run "depmod".
6. Run "update-initramfs -u"
7. Reboot.

You should now have your consoles back, but in 640x480 mode.
(Sometimes, the graphics card figures out the right thing to do and
"just works". If it does, don't fix what ain't broke.)

Now you want to figure out which framebuffers are best for your
card/monitor combination. Run the rest of the commands below from a
console, NOT a terminal in X. The following two commands will give you
a great deal of information:
8. Run "get-edid | parse-edid" to get the possible modes for your monitor.
9. Run "hwinfo --vbe | less" and find the stanzas for the framebuffer
and monitor. (For me, they are at the end of the file, so I just press
the END key.)

ALTERNATIVE 1 --
hwinfo should give you the list of framebuffer modes to put in your
boot kernel command and the native resolution of your monitor. Note
that not all monitors do such a good job of reporting, so you might
have to pull out the documentation and read it to find the best
resolution. Usually, a digital LCD should run at 60 Htz (long story
that's not worth telling now). Pick the best framebuffer mode for your
monitor. If you have a digital LCD, use a resolution that equals the
native resolution of your monitor.
10. Edit /boot/grub/menu.lst and insert your chosen vga mode.
(You may have to do some trial and error to figure out which is best.)
11. Reboot and see how it comes out.

ALTERNATIVE 2 --
"get-edid | parse-edid" should give you the possible modes for your
monitor, if your monitor has a decent implementation of EDID. (My LG
19" Flatron does not work with this, but my Acer 19" widescreen does.
YMMV)
10. Run "less /etc/fb.modes". Study it and find which stanzas match
your monitor as reported by the EDID command.
11. From the console, run "fbset [vert]x[horiz]@[refresh]",
substituting the correct arguments that match fb.modes. Trial and
error may be necessary. If your console blanks out and you can't see
anything, use Alt-Right or Alt-Left (i.e., the Alt key and the
appropriate arrow key pressed simultaneously) to go to another console
and try again.

If you almost always use the console, Alternative 1 is probably more
convenient. If you only occasionally use the console, Alternative 2 is
probably for you. Of course, if one works and the other doesn't, use
the one that works.

Further troubleshooting help requests should be directed to the Ubuntu
community help forums, one of the Ubuntu community IRC help channels,
or to one of the growing number of companies who provide paid (and
usually very reasonably priced) support for Ubuntu. Feel free to
plagarize this posting, but remember, you didn't pay for this advice,
so if following these instructions turns out badly for you or your
machine, it's TFB.

Happy Trails,

Loye Young
Isaac & Young Computer Company
Laredo, Texas
http://www.iycc.biz