技术开发 频道

DirectFB 之一:PC平台编译与安装

  【IT168技术文档】上班的时候,经常听旁边的一个专门做图形库的小组提起 DirectFB, 据说今后的几年,DirectFB 将取代现有图形库,并且采用DirectFB + GTK形式,支持现有的很多基于GTK开源软件。在国内的一些论坛上,比如MiniGUI.org上,也看到过他们在做 MiniGUI + DirectFB 的文章,虽然现在不知道做到什么程度了,但是可以看出,DirectFB 还是有它的优势的。

  最近周末正好有时间,所以也想玩玩。大概的计划是: PC机上测试 -> ARM开发板上测试 -> ARM开发板gfxdriver开发。

  1. DirectFB 相关网站

  DirectFB官方主页 资料下载/文档

  DirectFB Wiki Page 很多DirectFB的文档都可以在这里找到

  2. 开发环境

  Linux: CentOS 5.1 (Kernel 2.6.18-53.el5xen)

  GCC: 4.1.2

  3. 下载 DirectFB 源代码

  DirectFB 提供3种形式的下载方式: git, cvs 和压缩包。我一般使用 git, 代码比较方便。

  # git clone git://git.directfb.org/git/directfb/core/DirectFB.git

  另外,出了DirectFB库之外,如果要支持 multi application core, 还需要 fusion 内核驱动模块;为了测试 DirectFB, 可以下载现有的测试程序:

  Fusion: linux-fusion-8.0.3.tar.gz

  Example: DirectFB-examples-1.2.0.tar.gz

  4. 编译和安装 fusion

  # cd ~/DirectFB

  # tar zxf linux-fusion-8.0.3.tar.gz

  # cd linux-fusion-8.0.3

  # make

  # sudo make install

  创建 fusion 设备文件:

  # sudo mkdir /dev/fusion

  # sudo mknod /dev/fusion/0 c 250 0

  # sudo mknod /dev/fusion/1 c 250 1

  # sudo mknod /dev/fusion/2 c 250 2

  注意:要编译 fusion 模块, 需要安装内核源码。fusion 模块默认安装到 /lib/modules/`uname -r`/ 下。

  最新的源程序可以用 git 下载:

  # git clone git://git.directfb.org/git/directfb/core/linux-fusion.git

  使用这个版本的fusion 的话, 编译 DirectFB 的时候不会提示 ../../../lib/fusion/types.h:42:2: error: #error Major version of Fusion Kernel Module too low! Upgrade your kernel. 的错误。

0
相关文章