Home Wiki > openSUSE:Beagleboard (xM)
Sign up | Login

openSUSE:Beagleboard (xM)

tagline: From openSUSE

Contents

General information

Get some general information (Hardware description, installation of openSUSE, etc.) on HCL:BeagleBoard-xM.


Tests

audio in/out

Warning In 12.2 image, sound does not work due to kernel modules problems. This is fixed in 12.3 version.

For 12.2, you have to load the right modules with modprobe:

 modprobe snd_soc_omap_mcbsp
 modprobe snd_soc_twl4030
 modprobe snd-soc-omap3beagle

Then, you have to configure inputs and outputs. You can either:

  • restore values from a file
 wget http://guillaume.gardet.free.fr/openSUSE/beagleboard-alsa.conf
 alsactl -f beagleboard-alsa.conf restore
  • configure it manually with alsamixer:
 alsamixer

Then you can try to play some files:

 aplay test.wav

And to record some sound:

 arecord test_input.wav

CPU freq

Please DO NOT use BogoMIPS values but the provided script. BogoMIPS values are lower with new kernels used from openSUSE 12.3, but it has no effect on performances. For information, see: http://www.spinics.net/lists/arm-kernel/msg221672.html

In order to test CPU freq capabilities, please download this script:

 http://guillaume.gardet.free.fr/openSUSE/cputest.sh

And execute it. You should see something like:

 memtester: no process found
 300000 600000 800000  is the available freqs
 bogomips@ boot:
 BogoMIPS        : 175.65
 Boot scaling frequency =300000
 TESTING for 1 seconds at 300000
 current scaling frequency(for 300000) =300000
 bogomips@ frequency 300000:
 BogoMIPS        : 175.65
 TESTING for 1 seconds at 600000
 current scaling frequency(for 600000) =600000
 bogomips@ frequency 600000:
 BogoMIPS        : 350.31
 TESTING for 1 seconds at 800000
 current scaling frequency(for 800000) =800000
 bogomips@ frequency 800000:
 BogoMIPS        : 467.41
 More transitions TEST
 [0] 1000: 3 Seconds: jeu. mars 21 14:20:25 CET 2013 : time now = jeu. mars 21 14:20:28 CET 2013
 [1] 1000: 3 Seconds: jeu. mars 21 14:20:25 CET 2013 : time now = jeu. mars 21 14:20:28 CET 2013
 [2] 1000: 3 Seconds: jeu. mars 21 14:20:25 CET 2013 : time now = jeu. mars 21 14:20:28 CET 2013
 ...

Automatic Voltage Scaling (AVS) (formerly known as Smartreflex)

AVS is not easily testable but is enabled in the kernel.


Adaptive Body Bias (ABB)

Not yet in mainline kernel.

DSP

Warning DSP bridge module is currently not buildable for kernel used in openSUSE 12.3+, so currently only available for openSUSE 12.2

Install what is needed:

 zypper in dsp-tools tidsp-binaries

Load modules:

 modprobe mailbox_mach
 modprobe tidspbridge base_img=/lib/dsp/baseimage.dof

For kernel 3.3.0 and previous, tidspbridge was named bridgedriver, so you need to do:

 modprobe mailbox_mach
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof

Then you can try some dsp tools:

 dsp-test

which returns:

 copied 1000 times successfully
 dsp-probe

which returns:

 device: /codec
 device: /mixer
 device: /acdn
 device: /eteedn
 device: /mmmdn
 task: DASFTASK_TI
 task: SYNCCLOCK_TI
 task: dummy

DSP codecs for gstreamer

Warning DSP bridge module is currently not buildable for kernel used in openSUSE 12.3+, so currently only available for openSUSE 12.2

Install needed softs:

 zypper in gst-dsp gst-omapfb gstreamer-utils

List the dsp codecs installed:

 gst-inspect | grep dsp

