幀緩衝裝置內部原理¶
這是關於幀緩衝裝置內部原理的一些文件的初步開始。
作者
Geert Uytterhoeven <geert@linux-m68k.org>, 1998 年 7 月 21 日
James Simmons <jsimmons@user.sf.net>, 2002 年 11 月 26 日
幀緩衝裝置 API 使用的結構體¶
以下結構體在幀緩衝裝置中發揮作用。它們定義在 <linux/fb.h> 中。
核心外部(使用者空間)
struct fb_fix_screeninfo
關於幀緩衝裝置和特定影片模式的裝置無關的不可更改的資訊。可以使用 FBIOGET_FSCREENINFO ioctl 獲取此資訊。
struct fb_var_screeninfo
關於幀緩衝裝置和特定影片模式的裝置無關的可更改的資訊。可以使用 FBIOGET_VSCREENINFO ioctl 獲取此資訊,並使用 FBIOPUT_VSCREENINFO ioctl 更新此資訊。 如果只想平移螢幕,可以使用 FBIOPAN_DISPLAY ioctl。
struct fb_cmap
裝置無關的顏色表資訊。可以使用 FBIOGETCMAP 和 FBIOPUTCMAP ioctl 獲取和設定顏色表。
核心內部
struct fb_info
關於特定幀緩衝裝置例項的通用資訊、API 和底層資訊(插槽號、板地址等)。
struct par
裝置相關的資訊,唯一地定義此特定硬體的影片模式。
幀緩衝裝置 API 使用的視覺效果¶
單色 (FB_VISUAL_MONO01 和 FB_VISUAL_MONO10)¶
每個畫素要麼是黑色,要麼是白色。
偽彩色 (FB_VISUAL_PSEUDOCOLOR 和 FB_VISUAL_STATIC_PSEUDOCOLOR)¶
整個畫素值被饋送到一個可程式設計的查詢表中,該查詢表為每個可能的畫素值都有一種顏色(包括紅色、綠色和藍色的強度),並顯示該顏色。
真彩色 (FB_VISUAL_TRUECOLOR)¶
畫素值被分解為紅色、綠色和藍色欄位。
直接彩色 (FB_VISUAL_DIRECTCOLOR)¶
畫素值被分解為紅色、綠色和藍色欄位,每個欄位都在單獨的紅色、綠色和藍色查詢表中查詢。
灰度顯示¶
灰度和靜態灰度是偽彩色和靜態偽彩色的特殊變體,其中紅色、綠色和藍色分量始終彼此相等。