Android Stuck at 640x480 Resolution

I have a Rev C BeagleBoard, connected to an Acer AL1916W widescreen
monitor.

I have tried the following:

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb:mode:1280x720@50 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off'

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb.mode:1280x720@50 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off'

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb:mode:1280x1024@50 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off'

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb:mode:1024x768@50 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off'

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb:mode:800x600@50 init=/init rootfstype=ext3 rw rootdelay=1
nohz=off'

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb.mode=dvi:1280x720MR-24@50 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off'

But all I can get is 640x480 resolution.

Anyone have any ideas why?

Thanks...

-Stan

Hi Stan,

What kernel version are you running?

I have the same monitor, and depending what kernel version you are
running, here's some settings I use with it.

2.6.26 and 2.6.27
bootargs video=omapfb:mode:1280x720@60

2.6.28 using DSS2
bootargs omap-dss.def_disp=lcd omapfb.video_mode=1280x720MR-16@60

2.6.29 and higher using DSS2
bootargs omapfb.mode=dvi:1280x720MR-16@60

Regards,

possibly a stupid question, but does one need to select DSS2
functionality explicitly? i don't have a source tree in front of me
at the moment; otherwise, i'd just check.

rday

It depends on the patches applied and i haven't looked into Android's
tree. I know Angstrom & Debian kernel's have these DSS2 patches
applied. (actually thought this email topic was Angstrom when i first
replied.. ) If they don't have the DSS2 patches applied the bootargs
from 2.6.26/27 will apply to all. (but he tried that..
video=omapfb:mode:1280x720@50 )

Regards,

Hi Robert,

Thanks for the reply.

This is the kernel I'm booting:

## Booting kernel from Legacy Image at 80300000 ...
   Image Name: Linux-2.6.29-omap1-07176-g57a557
   Image Type: ARM Linux Kernel Image (uncompressed)
   Data Size: 1974416 Bytes = 1.9 MB
   Load Address: 80008000
   Entry Point: 80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

From your reply, I tried the following:

# setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm
0x80300000'
# setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
video=omapfb.mode=dvi:1280x720MR-16@60 init=/init rootfstype=ext3 rw
rootdelay=1 nohz=off
# boot

Tried to tweak it several ways to find the solution, but nothing
works... still 640x480 resolution.

In fact, with the latest kernel and filesystem, the screen doesn't
even seem to sync properly. The menus just flicker on the screen.

Any other ideas?

Thanks!

Hi Stan,

Okay, that's a little strange.

Couple things, remove rootdelay=1, use rootwait

Add too bootargs: "omapfb.debug=y omapdss.debug=y" and please
pastebin your console boot (from the serial port)

Side note:
Looks like Android does have DSS2:

http://labs.embinux.org/git/cgit.cgi/repo/kernel.git/log/?h=android-2.6.29

Regards,

Hi Robert,

Did the modifications you suggested. Here is the entire console
output:

Bumping this thread...

Stan,
Are you using “omap3_beagle_android_defconfig” for kernel configuration ? please post your defconfig.

Regards,
Stan C wrote:

Hi Rupesh,

Originally I followed the Embinux porting guide and was doing
beagle_build_kernel.sh to build the kernel, and I can see that it uses
"omap3_beagle_android_defconfig". But more recently, I have just been
doing a manual "make uImage" after adding the drivers for the USB to
Ethernet device. I'm not sure which defconfig is being used. How do I
determine it?

Thanks...

Just now, I modified the omap3_beagle_android_defconfig to add some
networking drivers and ran beagle_build_kernel.sh but the resulting
kernel is the same.

Still stuck at 640x480 resolution no matter what boot arguments I use,
and the latest builds also has a problem with the screen where there
is a lot of flickering and problems with the display.

After a lot of tinkering, I finally managed to make some progress.

Using the following:

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:800x600MR-16@60 init=/init rootfstype=ext3 rw
rootwait'

I was successfully able to get 800x600 resolution working properly,
and no more flickering.

However, I was not successful at getting a higher resolution that that
working properly.

I can get it to sync properly with 1280x720 and 1280x1024, but it ends
up being not fullscreen, but instead uses only a portion of the screen
in the top left corner.

Please refer to this image: http://i40.tinypic.com/2hcoplk.jpg

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:1280x720MR-16@60 init=/init rootfstype=ext3 rw
rootwait'
setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:1280x1024MR-16@60 init=/init rootfstype=ext3 rw
rootwait'

Strangely, I could not get it to sync at any 1024x??? resolution.

Any idea why it's showing 1280x??? resolution using a small part of
the monitor instead of the entire pane?

Thanks...

-Stan

Update again.

Actually, I managed to get it to sync at 1024x768 with the following:

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:1024x768R-16@50 init=/init rootfstype=ext3 rw
rootwait'

Changing it to 1024x768MR would cause the monitor to display "Input
not supported", and just 1024x768 vs 1024x768R didn't seem to make a
difference.

Also, I may have been mistaken when I said I got 1280x1024 to sync up
properly as I couldn't reproduce it.

However, strangely when I use:

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:1280x720-16@50 init=/init rootfstype=ext3 rw rootwait'
or
setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:1280x600-16@50 init=/init rootfstype=ext3 rw rootwait'

The resolution that shows on the display looks to be exactly the same.

The same is also true for this pairing:

setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:800x600MR-16@60 init=/init rootfstype=ext3 rw
rootwait'
or
setenv bootargs 'console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2
omapfb.mode=dvi:800x480MR-16@60 init=/init rootfstype=ext3 rw
rootwait'

I don't know why that is the case.

Thanks...

-Stan