Welcome 微信登录

首页 / 操作系统 / Linux / DirectFB-1.5.0移植 支持3D硬件支持

一.  DirectFB简介DirectFB是一个轻量级的提供硬件图形加速,输入设备处理和抽象的图形库,它集成了支持半透明的视窗系统以及在LinuxFramebuffer驱动之上的多层显示。它是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层。DirectFB是为嵌入式系统而设计。它是以最小的资源开销来实现最高的硬件加速性能。二. DirectFB移植准备主机环境:32位Ubuntu 10.10交叉编译工具:arm-linux-gcc-4.5.1下载地址:http://code.google.com/p/mini6410-debian/downloads/detail?name=arm-linux-gcc-4.5.1-v6-vfp-20101103.tar.gz&can=2&q=DirectFB版本:DirectFB-1.5.0.tar.gz下载地址:http://www.directfb.org/index.php?path=Main%2FDownloadsDirectFB测试用例版本:DirectFB-examples-1.5.2.tar.gz下载地址:http://www.directfb.org/index.php?path=Main%2FDownloads&page=1DirectFB依赖库:freetype-2.4.4.tar.gz,jpegsrc.v8c.tar.gz,libpng-1.2.44.tar.gz,zlib-1.2.5.tar.gzfreetype-2.4.4.tar.gz、jpegsrc.v8c.tar.gz、libpng-1.2.44.tar.gz、zlib-1.2.5.tar.gz 下载地址:免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /pub/2011/09/03/DirectFB-1.5.0移植 支持3D硬件支持/ 三. DirectFB移植步骤环境变量配置:export  PREFIX=/usrexport  DEST_DIR=/home                //以上两个环境变量的是移植后库生成的位置,最好是把以后有提到的库都存放到/home目录下            export PATH=$PATH:/home/opt/FriendlyARM/toolschain/4.5.1/bin
             export CC=arm-none-linux-gnueabi-gcc
             export LDFLAGS=-L$DEST_DIR$PREFIX/lib
             export CFLAGS="-g -I$DEST_DIR$PREFIX/include"
             export PKG_CONFIG_PATH=$DEST_DIR$PREFIX/lib/pkgconfig
             export FREETYPE_CFLAGS="-I${DEST_DIR}${PREFIX}/include/freetype2 -I${DEST_DIR}${PREFIX}/include"
             export PKG_CONFIG_PATH=${DEST_DIR}${PREFIX}/lib/pkgconfig
             export PKG_CONFIG_LIBDIR=$PKG_CONFIG_PATH
             export CFLAGS="-I${DEST_DIR}${PREFIX}/include/"
             export LDFLAGS="-L${DEST_DIR}${PREFIX}/lib"
             export LIBPNG_CFLAGS="-I${DEST_DIR}${PREFIX}/include/libpng12"
             export LIBPNG_LIBS="-L${DEST_DIR}${PREFIX}/lib -lpng12"
             export FREETYPE_CFLAGS="-I${DEST_DIR}${PREFIX}/include/freetype2 -I${DEST_DIR}${PREFIX}/include"
             export DIRECTFB_CFLAGS="-I${DEST_DIR}${PREFIX}/include/directfb -I${DEST_DIR}${PREFIX}/include"
             export FREETYPE_LIBS="-L${DEST_DIR}${PREFIX}/lib -lfreetype"移植步骤:1.#Make zlibcd $ZLIB./configure --prefix=$PREFIXmakemake DESTDIR=$DEST_DIR install2.cd $LIBPNG./configure --prefix=$PREFIX --host=arm-none-linux-gnueabimakemake DESTDIR=$DEST_DIR install3.cd $LIBJPEG./configure --prefix=$PREFIX --host=arm-none-linux-gnueabimakemake DESTDIR=$DEST_DIR install4.cd $FREETYPE./configure --prefix=$PREFIX  --host=arm-none-linux-gnueabimakemake DESTDIR=$DEST_DIR install5.cd $DFB./configure --host=arm-none-linux-gnueabi  --prefix=$PREFIX --disable-x11 --with-gfxdrivers=none --enable-jpeg --enable-png --enable-freetype --with-inputdrivers=linuxinputmakemake DESTDIR=$DEST_DIR install错误及解决办法:1. ../../lib/direct/atomic.h:188:70: error: expected "," or "..." before "new"解决办法:进入到atomic.h文件,把关键字 new 改成new_1等任意不是关键词。2. ../../lib/direct/serial.h:112:14: error: invalid conversion from "void*" to "volatile int*"../../lib/direct/serial.h:112:14: error:   initializing argument 2 of "int _D__atomic_add_return(int, volatile int*)"解决办法:进入到atomic.h文件,把有这方面的调动, 通过强制转换把(void *) -> (volatile int *)6.cd $DFBEXAMPLE./configure --prefix=$PREFIX --host=arm-none-linux-gnueabimakemake DESTDIR=$DEST_DIR install这样就完成了基本的DirectFB的移植,把/home/usr目录下的全部文件拷贝到开发板的/usr下,运行测试用例就知道成不成功了。四. DirectFB的硬件加速配置环境说明:这么加速你有移植成功了DirectFB,且你的开发板支持硬件加速功能。不同的硬件平台有不同的配置,我这里就说说我的配置。这里所说的目录都是/home/usr下。步骤:编译你的硬件加速模块,会生成相应的库文件。把生成的所有库放到/home/usr/lib下。在/home/usr/lib/directfb-1.5-0目录下,创建目录gfxdrivers,并把编译硬件模块的有关DirectFB的库放到此目录下,我这里的库文件是libdirectfb_gal.so.在/home/usr目录下,创建目录etc进入到/home/usr目录下,在终端输入:no-software>>directfbrc完成以上步骤后DirectFB就可以支持相应的硬件加速了。CentOS(with XEN)&Ubuntu双系统引导的问题Ubuntu 10.04手动更新kernel相关资讯      directfb 
  • DirectFB Dispatch_Write函数缓冲  (06/15/2014 10:57:51)
  • DirectFB和Gtk+的交叉编译过程记录  (09/25/2011 11:29:11)
  • Ubuntu下DirectFB的编译安装,样例  (06/14/2009 04:33:37)
  • DirectFB Dispatch_Write函数缓冲  (06/15/2014 10:56:17)
  • Directfb移植到Telichip平台上  (02/12/2011 07:42:00)
  • 交叉编译directfb在arm Linux平台  (08/14/2008 07:13:14)
本文评论 查看全部评论 (0)
表情: 姓名: 字数