最近因為看一下Display 所以碰巧看到這部分。Linux為了讓使用者方便使用螢幕畫面,所以將 Frame Buffer抽象化了出來。讓原本應該是由驅動程式去管理的Frame buffer能簡單的使用。
使用者不需要管底層驅動程式如何控制、更新螢幕。只需要知道在這塊記憶體上填上自己需要的圖案,就會顯示在畫面上。夠簡單吧!!
大致上的流程是:
1. 打開一個Frame Buffer 裝置
2. 用mmap將實體的Frame Buffer轉換成虛擬可以直接讀寫的記憶體
3. 直接改寫上面的記憶體位置即可
當然有更簡單的方式可以使用:
cp /dev/fb* temp (將目前畫面烤貝到temp這個檔案)
cp temp /dev/fb* (將temp這個檔案顯示在畫面上)
基本上這個部份的改動幅度沒有辦法很大,大部份的事情都已經被kernel給完成。
想要修改什麼顯示上的規則或是方法,請進入kernel去修改驅動程式或是相關軟體。
參考網頁:
http://en.wikipedia.org/wiki/Linux_framebuffer
http://doc.linuxpk.com/3787.html
沒有留言:
張貼留言