最近要在Linux做基于 frame Buffer的圖形顯示,不論我在獨立分區的Linux FC6系統中,還是在裝有Red hat9的VPC中,都無法打開/dev/fb0。從網上找了很多資料,都沒能解決。經過幾天的的郁悶之後,終于解決了這個問題。先記錄如下: 1、首先确認對Frame Buffer的支援是否編譯到Linux的核心中。在安裝的Linux中,預設都會把這個支援打開編譯到核心中。但是如果自己重新編譯了核心,或者更新核心,得确認把Frame Buffer的支援編入核心,并且還要把Console display driver support編譯到核心中,還要把Logo configuration編譯到核心中。這些選項都在Device drivers下的graphics support選項下。 2、在啟動項中打開對Frame Buffer的支援。由于雖然把對Frame Buffer的支援編譯到核心中了,但是預設下是沒有打開的。故要修改/boot/grub/menu.lst檔案。在該檔案的kernel那一行後面加上vga=0xXXX,0xXXX表示的是螢幕的分辨率和色彩數。 其中vga=0x後面的數值可以從下表中查出。
色彩數 | 640 X 480 | 800X600 | 1024X768 | 1280X1024 |
256 | 0x301 | 0x303 | 0x305 | 0x307 |
32k | 0x310 | 0x313 | 0x316 | 0x319 |
64k | 0x311 | 0x314 | 0x317 | 0x31A |
16M | 0x312 | 0x315 | 0x318 | 0x31B |
kernel /vmlinuz vga=0x314 原文網址: http://blog.sina.com.cn/s/blog_4b96ca090100a5i4.html 過上述操作以後,我的虛拟機中的Linux和獨立分區裝的Linux都可以打開/dev/fb0了。最後還說一句,打開/dev/fb0是在控制台下打開,在XWindow界面下能打開,但是操作螢幕緩存區畫圖的時候,會不正确