which should return:

 dsp:  dspdummy: DSP dummy element
 dsp:  dspvdec: DSP video decoder
 dsp:  dspadec: DSP audio decoder
 dsp:  dsph263enc: DSP video encoder
 dsp:  dspmp4venc: DSP MPEG-4 video encoder
 dsp:  dspjpegenc: DSP video encoder
 dsp:  dsph264enc: DSP video encoder
 dsp:  dspvpp: DSP VPP filter
 dsp:  dspipp: DSP IPP

And then, run some trivial encoding tests:

 gst-launch -v videotestsrc ! dspmp4venc ! fakesink enable-last-buffer=false
 gst-launch -v videotestsrc ! dsph263enc ! fakesink enable-last-buffer=false

Note: dsph264enc does not work.

You may need to install some gstreamer plugins to be able to play real files, such as :

 gstreamer-0_10-plugins-good, gstreamer-0_10-plugins-bad, gstreamer-0_10-plugins-ugly

Then, you can play some real files:

 gst-launch-0.10 filesrc location="/mnt/tests_video/big_buck_bunny_480p_surround-fix.avi"  ! avidemux ! dspvdec !  ffmpegcolorspace ! fbdevsink
 gst-launch playbin2 uri=file:///mnt/tests_video/big_buck_bunny_480p_surround-fix.avi #(need omapfbsink working but it seems broken...)

Ethernet

You can test functionality. Plug a cable on a network where a DHCP server and a router are running. Wait a while and then see if you have an IP address:

 ifconfig eth0

Then try to ping something on the network:

 ping 192.168.1.254
 ping www.google.fr


You can also test the performances with iperf. Install iperf on a computer and on the board and run on one side the iperf server:

 iperf -s

and on the other side, the iperf client:

 iperf -c <ip_addr_of_iperf_server>

then you can invert the iperf server and client and rerun the tests.

On a Beagleboard xM, with kernel 3.4.0-3-omap2plus, we get 95 Mb/s.

SD/MMC

If you boot on your uSD card, then SD/MMC works! ;)


UART (debug)

Plug a serial cable (or serial/usb) between the board and your computer. Start minicom:

 sudo minicom

And switch on the board. You should see something starting with:

 Texas Instruments X-Loader 1.5.0 (Feb 29 2012 - 23:37:23)                                                           
 Beagle xM                                                                                                           
 Reading boot sector
 Error: reading boot sector
 fat load failed, trying ext2
 Loading u-boot.bin from mmc


USB hosts

Plug an USB stick and mount it:

 mount /dev/sda1 /mnt

And see what is on your stick:

 ls /mnt

Unmount it:

 umount /mnt


USB OTG

module built and loaded on boot but do not know how to test it.


Video

DVI

omapdrm

omapdrm is the default driver and is auto-loaded on boot. You should see a login console on your DVI/HDMI screen.

omapdrm should auto-detect the best resolution of your DVI/HDMI display. If you want to force the resolution, add the video parameter to the kernel bootargs:

 video=DVI-D-1:1440x900MR-24@60

Details on paramters are available here: http://nouveau.freedesktop.org/wiki/KernelModeSetting

If not, make sure libdrm_omap1 package is installed:

 zypper in libdrm_omap1


omapfb driver

omapfb driver is not used by default. If you want to use it, unload omapdrm first (or black list it).

Then, load the right modules with modprobe:

 modprobe panel-tfp410 
 modprobe omapfb mode=dvi:1440x900MR-24@60

And you should see a login console on your DVI/HDMI screen. Note that panel-tfp410 is needed for kernel 3.5+.

S-Video/Composite

Warning It does not seem to work.

You have to load the right module with modprobe.
For NTSC format:

 modprobe omapfb mode=tv:ntsc

For PAL format:

 modprobe omapfb mode=tv:pal


And you should see a login console on your TV screen.



2D/3D hardware acceleration (Powervr SGX 530)

Warning Work in progress. Use at own risk.

You can find some testing RPMs named pvr-omapes* in this repo:

Version: Factoryhttp://download.opensuse.org/repositories/home://Guillaume_G:/ARM/openSUSE_Factory/
Version: 12.3http://download.opensuse.org/repositories/home://Guillaume_G:/ARM/openSUSE_12.3/
Version: 12.2http://download.opensuse.org/repositories/home://Guillaume_G:/ARM/openSUSE_12.2/

