Framebuffer的配置及應用
阿新 • • 發佈:2019-02-13
藉助於framebuffer,我們能夠在console下面作很多事情。首先下載framebuffer的配置工具fbset:
# apt-get install fbset 下載完畢後,配置檔案/etc/fb.modes隨之產生。
比較簡單的作法是用萬能的vesafb,如果它被編譯進了核心,如:
Device Drivers -> Graphics support -> VESA VGA graphics support
那麼在grub核心引導那一行的後面加上vga=791 它的含義是VESA framebuffer console @ 1024x768x64k,進入系統後可以直接使用framebuffer,看一下這種情況下的各項資料:
# fbset -s
mode "1024x768-76"
# D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
geometry 1024 768 1024 768 16
timings 12714 128 32 16 4 128 4
rgba 5/11,6/5,5/0,0/0
endmode
用具體顯示卡的framebuffer驅動是另一種選擇,拿Nvidia顯示卡為例,Nvidia顯示卡的xorg驅動模組與其framebuffer的驅動模組是互相排斥的,如果要用一個就必須清除另一個:
# rmmod nvidia
裝載nvidia的framebuffer驅動:
# modprobe nvidiafb
裝載成功的時候,會產生/dev/fb0裝置,console螢幕上的字型會有變化。
看一下當前的配置:
# fbset -s
mode "1024x768-85"
# D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
geometry 1024 768 1024 32767 8
timings 10582 208 48 36 1 96 3
hsync high
vsync high
accel true
rgba 8/0,8/0,8/0,0/0
endmode
需要改變一下geometry及色深:
# fbset -g 1024 768 1024 768 32
# fbset -s
mode "1024x768-85"
# D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
geometry 1024 768 1024 768 32
timings 10582 208 48 36 1 96 3
hsync high
vsync high
accel true
rgba 8/16,8/8,8/0,8/24
endmode
我們把它與使用VESA ramebuffer後的資料比較一下,顯然,根據具體的顯示卡來驅動framebuffer可以在顏色上達到最佳值,好,現在我們在console下面能夠作的事情:
一、視訊播放,可以用mplayer 或者 fbxine:
# mplayer -vo fbdev -vf scale=1024:768 video_file.avi
-vo fbdev 是告訴mplayer用framebuffer作視訊驅動.
-vf scale=1024:768 是全屏的方法,可按螢幕的具體情況作調整
用fbxine的話需要下載:
# apt-get install xine-console
二、圖片檔案與pdf檔案瀏覽:
# apt-get install fbi
用這個軟體包裡的fbi可以瀏覽圖片,fbgs可以觀看pdf檔案:
# fbi -a *jpg
# fbgs -c *pdf
三、中文顯示:
# apt-get install jfbterm
# jfbterm
中文顯示的效果完美。
# apt-get install fbset 下載完畢後,配置檔案/etc/fb.modes隨之產生。
比較簡單的作法是用萬能的vesafb,如果它被編譯進了核心,如:
Device Drivers -> Graphics support -> VESA VGA graphics support
那麼在grub核心引導那一行的後面加上vga=791 它的含義是VESA framebuffer console @ 1024x768x64k,進入系統後可以直接使用framebuffer,看一下這種情況下的各項資料:
# fbset -s
mode "1024x768-76"
# D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
geometry 1024 768 1024 768 16
timings 12714 128 32 16 4 128 4
rgba 5/11,6/5,5/0,0/0
endmode
用具體顯示卡的framebuffer驅動是另一種選擇,拿Nvidia顯示卡為例,Nvidia顯示卡的xorg驅動模組與其framebuffer的驅動模組是互相排斥的,如果要用一個就必須清除另一個:
# rmmod nvidia
裝載nvidia的framebuffer驅動:
# modprobe nvidiafb
裝載成功的時候,會產生/dev/fb0裝置,console螢幕上的字型會有變化。
看一下當前的配置:
# fbset -s
mode "1024x768-85"
# D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
geometry 1024 768 1024 32767 8
timings 10582 208 48 36 1 96 3
hsync high
vsync high
accel true
rgba 8/0,8/0,8/0,0/0
endmode
需要改變一下geometry及色深:
# fbset -g 1024 768 1024 768 32
# fbset -s
mode "1024x768-85"
# D: 94.500 MHz, H: 68.677 kHz, V: 84.997 Hz
geometry 1024 768 1024 768 32
timings 10582 208 48 36 1 96 3
hsync high
vsync high
accel true
rgba 8/16,8/8,8/0,8/24
endmode
我們把它與使用VESA ramebuffer後的資料比較一下,顯然,根據具體的顯示卡來驅動framebuffer可以在顏色上達到最佳值,好,現在我們在console下面能夠作的事情:
一、視訊播放,可以用mplayer 或者 fbxine:
# mplayer -vo fbdev -vf scale=1024:768 video_file.avi
-vo fbdev 是告訴mplayer用framebuffer作視訊驅動.
-vf scale=1024:768 是全屏的方法,可按螢幕的具體情況作調整
用fbxine的話需要下載:
# apt-get install xine-console
二、圖片檔案與pdf檔案瀏覽:
# apt-get install fbi
用這個軟體包裡的fbi可以瀏覽圖片,fbgs可以觀看pdf檔案:
# fbi -a *jpg
# fbgs -c *pdf
三、中文顯示:
# apt-get install jfbterm
# jfbterm
中文顯示的效果完美。