感谢支持
我们一直在努力

Ubuntu下DirectFB的编译安装,样例程序编译及运行体验

Ubuntu下DirectFB的编译安装,样例程序编译及运行体验


DirectFB和样例的源代码可以到DirectFB.org下载到目录/home/。


整个步骤依次为:


1、切换到目录/home/下,将两个包解压:


    tar -xzf DirectFB-1.3.0.tar.gz
    tar -xzf DirectFB-examples-1.2.0.tar.gz


2、安装DirectFB-1.3.0,依次输入下列命令


cd DirectFB-1.3.0


./configure


      注:如果在./configure这步出现下面的提示:


      PNG support is missing – many applications won’t work correctly!
      JPEG support is missing – many applications won’t work correctly!
      FreeType2 support is missing – many applications won’t work correctly!


        解决的方法可以参考:
            输入命令
                apt-cache search libpng
                apt-cache search libjpeg
                apt-cache search libfreetype
            依次安装找到的文件。
            例如:


                 查找关于png方面的包:apt-cache search libpng
                 安装查找的相关包    :apt-get install cl-png libglpng-dev libimage-size-ruby1.8 libpng3-dev等待。
 
 
make


make install


3、安装DirectFB-examples-1.2.0


a).vi /boot/grub/menu.lst在kernel后面加上vga=0x0317(分辨率1024*768)或者vga=788(分辨率800*600)把frambuffer启动,如:


#****************start*************#
title           Ubuntu, kernel 2.6.17-10-generic
root            (hd0,6)
kernel          /vmlinuz-2.6.17-10-generic root=/dev/sda8 ro quiet splash locale=zh_CN vga=0x0317
initrd          /initrd.img-2.6.17-10-generic
quiet
savedefault
boot
#****************stop**************#


b).updatedb #更新数据库


c).locate directfb.pc


    找到directfb.pc的路径,例如我的是这样的:


   /usr/lib/pkgconfig/directfb.pc
   /usr/lib/pkgconfig/cairo-directfb.pc
   /usr/local/lib/pkgconfig/directfb.pc
   /data/soft/DirectFB-1.1.0/directfb.pc.in
   /data/soft/DirectFB-1.1.0/directfb.pc


d).接着设置环境,将第3步得到的pkgconfig库目录加入环境之中:


export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
(这样只能在当前终端可以运行,关机后还得自已运行些命令,才能运行dfb程序,如要永久性加入可这样:
如你用的是root用户,可以vi /root/.profile中加入:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig )


e).make


f).make install


g).将指定directfb的库目录:
    vi /etc/ld.so.conf在最后一行加入:/usr/local/lib,保存退出。
    ldconfig
h).重启计算机。 如果不重启,我的机子出现下面的错误:
(*) DirectFB/Core: Single Application Core. (2007-10-22 15:48)
(!) Direct/Util: opening ‘/dev/fb0’ failed
    –> No such device
(!) DirectFB/FBDev: Error opening framebuffer device!
(!) DirectFB/FBDev: Use ‘fbdev’ option or set FRAMEBUFFER environment variable.
(!) DirectFB/Core: Could not initialize ‘system_core’ core!
    –> Initialization error!
df_andi.c <462>:
        (#) DirectFBError [DirectFBCreate( &dfb )]: Initialization error!


4、测试例子,cd DirectFB-examples-1.3.0/src/ 下,运行:


./df_andi


安装完成!


另:如果想不让你的directfb应用程序不在全屏显示,不使用fbdev引擎而改成SDL时,可以创建并修改/etc/directfbrc文件,关于此文件,稍后再给出。
上面过程中可能出现framebuffer没有启动的问题,需要在ubuntu中配置以让其启动framebuffer支持,参考以下方法
7.10默认屏蔽了framebuffer模开,所以无法在gurb参数上加vga=xxx来启用frame buffer.
解决解决方法:
首先,编辑你的 /etc/initramfs-tools/modules 文件
加入如下三行内容
fbcon
vesafb
vga16fb


最重要的一步,要把文件/etc/modprobe.d/blacklist-framebuffer里面的vesafb和vga16fb这两行给注释掉。
这样你就可以在内核后面加入vga=xxx这样的启动参数了。


最好用hwinfo –framebuffer先看一下显卡支持的vga数值
sudo hwinfo –framebuffer
引用:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.447]
Unique ID: rdCR.il6towt04X5
Hardware Class: framebuffer
Model: “Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS Intel(r) 82945GM Chipset Family Graphics Controller”
Vendor: “Intel Corporation”
Device: “Intel(r) 82945GM Chipset Family Graphics Controller”
SubVendor: “Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS”
SubDevice:
Revision: “Hardware Version 0.0”
Memory Size: 7 MB + 704 kB
Memory Range: 0xd0000000-0xd07affff (rw)
Mode 0x0305: 1024×768 (+1024), 8 bits
Mode 0x0317: 1024×768 (+2048), 16 bits
Mode 0x0318: 1024×768 (+4096), 24 bits
Mode 0x0312: 640×480 (+2560), 24 bits
Mode 0x0314: 800×600 (+1600), 16 bits
Mode 0x0315: 800×600 (+3200), 24 bits
Mode 0x0301: 640×480 (+640), 8 bits
Mode 0x0303: 800×600 (+832), 8 bits
Mode 0x0311: 640×480 (+1280), 16 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
在内核后面加入了vga=0x0317,是1024×768的16位色。


最后刷新一下
代码:
sudo update-initramfs -u
重启

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu下DirectFB的编译安装,样例程序编译及运行体验
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