Online image builder display resolutions

Hi All,

I’ve had great success so far building images using the online image builder service: http://amethyst.openembedded.net/~koen/narcissus.

Only problem is the default video mode doesn’t work with my DVI capable monitor.

I had been using an older demo image that worked with this monitor (Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080730-beagleboard.rootfs). With this image the framebuffer properties from fbset show:

mode “1024x768-29”

D: 23.981 MHz, H: 22.370 kHz, V: 28.680 Hz

geometry 1024 768 1024 1536 16
timings 41700 40 4 8 2 4 2
accel false
rgba 5/11,6/5,5/0,0/0
endmode

I’ve tried to change the display resolution by setting the video mode on the uboot linux command line as described here: http://www.elinux.org/BeagleBoardFAQ#Display_resolutions_.231

The closest I can come to these with the recent image builder version is when I set the command line video mode to “video=omapfb:mode:1024x768@60”. Here is the fbset output with the new image:

mode “1024x768-58”

D: 48.001 MHz, H: 44.902 kHz, V: 57.715 Hz

geometry 1024 768 1024 768 16
timings 20833 3 39 2 7 3 1
accel false
rgba 5/11,6/5,5/0,0/0
endmode

It seems that my monitor wants vertical retrace at something closer to 50. I grepped through the video drivers in a recent OE build and can’t find any 1024x768 settings lower than 60Hz. The FAQ suggests that this is true.

Is there a patch or other way to get my video mode closer to the old frequencies?

Thanks

Dave L.

With the new DSS introduced at [1], you should refer to instructions
given at [2]. I found the source file referenced [3] and the
documentation [4] and produced a setting that works with my HDTV:
console=ttyS2,115200n8 root=ram0 rw ramdisk=16384
initrd=0x81600000,16M video=vram:10M,omapfb.video_mode:1280x720M-24@60

I suspect if you want a lower refresh rate, you can change what is
behind the '@'. We were just getting a nice list of settings for the
old DSS when this new one started to pop up in places. It is on my to-
do list (and I hope someone else picks it up) to create a wiki page
with settings that work for various monitors, projectors, and HDTVs.

[1] http://marc.info/?l=linux-fbdev-devel&m=123176420600337&w=2
[2] http://groups.google.com/group/beagleboard/msg/ae7df0084a280f83
[3]
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=drivers/video/modedb.c;h=16186240c5f22ba47b63971847ba6e2384515d27;hb=HEAD
[4]
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;f=Documentation/fb/modedb.txt;h=ec4dee75a35450376ad13442ea926eaf76de76aa;hb=HEAD

I have been trying the online image builder that Koen has created and
I have not had much success with it. First of all I am new to linux
and how everything works, but I built the image and put it on my flash
drive. I have angstrom running and I copied the built python image
it and untared it and everything. My question is first of all am I
doing this right and second how do I get the python program to open up
and run it like I have been on Windows? Much help needed.

thanks

That looks like an odd mixture of DSS1 and DSS2 settings, which, I
guess, won't work in either of them. Also, you probably have to spesify
R for reduced timings, as OMAP can't output most of the non-reduced
timings. So perhaps something like:

vram=10M omapfb.video_mode=1280x720MR-24@60

Tomi

I've launched an hour ago:
bitbake linux-omap-2.6.28

I've obtain:
tmp/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.28-r10/
image/boot/uImage-2.6.28-omap1

I copy it to the SD card, formatted following the Koen's video
http://www.angstrom-distribution.org/video-tutorial-how-install-ångström-beagleboard

I set bootargs:
set bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2
rootdelay=2 rootfstype=ext2 rw omapfb.video_mode=1280x720MR-24@60'

It works!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
With linux-omap-2.6.28-r0 I was not able to do the same.
Next time, monday, I'll try S-Video output.

I'm using the filesystem obtained using:
bitbake beagleboard-demo-image

