最近在做摄像头的视频采集显示与处理,需要用到Frame Buffer的图形显示。我们知道在Linux系统应用中,可以通
过对“/dev/fb0 ”操作把数据显示在屏幕上,比如摄像头的图像采集,可以通过设备名“/dev/video0“来打开摄像头,
对其操作,通过内存映射可以直接读取视频信息,然后通过对设备“/dev/fb0”的操作让图像直接显示在屏幕上。系统
中的/dev/fb0就是Frame Buffer的设备文件。
可是却很蛋疼的发现VMware虚拟机装的Linux系统一般默认都没启动这个/dev/fb0设备,装了几个版本的Linux皆木
有。乖乖奇了怪了,于是乎我准备寻究其原因。其实这时已经怀疑是虚拟机的特殊原因,因为自己的OK6410开
发板中是有/dev/fb0这个设备的,网上也有很多介绍fb0的用法,为啥我的系统就是木有呢。为了排除是不是虚拟机的
原因,我找来实验室的一个台式机,在上面装了Linux系统,经过一会儿等待安装完成,很兴奋打开终端进入/dev目
录,果然有fb0。此时也就纳闷了,平时习惯使用笔记本,那么怎么把VMware下的Linux系统中的/dev/fb0搞出来呢?
经过网上搜索,也有个别方法,但都过于复杂,最终在一个国外的Linux论坛里找到了最简单的解决办法。并在
Fedora 9、Fedora 11、Ubuntu 9.10系统均测试可行。
下面进入正题,介绍具体步骤:
Step1:
#chmod 777 /boot/grub/grub.cfg //给此路径给以最大的访问权限
Step2:
#gedit /boot/grub/grub.cfg //在grub.cfg文件中搜索splash,在其后加入 vesafb:mtrr,ywrap vga=0x***保存退出即可,重启搞定。
注:vga=0x***具体参数通过下表查找:
示意图: