Difference between revisions of "User:Md84419/BeagleboardAngstrom"

From eLinux.org
Jump to: navigation, search
m
m (Added svideo and mplayer sections)
Line 19: Line 19:
 
USR1: MMC IO activity monitor.
 
USR1: MMC IO activity monitor.
  
 +
== SVideo ==
 +
 +
Getting s-video working is a bit of a black art at the moment.  Here is the script that tomba wrote that sets up svideo on fb2 (this requires the latest kernels with DSS2 support, such as the koen distribution).
 +
 +
<pre>
 +
ovl2=/sys/devices/platform/omapdss/overlay2
 +
 +
# check that display1 is really TV!
 +
tv=/sys/devices/platform/omapdss/display1
 +
 +
fb2=/sys/class/graphics/fb2
 +
 +
tvw=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1`
 +
tvh=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1`
 +
 +
mem=$((tvw*tvh*4))
 +
 +
echo "0" > $tv/enabled
 +
echo "0" > $ovl2/enabled
 +
echo "" > $ovl2/manager
 +
 +
# allocate memory for framebuffer
 +
echo $mem > $fb2/size
 +
 +
fbset -fb /dev/fb2 -xres $tvw -vxres $tvw -yres $tvh -vyres $tvh -depth 32
 +
 +
echo "0,0" > $ovl2/position
 +
echo "$tvw,$tvh" > $ovl2/output_size
 +
echo "tv" > $ovl2/manager
 +
echo "1" > $ovl2/enabled
 +
 +
echo "1" > $tv/enabled
 +
 +
# output random pixels to tv
 +
cat /dev/urandom > /dev/fb2
 +
</pre>
 +
 +
For some reason, udev didn't create the devices for me.  Check like so:
 +
ls -l /dev/fb*
 +
You should see:
 +
lrwxrwxrwx 1 root  root      3 Jun 13  2009 /dev/fb -> fb0                                                                         
 +
crw-rw---- 1 root  video 29, 0 Jun 13  2009 /dev/fb0                                                                               
 +
crw-rw---- 1 root  video 29, 1 Jun 13  2009 /dev/fb1                                                                               
 +
crw-rw---- 1 root  video 29, 2 Jun 13  2009 /dev/fb2
 +
   
 +
If you only get two lines back issue the following commands as root:
 +
mknod /dev/fb1 c 29 1
 +
mknod /dev/fb2 c 29 2
 +
chgrp video /dev/fb1 /dev/fb2
 +
chmod 660 /dev/fb1 /dev/fb2
 +
 +
Various mailing list posts suggest a bootargs similar to below, although it didn't seem to make a difference for me.  Your mileage may vary.
 +
 +
bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 noinitrd omapfb.video_mode=720x576@50 init=/init rootfstype=ext3 rw rootdelay=2 video=omapfb:vram:2M,vram:4M,vram:4M omapdss.def_disp=dvi omapfb.mode=dvi:1024x768MR-24@60 omapfb.vram=0:4M,1:2M,2:4M'
  
 
== DSS2A ==
 
== DSS2A ==
Line 24: Line 78:
 