It is the same of Koen's Angstrom demos, so it contains more than 6000
tasks, requiring so a powerful pc and a lot of time.

Thanks!!!

Just to log some extra data points using the Rev C validation kernel
and u-boot release candidates from Friday... These give me valid
output on both my HDTV and my Pico Projector.

OMAP3 beagleboard.org # setenv bootargs console=ttyS2,115200n8
omapfb.video_mode=1280x720MR-24@60 omapfb.debug=y root=/dev/ram0 rw
ramdisk_size=32768 initrd=${rdaddr},32M
OMAP3 beagleboard.org # if mmcinit; then if run loaduimage; then if
run loadramdisk; then bootm ${loadaddr}; fi; fi; fi
.
.
.
root@beagleboard:~# fbset

mode "1280x720-60"
    # D: 64.000 MHz, H: 44.444 kHz, V: 59.979 Hz
    geometry 1280 720 1280 720 32
    timings 15625 80 48 3 13 32 5
    rgba 8/16,8/8,8/0,0/0
endmode

root@beagleboard:~# cat /sys/devices/platform/omap-dss/clk
- dss -
internal clk count 3
dss_ick 83000000 1
dss1_alwon_fck 96000000 1
dss2_alwon_fck 13000000 1
dss_tv_fck 54000000 0
dss_96m_fck 96000000 0
- dispc -
dispc fclk source = dsi1_pll_fclk
pixel clk = 128000000 / 1 / 2 = 64000000
- dsi -
dsi fclk source = dss1_alwon_fclk
dsi pll source = dss2_alwon_fclk
DSIPHY 1664000000
DDR_CLK 416000000
dsi1_pll_fck 128000000 (on)
dsi2_pll_fck 104000000 (off)

root@beagleboard:~# cat /sys/class/graphics/fb0/modes
U:1280x720p-59

root@beagleboard:~# mount -t debugfs none /sys/kernel/debug/
root@beagleboard:~# ls /sys/kernel/debug/
asoc gpio mmc0 usbmon
bdi ieee80211 omap_gpio
clock lbs_wireless sched_features

root@beagleboard:~# dmesg | grep OMAPFB
OMAPFB: omapfb_init
OMAPFB: omapfb_probe
OMAPFB: create 3 framebuffers
OMAPFB: fb_infos allocated
OMAPFB: allocating 3686400 bytes for fb 0
OMAPFB: allocated VRAM paddr 83600000, vaddr d1000000
OMAPFB: region0 phys 83600000 virt d1000000 size=3686400
OMAPFB: region1 phys 00000000 virt 00000000 size=0
OMAPFB: region2 phys 00000000 virt 00000000 size=0
OMAPFB: fbmems allocated
OMAPFB: check_fb_var 0
OMAPFB: xres = 1280, yres = 720, vxres = 1280, vyres = 720
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 1
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 2
OMAPFB: set_fb_fix
OMAPFB: fb_infos initialized
OMAPFB: set_par(0)
OMAPFB: set_fb_fix
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: framebuffers registered
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: apply_changes, fb 1, ovl 1
OMAPFB: apply_changes, fb 2, ovl 2
OMAPFB: create_framebuffers done
OMAPFB: mgr->apply'ed
OMAPFB: display->updated
OMAPFB: sysfs created
OMAPFB: Closing fb with plane index 0
root@beagleboard:~# dmesg | grep OMAPFB
OMAPFB: omapfb_init
OMAPFB: omapfb_probe
OMAPFB: create 3 framebuffers
OMAPFB: fb_infos allocated
OMAPFB: allocating 3686400 bytes for fb 0
OMAPFB: allocated VRAM paddr 83600000, vaddr d1000000
OMAPFB: region0 phys 83600000 virt d1000000 size=3686400
OMAPFB: region1 phys 00000000 virt 00000000 size=0
OMAPFB: region2 phys 00000000 virt 00000000 size=0
OMAPFB: fbmems allocated
OMAPFB: check_fb_var 0
OMAPFB: xres = 1280, yres = 720, vxres = 1280, vyres = 720
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 1
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 2
OMAPFB: set_fb_fix
OMAPFB: fb_infos initialized
OMAPFB: set_par(0)
OMAPFB: set_fb_fix
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: framebuffers registered
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: apply_changes, fb 1, ovl 1
OMAPFB: apply_changes, fb 2, ovl 2
OMAPFB: create_framebuffers done
OMAPFB: mgr->apply'ed
OMAPFB: display->updated
OMAPFB: sysfs created
OMAPFB: Closing fb with plane index 0

