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 即爲800*600 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也可以。