This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

directfb on omap

Other Parts Discussed in Thread: AM3715

Trying to get directfb to work on omap 3530.  Have a working framebfer /dev/fb0

and LCD display  that I can open and read/write to under Linux.

I cross compiled directFB and prerequisites and examples  with the following settings . 

export CROSS=/opt/eldk/usr/bin/arm-linux-gnueabi
export PATH=${PATH}:/opt/eldk/usr/bin

export CC=$CROSS-gcc
export LD=$CROSS-ld
export AR=$CROSS-ar
export NM=$CROSS-nm
export OBJDUMP=$CROSS-objdump
export OBJCOPY=$CROSS-objcopy
export STRIP=$CROSS-strip
export RANLIB=$CROSS-ranlib
export LIBTOOL=/opt/eldk/usr/bin/libtool


export ARCH=arm
export HOST=arm-linux
export BUILD=x86
export TARGET=arm-linux

export DFB=/home/don/dfb
export PROTOFS=$DFB/protofs
export PREFIX=$PROTOFS/usr/local


export LDFLAGS=-L$PREFIX/lib -lm
export CPPFLAGS=-I$PREFIX/include

export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/
export PKG_CONFIG_SYSROOT_DIR=$PROTOFS/
export PKG_CONFIG_LIBDIR=$PREFIX/lib

###--Add /usr/local/lib /usr/lib to /etc/ld.so.conf

echo "make target directories if they don't exist"

mkdir -p $PREFIX/lib
mkdir -p $PREFIX/include
mkdir -p $PREFIX/share/directfb-examples

DIRECTFB_CFLAGS=-I$PREFIX/include
DIRECTFB_LIBS==-L$PREFIX/lib

 

libpng-1.5.1  //needed a patch

./configure --host=$HOST --prefix=$PREFIX

libjpeg/jpeg-8c

./configure  --host=$HOST --build=$BUILD --target=$TARGET --enable-shared --prefix=$PREFIX

freetype-2.4.4

./configure --host=$HOST --build=$BUILD --target=$TARGET --prefix=$PREFIX

/DirectFB-1.4.10

./configure --host=$HOST --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-x11  \

   --with-gfxdrivers=none --with-inputdrivers=keyboard,linuxinput  --with-sysroot=$PROTOFS  \

        --without-tools --enable-fbdev --enable-memdev --sysconfdir=$PREFIX/etc

DirectFB-examples-1.2.0  //needed to -lm switch to makefile.in in src directory

./configure --host=$HOST --build=$BUILD --target=$TARGET --prefix=$PREFIX

I did a make and make install for each an all seemed to go well .    Added

directfbrc to /etc and /usr/local/etc with following:

system=fbdev
module-dir=/usr/local/lib/directfb-1.4-5
device=/dev/fb0
mode = 640x480
depth=16
pixelformat=RGB16
log-file=/etc/dfb_log.txt

# Shared Memory Mount Point
tmpfs = /tmp

# Disable Cursor
no-cursor

# Disable Layer Initialization
no-init-layer = 0

Found it necessary to set the lib path.

export LD_LIBRARY_PATH=/usr/local/lib

fom /usr/local/bin I  ran following.

# ./df_dok

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2010  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2011-03-22 20:07)
(!) DirectFB/core/system: No system found!
df_dok.c <1457>:
    (#) DirectFBError [DirectFBCreate( &dfb )]: No (suitable) implementation found!

Program did not find the directfbrc file?

fom /usr/local/bin I  ran following using -dfb 

# ./df_dok  --load-image ../share/directfb-examples/fish.png -dfb module-dir=/us
r/local/lib/didirectfb-1.4-5 system=fbdev device=/dev/fb0
DirectFB Benchmarking Demo version 1.2.0

Usage: df_dok [options]

Options:

  --duration <milliseconds>    Duration of each benchmark.
  --size     <width>x<height>  Set benchmark size.

..... all options

Same result no matter what i choose for options..  just displayed options.

 

Tried the following example:

# ./df_andi  -dfb module-dir=/usr/local/lib/directfb-1.4-5  system=fbdev device=
/dev/fb0

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2010  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2011-03-22 20:07)
(!) DirectFB/core/system: No system found!
df_andi.c <462>:
    (#) DirectFBError [DirectFBCreate( &dfb )]: No (suitable) implementation found!
#

Any idea what may be needed to run the examples and/or  why programs don't see directfbrc?

Is directfb ready for prime time on the omap??

 

Thanks

 

 

 

 

 

 

 

 

 

  • You should be using OpenEmbedded, it is easier to get a working package.  Recipe below for reference and comparison of the options.

    http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/directfb/directfb.inc?id=05208f675102695a2c761929e3b090c8cfc2524f

     

    If you need a standalone setup, since the source is available - can you find what error causes this message to be output ?

    Also, check out the directfb-dev forums. This is an issue that frequently comes up for new builds.

     

  • Hi Donald,

    Sorry for digging up an old thread but did you ever get your issue resolved ?

    I am generating my own rootfs for an AM3715 with directfb support and I can get it rendering with directfb but it seems as though al the rendering is using software and not the SXG hardware acceleration.

    Did you ever get the HW to be used ?


    Regards

    Marc