You have to find the right SGX core revision.

You should choose the sgx es version with the following table:

SoC sgx es version
OMAP35x (SGX core 1.2.1) es 3.x
OMAP37x/AM37x (SGX core 1.2.5) es 5.x
816x(389x)/814x(387x) (SGX core 1.2.5) es 6.x
335x (SGX core 1.2.5 ) es 8.x


To be sure of your SGX core revision, you can use the devmem2 tool available in factory.
For OMAP35xx, AM35xx, AM/DM37xx family of chipsets (only), do:

 devmem2 0x48004B48 w 0x2
 devmem2 0x48004B10 w 0x1
 devmem2 0x48004B00 w 0x2
 devmem2 0x50000014

The last step shows a value like:

 0x10205 
 0x10201 
 0x10003

Which means SGX core revision 1.2.5, 1.2.1 or 1.0.3.
For 1.2.5, use version es5.x.
For 1.2.1, use version es3.x.
For 1.0.3, use version es2.x. (Only very early beagleboards should have it and thus it is no more supported by the latest drivers provided by TI and are also dropped from openSUSE.)

If omapfb module is not yet loaded, load it (see DVI/TV section).

If SGX related modules are not yet loaded, load them:

 /etc/rc.d/rc.pvr start

You may also load bufferclass_ti:

 modprobe bufferclass_ti

Various tests are provided with *test* package.
Working tests (with version 4.08.00.02):

 eglinfo
 gles1test1
 gles2test1
 pvr2d_test
 sgx_blit_test
 sgx_clipblit_test
 sgx_init_test
 sgx_render_flip_test -nf
 services_test

Not working tests (some are X11/DRI/DRM specific and Xorg support is not yet enabled here):

 ovg_unit_test
 sgx_flip_test
 xeglinfo
 xgles1test1
 xgles2test1
 xmultiegltest
 xovg_unit_test


Lots of libs (including GLES) are also provided with *libs* package.

configuration

2D/3D hardware acceleration (Powervr SGX 530)

The file /etc/powervr.ini is used for runtime configuration.

Libs which can be used for WindowSystem parameter in /etc/powervr.ini Used for
libpvrPVR2D_FLIPWSEGL.so For VSync synchronised writes to Framebuffer - slower, but avoids tearing
libpvrPVR2D_LINUXFBWSEGL.so If you are running on a Linux console frame buffer (/dev/fb0). To prevent vertical tearing at the center of the screen
libpvrPVR2D_FRONTWSEGL.so For direct writes to FrameBuffer - FRONT mode of operation - directly writes to FrameBuffer without waiting for vsync - fastest mode of operation
libpvrPVR2D_BLITWSEGL.so For direct writes to back-buffer, which later gets written to FrameBuffer with sync
libpvrPVR2D_DRIWSEGL.so For integration with X11/DRI/DRM drivers only


More paramters can be found here: http://processors.wiki.ti.com/index.php/SGXDbg


Xorg x11 configuration

Several drivers are available:

  • fbdev: generic driver (can use SGX drivers to have better performances)
  • omap: Use X11/DRM/DRI (under developpment) (can use SGX drivers to have better performances)
  • omapfb: NEON optimized (does not work)
fbdev driver

Install Xorg x11 and fbdev driver xf86-video-fbdev.

You can use this xorg.conf to use the fbdev driver.

Once SGX driver will be available, we will add 2D/3D accelerated driver to fbdev xorg config.


omap driver (omapdrm)
Warning omap driver (xf86-video-omap) is only available for factory, not 12.2. It use omapdrm (staging) kernel driver and libdrm_omap.

Install Xorg x11 and omap driver xf86-video-omap.

omapfb driver

The omapfb driver is NEON optimized and should be better than fbdev driver.

Warning omapfb driver (xorg-x11-drv-omapfb) does not work yet.

Install Xorg x11 and oampfb driver xorg-x11-drv-omapfb.

Uncomment lines in:

 /etc/X11/xorg.conf.d/20-omapfb.conf