Adding some more debug data for reference...

> I've launched an hour ago:
> bitbake linux-omap-2.6.28

> I've obtain:
> tmp/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.28-r10/
> image/boot/uImage-2.6.28-omap1

> I copy it to the SD card, formatted following the Koen's videohttp://www.angstrom-distribution.org/video-tutorial-how-install-%C3%A...

> I set bootargs:
> set bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2
> rootdelay=2 rootfstype=ext2 rw omapfb.video_mode=1280x720MR-24@60'

> It works!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> With linux-omap-2.6.28-r0 I was not able to do the same.
> Next time, monday, I'll try S-Video output.

> I'm using the filesystem obtained using:
> bitbake beagleboard-demo-image

> It is the same of Koen's Angstrom demos, so it contains more than 6000
> tasks, requiring so a powerful pc and a lot of time.

> Thanks!!!

> > > With the new DSS introduced at [1], you should refer to instructions
> > > given at [2]. I found the source file referenced [3] and the
> > > documentation [4] and produced a setting that works with my HDTV:
> > > console=ttyS2,115200n8 root=ram0 rw ramdisk=16384
> > > initrd=0x81600000,16M video=vram:10M,omapfb.video_mode:1280x720M-24@60

> > That looks like an odd mixture of DSS1 and DSS2 settings, which, I
> > guess, won't work in either of them. Also, you probably have to spesify
> > R for reduced timings, as OMAP can't output most of the non-reduced
> > timings. So perhaps something like:

> > vram=10M omapfb.video_mode=1280x720MR-24@60

> > Tomi

Just to log some extra data points using the Rev C validation kernel
and u-boot release candidates from Friday... These give me valid
output on both my HDTV and my Pico Projector.

OMAP3 beagleboard.org # setenv bootargs console=ttyS2,115200n8
omapfb.video_mode=1280x720MR-24@60 omapfb.debug=y root=/dev/ram0 rw
ramdisk_size=32768 initrd=${rdaddr},32M
OMAP3 beagleboard.org # if mmcinit; then if run loaduimage; then if
run loadramdisk; then bootm ${loadaddr}; fi; fi; fi
.
.
.
root@beagleboard:~# fbset

mode "1280x720-60"
# D: 64.000 MHz, H: 44.444 kHz, V: 59.979 Hz
geometry 1280 720 1280 720 32
timings 15625 80 48 3 13 32 5
rgba 8/16,8/8,8/0,0/0
endmode

root@beagleboard:~# cat /sys/devices/platform/omap-dss/clk
- dss -
internal clk count 3
dss_ick 83000000 1
dss1_alwon_fck 96000000 1
dss2_alwon_fck 13000000 1
dss_tv_fck 54000000 0
dss_96m_fck 96000000 0
- dispc -
dispc fclk source = dsi1_pll_fclk
pixel clk = 128000000 / 1 / 2 = 64000000
- dsi -
dsi fclk source = dss1_alwon_fclk
dsi pll source = dss2_alwon_fclk
DSIPHY 1664000000
DDR_CLK 416000000
dsi1_pll_fck 128000000 (on)
dsi2_pll_fck 104000000 (off)

root@beagleboard:~# cat /sys/class/graphics/fb0/modes
U:1280x720p-59

