ubuntu10.04下的DirectFB安装

  根据网上查询的资料,然后结合自己安装的过程,作以记录,方便下次用到。

一 软件安装

 1.下载DirectFB与DirectFB-example
     Direct官方网站:http://www.directfb.org/

2.解压缩这两个档案
   tar -zxf DirectFB-1.6.2.tar.gz
   tar -zxf DirectFB-examples-1.6.0.tar.gz


3.安装必要的package
   如果要自行安装DirectFB,则需要autoconf与automake等工具。
   sudo apt-get installautoconf
   sudo apt-get installlibtool(autoreconf会用到)

4.安装DirectFB-1.6.2

   1) cd DirectFB-1.6.2

   2) ./configure

      a) 如果在./configure这步出现下面的提示:
           PNG support is missing - many applications won't work correctly!
           JPEG support is missing - many applications won't work correctly! 

       解决:sudo apt-cache search libpng
                   sduo apt-get install libpng12-dev

                   sudo apt-cache search libjpeg
                   sudo apt-get install libjpeg62-dev

   3) make

      a) 报错:

           libtool: Version mismatch error.  This is libtool 2.4.2 Debian-2.4.2-1ubuntu1, but the
           libtool: definition of this LT_INIT comes from libtool 2.2.6b.
           libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2 Debian-2.4.2-1ubuntu1
           libtool: and run autoconf again.

           解决:

           autoreconf --force --install
          ./configure

       b) make, 报错:

           ../../libtool: line 984: g++: command not found

          解决:sudo apt-get -y install g++

      c) make, 报错:

          libtool: link: unsupportedhardcodeproperties
          libtool: link: See the libtool documentation for more information.
          libtool: link: Fatal configuration error.

          解决:

          ./configure
          make clean
          make

5. 安装DirectFB-examples-1.6.0

    安装DirectFB-example的过程与DirectFB大致一样,这里我就不再赘述。
    我只将--enable-debug的选项打开,其它则采用它的默认值。

    cd ~/DirectFB-examples-1.6.0
    autoreconf
    ./configure--enable-debug
    make
    sudo make install 

最新的内核已经支持framebuffer,只需要启动是指定相关参数 ,比如 “vga=分辨率 ” 就可以了。具体设置方法如下:

vi/etc/default/grub 

 1、找到如下的行,GRUB_CMDLINE_LINUX="" 在里面加入楼上说的vga=**, 结果如下:

GRUB_CMDLINE_LINUX="vga=792" 

2、另外还有一行要设置一下:

GRUB_GFXMODE=1024x768 

该行原来是注释掉的,需要设置的分辨率与上面的 vga=792一致。

3、更新grub配置文件,如下

 sudoupdate-grub 

重新启动后在其他tty就可以使用framebuffer了,比如按alt+ctrl+F1 进入一号虚拟终端么,登录之。

4、另外普通用户要设置一下vedio观看的权限, 比如:

 sudochmod o+rw /dev/fb0    

5、软件需求fbi即可

sudo apt-getinstall fbi

无 论是ati显卡还是nvidia显卡,在ubuntu10.04系统上启用受限驱动 (或手动安装官方驱动),都会导致开机splash分辨率变低的问题。由于这问题在ubuntu10.04上很普遍,所以也就有很多牛人为我们提供了解决 方法,下面是我在ubuntu中文论坛上看到的(参考上面给出的三个帖子),并且亲自试验并成功解决问题的一个整理方案。

1、安装v86d和hwinfo包,下面我们要用到。

sudo apt-get install v86d hwinfo

2、查看自己显卡支持的分辨率。

sudo hwinfo --framebuffer

None 00.0: 11001 VESA Framebuffer
  [Created at bios.464]
  Unique ID: rdCR.QOJHFkjgnM2
  Hardware Class: framebuffer
  Model: "(C) 1988-2005, ATI TechnologiesInc.  M92"
  Vendor: "(C) 1988-2005, ATI TechnologiesInc. "
  Device:"M92"
  SubVendor: "ATI ATOMBIOS"
  SubDevice:
  Revision: "01.00"
  Memory Size: 16 MB
  Memory Range: 0xd0000000-0xd0ffffff (rw)
  。。。
  Mode 0x03ee: 1366x768 (+1408), 8 bits
  Mode 0x03ef: 1366x768 (+2752), 16 bits
  Mode 0x03f0: 1366x768(+5504), 24 bits
  Config Status: cfg=new, avail=yes, need=no,active=unknown

3、修改/etc /default/grub文件,使用uvesafb的framebuffer来启动。

sudo gedit /etc/default/grub

把下面的两行

GRUB_CMDLINE_LINUX_DEFAULT="quietsplash"

#GRUB_GFXMODE=640×480

修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quietsplash nomodeset video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap"

(ps:其中的nomodeset禁用内核 kms,个人见解)

GRUB_GFXMODE=1366x768

这个要根据第2步所查到的显卡所支持的最大分辨率 (当然也可以是其他支持的分辨率)来修改,注意要把前面的#去掉。

4、修改/etc/initramfs-tools/modules文件。

sudo gedit /etc/initramfs-tools/modules

添加下面这行:

uvesafb mode_option=1366x768-24 mtrr=3scroll=ywrap

(ps:这一步的修改与上一步中的第1处修改关联 一致)

5、运行下面的命令,启用 framebuffer。

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash

6、运行下面的命令,更新grub配置以及 initramfs镜像文件。

sudo update-grub
sudo update-initramfs -u

7、重启。

相 关问题及解决方法:
按照上述步骤操作后确实解决了开机splash分辨率低的问题,不过还有另外一个问题:无法正常使用虚拟控制台 (tty1-6),即切换到虚拟控制台——“黑屏”。

确实这样修改后出现登陆不了console的情况,需要添加vga=XXX参数。

其实,这个问题应该也是使用官方的闭源驱动(或受 限驱动)造成的,即不是上述的操作导致的。
相应的,上述步骤的第3步修改中添加vga=xxx参数。

GRUB_CMDLINE_LINUX_DEFAULT="quietsplash nomodeset video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap vga=792"

注意792代表的是1024×768x16M(分 辨率1024×768,颜色深度24位),可根据自己的情况设定

环境变量设置

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

vi /etc/ld.so.conf在最后一行加入:/usr/local/lib,保存退出。
    ldconfig

五 重启电脑后

    cd DirectFB-examples-1.6.0/src/ 
   ./df_andi  //成功运行企鹅的实例。


参考文章:http://blog.csdn.net/ndhui/article/details/7109806

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值