ubuntu下启用FrameBuffer模块

 

Ubuntu安装好后,想用DirectFB进行程序设计,发现没有/etc下并没有fb0 设备,如何添加这个设备,Google了很多资料都不行,终于找到下面这个资料,成功的添加上了fb0 fb1

 

1.  编辑 /etc/initramfs-tools/modules,在其中加入:

fbcon

vesafb

vga16fb

 

2. 编辑 /etc/modprobe.d/blacklist-framebuffer,注释掉以下两行:

blacklist vesafb

blacklist vga16fb

 

3. 修改/boot/grub/ 内的menu.lst ,找到类似如下几行代码,在kernel一行结尾加入fb分辨率参数:

(从9.10起换grub了,配置文件是grub.cfg,教程:viewtopic.php?f=139&t=225669&p=1448778#p1448778 )

(执行sudo update-grub后会在/boot/grub下生成menu.lst)

例如:

title        Ubuntu 8.10, kernel 2.6.27-9-generic

uuid        328eed5f-0f89-41b8-b021-730ae3f167d1

kernel        /boot/vmlinuz-2.6.27-9-generic root=UUID=328eed5f-0f89-41b8-b021-730ae3f167d1 ro quiet splash vga=0x314

initrd        /boot/initrd.img-2.6.27-9-generic

quiet

 

注:vga=0×314 即为800600 16

终端的分辨率可以用fbset设置。

可以用 sudo hwinfo --framebuffer 查看显卡/显示器支持的分辨率和颜色深度

       |640x480 800x600 1024x768 1280x1024

----+-------------------------------------

256 | 0x301  0x303   0x305    0x307

32k | 0x310  0x313   0x316    0x319

64k | 0x311  0x314   0x317    0x31A

16M | 0x312  0x315   0x318    0x31B

 

4. 刷新并重新启动

sudo update-initramfs -u

 

5.如何判断buffer是否启用

首先确认内核是否支持 buffer ,查看 /proc/fb 文件是否存在,存在则说明支持,否则,说明不支持。其次查看 buffer 设备是否已激活,若 /dev/fb0 文件存在,则说明已经激活;否则说明没有激活。

 

6.安装zhcon显示中文

如果源里有该软件可以直接终端输入下面命令安装:

sudo apt-get install zhcon

启动zhcon

zhcon --utf8 --drv=fb

 

附:在控制台下播放电影

mplayer abc.mov -vo fbdev

视频输出用fbdev2也可以。

你可能感兴趣的:(Linux,嵌入式)