root@beagleboard:~# mount -t debugfs none /sys/kernel/debug/
root@beagleboard:~# ls /sys/kernel/debug/
asoc gpio mmc0 usbmon
bdi ieee80211 omap_gpio
clock lbs_wireless sched_features

root@beagleboard:~# dmesg | grep OMAPFB
OMAPFB: omapfb_init
OMAPFB: omapfb_probe
OMAPFB: create 3 framebuffers
OMAPFB: fb_infos allocated
OMAPFB: allocating 3686400 bytes for fb 0
OMAPFB: allocated VRAM paddr 83600000, vaddr d1000000
OMAPFB: region0 phys 83600000 virt d1000000 size=3686400
OMAPFB: region1 phys 00000000 virt 00000000 size=0
OMAPFB: region2 phys 00000000 virt 00000000 size=0
OMAPFB: fbmems allocated
OMAPFB: check_fb_var 0
OMAPFB: xres = 1280, yres = 720, vxres = 1280, vyres = 720
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 1
OMAPFB: set_fb_fix
OMAPFB: check_fb_var 2
OMAPFB: set_fb_fix
OMAPFB: fb_infos initialized
OMAPFB: set_par(0)
OMAPFB: set_fb_fix
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: pan_display(0)
OMAPFB: setcmap
OMAPFB: setcmap
OMAPFB: framebuffers registered
OMAPFB: apply_changes, fb 0, ovl 0
OMAPFB: setup_overlay 0
OMAPFB: apply_changes, fb 1, ovl 1
OMAPFB: apply_changes, fb 2, ovl 2
OMAPFB: create_framebuffers done
OMAPFB: mgr->apply'ed
OMAPFB: display->updated
OMAPFB: sysfs created
OMAPFB: Closing fb with plane index 0

OMAP3 beagleboard.org # setenv bootargs console=ttyS2,115200n8
omapfb.video_mode=1280x720MR-24@60 omapfb.debug=y omap-dss.debug=y
root=/dev/ram0 rw ramdisk_size=32768 initrd=${rdaddr},32M
OMAP3 beagleboard.org # run loadramdisk; then bootm ${loadaddr}; fi;
fi; fi
.
.
.
fbcvt: 1280x720@60: CVT Name - .921M9-R
.
.
.
root@beagleboard:~# dmesg | grep dss
omap-dss DISPLAY: panel 'panel-generic' registered
omap-dss: dpi_set_timings
omap-dss DISPLAY: omap_dss_mgr_apply(lcd)
omap-dss DISPC: dispc_enable_plane 0, 0
omap-dss DISPC: dispc_enable_plane 1, 0
omap-dss DISPC: dispc_enable_plane 2, 0
omap-dss DSS: save context
omap-dss DISPLAY: omap_dss_mgr_apply(tv)
omap-dss DSS: save context
omap-dss DISPLAY: omap_dss_mgr_apply_l4(l4)
omap-dss DSI: PLL init
omap-dss DISPC: dpll4_m4 = 432000000
omap-dss DISPC: fck = 96000000 (9)
omap-dss DISPC: lck = 96000000 (1)
omap-dss DISPC: pck = 48000000 (2)
omap-dss DSI: PLL init done
omap-dss DISPC: fifo(0) size 1024, low/high old 960/1023, new 256/960
omap-dss DISPC: fifo(1) size 1024, low/high old 960/1023, new 256/960
omap-dss DISPC: fifo(2) size 1024, low/high old 960/1023, new 256/960
omap-dss DISPC: onoff 0 rf 0 ieo 0 ipc 0 ihs 0 ivs 0 acbi 0 acb 0
omap-dss DSI: dsi_pll_calc
omap-dss DSI: dsi_pll_program
omap-dss DSI: DSI Fint 1857142
omap-dss DSI: clkin (dss2_fck) rate 13000000, highfreq 0
omap-dss DSI: DSIPHY = 2 * 448 / 7 * 13000000 / 1 = 1664000000
omap-dss DSI: Data rate on 1 DSI lane 832 Mbps
omap-dss DSI: Clock lane freq 416000000 Hz
omap-dss DSI: regm3 = 13, dsi1_pll_fclk = 128000000
omap-dss DSI: regm4 = 16, dsi2_pll_fclk = 104000000
omap-dss DSI: PLL config done
omap-dss DISPC: xres 1280 yres 720
omap-dss DISPC: pck 64000
omap-dss DISPC: hsw 32 hfp 80 hbp 48 vsw 5 vfp 3 vbp 13
omap-dss DISPC: hsync 44444Hz, vsync 59Hz

