On 02/01/08 09:32 -0200, Omar Esteves Duarte Filho wrote:
Thank you for the support and sorry for the inconvenience, Jordan. You are right: this is off-topic.
First - please - stop using the term 'VGA'. VGA is a very specific standard for video display (http://en.wikipedia.org/wiki/VGA). There is no VGA here. By using the term, you muddle the discussion.
After some investigation here, i've finally got VGA output (both text console and X)! In the end, it seems that there is some problem with the lxfb driver. I was trying to set up the VGA with the video boot parameter in the kernel command line ("lxfb.mode_option=..."). But, it did not work. However, the video output works if "fbset 640x480-60", for instance, was previously typed. The fbset tool initializes the VGA with different timing parameters. Below is the VGA timing parameters right after the boot process is complete and there's still no VGA output:
mode_option is only valid when you load the driver as a module. When running with the driver built in, then you specify the mode on the command line, as detailed in Documentation/fb/modedb.txt. The correct way to specify the mode on the command line is as follows:
video=lxfb:<xres>-<yres>-<bpp>@<refresh>
I also noted that you were specifying vga=<number> on your command line - if the vesa framebuffer is also installed in your kernel (as it would be with a normal Ubuntu kernel), then that will cause the VESA framebuffer to be loaded first (which would of course, fail). The lxfb would be loaded as well, but registered as the second framebuffer (if you have your kernel output from dmesg, you should be able to see this happen).
The fbset you did below would kick the second driver and have it take over the console from the failed primary driver.
root@ubuntu-LX800:~# fbset -i
mode "640x480-60" # D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz geometry 640 480 640 480 16 timings 39682 48 8 25 2 88 2 rgba 5/11,6/5,5/0,0/0 endmode
This is the mode specified in lxfb_core.c - this is the correct timings for the Geode for the VESA mode 640x480@60.
Then, fbset is used to adjust the video mode:
root@ubuntu-LX800:~# fbset 640x480-60 root@ubuntu-LX800:~#
After that, VGA output works and timing parameters are checked again:
root@ubuntu-LX800:~# fbset -i
mode "640x480-60" # D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz geometry 640 480 640 480 16 timings 39722 48 16 33 10 96 2 rgba 5/11,6/5,5/0,0/0 endmode
This is the mode that is listed in the file /etc/fb.modes - which is a set of generic timings provided by Ubuntu. Both timings are actually correct - if you were to run fbset and set the previous timings, they would work. What you are seeing is a side effect of a poorly configured kernel.
Jordan