DSS2 is the display driver that has been virtually rewritten.  It includes a sysfs interface at /sys/class/grpahics and /sys/driver/platform/omapdss.  See for instance [http://groups.google.com/group/beagleboard/browse_thread/thread/a57950001eeb54be/fc252d23f8eebc17] for more info - or just search the google mailing list for DSS2.
 
DSS2 is the display driver that has been virtually rewritten.  It includes a sysfs interface at /sys/class/grpahics and /sys/driver/platform/omapdss.  See for instance [http://groups.google.com/group/beagleboard/browse_thread/thread/a57950001eeb54be/fc252d23f8eebc17] for more info - or just search the google mailing list for DSS2.
  
 +
== Video playback ==
 +
 +
To test video playback, mplayer seems to work well.
 +
wget http://www.beagleboard.org/uploads/HARRY.YUV
 +
mplayer -vo fbdev:/dev/fb2 HARRY.YUV
 +
 +
Or for a longer, more demanding test, try big buck bunny:
 +
wget http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi
 +
mplayer -nosound big_buck_bunny_480p_surround-fix.avi
 +
 +
Or:
 +
wget ...
 +
mplayer -ao alsa -lavdopts lowres=1:fast -vo fbdev:/dev/fb2 big_buck_bunny_480p_surround-fix.avi
 +
 +
I'm fairly sure that mplayer is doing the video scaling in software.  If it is possible to get it to use hardware scaling, the results should be msuch better.
 +
 +
Next is to investigate the gstreamer_openmax stuff that reportedly can playback big buck bunny using only 10% of the CPU.
  
 
= James distribution =
 
= James distribution =

Revision as of 23:25, 13 June 2009

A random collection of notes on the Angstrom builds for Beagleboard

MLO

The revC MLO does not work correctly from NAND on revB boards and will cause the boot process to fail unless the user button is pressed (to cause booting from MMC) during the boot process.

uBoot

Older uboots display a beagleboard splash. These are outdated and broken.

Koen distribution

Koen is responsible for the distribution at http://www.angstrom-distribution.org/demo/beagleboard/.

LEDs

USR0: heartbeat, driven by the Kernel. However, it is possible for the board to fail to boot yet the heartbeat to continue (for instance the "pixel clock problem").

USR1: MMC IO activity monitor.

SVideo

Getting s-video working is a bit of a black art at the moment. Here is the script that tomba wrote that sets up svideo on fb2 (this requires the latest kernels with DSS2 support, such as the koen distribution).

 ovl2=/sys/devices/platform/omapdss/overlay2
 
 # check that display1 is really TV!
 tv=/sys/devices/platform/omapdss/display1
 
 fb2=/sys/class/graphics/fb2
 
 tvw=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1`
 tvh=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1`
 
 mem=$((tvw*tvh*4))
 
 echo "0" > $tv/enabled
 echo "0" > $ovl2/enabled
 echo "" > $ovl2/manager
 
 # allocate memory for framebuffer
 echo $mem > $fb2/size
 
 fbset -fb /dev/fb2 -xres $tvw -vxres $tvw -yres $tvh -vyres $tvh -depth 32
 
 echo "0,0" > $ovl2/position
 echo "$tvw,$tvh" > $ovl2/output_size
 echo "tv" > $ovl2/manager
 echo "1" > $ovl2/enabled
 
 echo "1" > $tv/enabled
 
 # output random pixels to tv
 cat /dev/urandom > /dev/fb2

For some reason, udev didn't create the devices for me. Check like so:

ls -l /dev/fb*

You should see:

lrwxrwxrwx 1 root   root      3 Jun 13  2009 /dev/fb -> fb0                                                                           
crw-rw---- 1 root   video 29, 0 Jun 13  2009 /dev/fb0                                                                                 
crw-rw---- 1 root   video 29, 1 Jun 13  2009 /dev/fb1                                                                                 
crw-rw---- 1 root   video 29, 2 Jun 13  2009 /dev/fb2
   

If you only get two lines back issue the following commands as root:

mknod /dev/fb1 c 29 1
mknod /dev/fb2 c 29 2
chgrp video /dev/fb1 /dev/fb2
chmod 660 /dev/fb1 /dev/fb2

Various mailing list posts suggest a bootargs similar to below, although it didn't seem to make a difference for me. Your mileage may vary.

bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 noinitrd omapfb.video_mode=720x576@50 init=/init rootfstype=ext3 rw rootdelay=2 video=omapfb:vram:2M,vram:4M,vram:4M omapdss.def_disp=dvi omapfb.mode=dvi:1024x768MR-24@60 omapfb.vram=0:4M,1:2M,2:4M'

DSS2A

DSS2 is the display driver that has been virtually rewritten. It includes a sysfs interface at /sys/class/grpahics and /sys/driver/platform/omapdss. See for instance [1] for more info - or just search the google mailing list for DSS2.

Video playback

To test video playback, mplayer seems to work well.

wget http://www.beagleboard.org/uploads/HARRY.YUV
mplayer -vo fbdev:/dev/fb2 HARRY.YUV

Or for a longer, more demanding test, try big buck bunny:

wget http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi
mplayer -nosound big_buck_bunny_480p_surround-fix.avi

Or:

wget ...
mplayer -ao alsa -lavdopts lowres=1:fast -vo fbdev:/dev/fb2 big_buck_bunny_480p_surround-fix.avi

I'm fairly sure that mplayer is doing the video scaling in software. If it is possible to get it to use hardware scaling, the results should be msuch better.

Next is to investigate the gstreamer_openmax stuff that reportedly can playback big buck bunny using only 10% of the CPU.

James distribution

James is an alternative build that is being used for the Beagleboard James project. Some developers say it has better display and devices support than the Koen distribution.

NOTE: James is based upon a snapshot of Koen's distribution and is not a separate distribution. Apparently there is some regression along the line. Frankly speaking James is in need of an update, but the author of James is too busy on other issues at the moment.