Thx,
I've tested in my situation.
Rev. B6

Log are tha same of yours.
I'm thinking to have problems in monitor's video input.
I'd have to reduce resolution 1280x720 os S-video to a normal one.
Now I'm doing some tests with other PC video output.
By now I have no one working.

But these debug infos are not so good, insn't it?

root@beagleboard:~# cat /sys/devices/platform/omapfb/displays
dvi e:1 u:1 t:0 h:1280/80/48/32 v:720/3/13/5 p:64000
tv e:0 u:-1 t:0 h:720/0/0/0 v:574/0/0/0 p:0

maybe some pb in dss driver,

root@beagleboard:~# cat /sys/devices/platform/omapfb/managers
lcd t:dvi
tv t:tv
l4 t:none

root@beagleboard:~# cat /sys/devices/platform/omapfb/framebuffers
0 p:80651000 v:c9000000 size:3686400 t:gfx
1 p:00000000 v:00000000 size:0 t:vid1
2 p:00000000 v:00000000 size:0 t:vid2

root@beagleboard:~# cat /sys/devices/platform/omapfb/overlays
gfx t:lcd x:0 y:0 iw:1280 ih:720 w:1280 h:720 e:1
vid1 t:lcd x:0 y:0 iw:0 ih:0 w:0 h:0 e:0
vid2 t:lcd x:0 y:0 iw:0 ih:0 w:0 h:0 e:0
l4-ovl t:l4 x:0 y:0 iw:0 ih:0 w:0 h:0 e:0

And
$ grep DSS .config
CONFIG_OMAP2_DSS=y
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
# CONFIG_OMAP2_DSS_RFBI is not set
CONFIG_OMAP2_DSS_VENC=y
# CONFIG_OMAP2_DSS_SDI is not set
CONFIG_OMAP2_DSS_DSI=y
CONFIG_OMAP2_DSS_USE_DSI_PLL=y
# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1

The goal is to have:
720p on DVI
the best possible to S-video
working together.

Following Documentation/arm/OMAP/DSS I've done
"Clone GFX overlay to LCD and TV"

I have S-video output, but with not good resolution.

cat omapfb/displays
dvi e:1 u:1 t:0 h:1280/80/48/32 v:720/3/13/5 p:64000
tv e:1 u:-1 t:0 h:720/0/0/0 v:574/0/0/0 p:0
root@beagleboard:/sys/devices/platform#

echo "vid1 t:tv w:800 h:600 e:1" > omapfb/overlays
omapfb omapfb: setup overlay failed
echo: write error: Invalid argument

So I try:
fbset -fb /dev/fb0 -xres 1024 -yres 768
fbset -fb /dev/fb0 -xres 800 -yres 600
fbset -fb /dev/fb0 -xres 800 -yres 480
fbset -fb /dev/fb0 -xres 640 -yres 480

In any case my S-Video output is not nice.
There are horizontal lines that cuts the letters.
Not nice.

The goal is to have:
720p on DVI
the best possible to S-video
working together.

PAL resolution is 720 x 574 (actually 576, but for some reason not here).
NTSC is (something like) 720x480. There's no way you can have better
resolution, no need to try =).

  Tomi