首页 > 其他 > 详细

如何编译DirectFB?

时间:2020-07-17 13:00:17      阅读:54      评论:0      收藏:0      [点我收藏+]

随着网络的迅速发展,并不断在家庭领域中扩展,使得消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统成为研究与应用的热点。嵌入式实时Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量,如今随着WAP手机、手持终端设备、机顶盒、及DVD/VCD播放机迅速地普及,用户对这些手持式设备的GUI提出了更高的要求,希望能看到像PC机才拥有的华丽美观的GUI。GUI已经成为了人与机器沟通的桥梁,嵌入式系统对GUI的需求越来越高,而这一切均要求有一个轻型、占用资源少、高性能、高可靠、可配置及美观的GUI支持。

GUI系统涉及很多图像运算,比如画点、画线、填充、透明度处理、平滑度处理、层的叠加、字体处理、贴图等等。如果这些运算都由CPU来处理,那这将是对CPU的一个很大的负载。

近两年嵌入式设备主芯片越来越多的嵌入了2D/3D加速功能,由此软件可以搭建越来越复杂、炫酷、先进的桌面系统,如Qt/Android等。这些加速硬件,通常也因其是否拥有私有内存、是否支持3D、加速接口是否可编程等特性而分为三六九等。硬件的加速功能如果要在目标GUI系统中跑起来,还得需要一些软件中间层为不同的硬件加速提供同一的接口,并且为上层GUI提供服务。

DirectFB就是这样一个软件中间层,专门针对Linux图形库设计的图形加速中间层。它的上层直接面向图形库比如QT、GUI,提供如显示、画图、输入设备控制等服务,它的下层直接面向GFX加速硬件,要求硬件驱动实现全部或部分预定的画图函数。

DirectFB是一个轻量级的提供硬件图形加速,输入设备处理特性和抽象的图形库,它集成了支持半透明的视窗系统以及在LinuxFramebuffer驱动之上的多层显示。它是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层。

DirectFB是为嵌入式系统而设计。它是以最小的资源开销来实现最高的硬件加速性能。

我们来看一下在嵌入式系统上编译DirectFB:

一、 编译zlib1.2.8.tar.gz
1、tar xvf zlib1.2.8.tar.gz
2、cd zlib-1.2.8
3、CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/when/work/board/1808/jcbyq/arm-2007q1/arm-none-linux-gnueabi(路径根据自己的编译器路径修改)
4、make && make install

二、 编译libpng-1.2.10.tar.bz2
1、tar xvf libpng-1.2.10.tar.bz2
2、cd libpng-1.2.10
3、CC=arm-none-linux-gnueabi-gcc  ./configure  --host=arm-none-linux-gnueabi  --prefix=/usr/local/1808/libpng --enable-shared (prefix中的路径都要自己手动创建。以下同上)
4、make && make install

三、 编译freetype-2.7.1.tar.gz
1、tar xvf freetype-2.7.1.tar.gz
2、cd freetype-2.7.1
3、CC=arm-none-linux-gnueabi-gcc  ./configure  --host=arm-none-linux-gnueabi  --prefix=/usr/local/1808/freetype --without-zlib
4、make && make install

四、 编译 DirectFB-1.4.3.tar.gz
1、tar xvf DirectFB-1.4.3.tar.gz
2、cd DirectFB-1.4.3
3、cp /usr/local/1808/libpng/include/* include/ -r

4、cp /usr/local/1808/freetype/include/freetype2/* include/ -r
5、CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/1808/dfb --with-gfxdrivers=none --with-inputdrivers=all --enable-png --disable-tiff --enable-sdl=no --enable-gif=no --disable-x11
6、make && make install

 

关注公众号【启扬智能ARM嵌入式开发】,获取更多资讯和内容

如何编译DirectFB?

原文:https://www.cnblogs.com/qiyangtech/p/13328541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!