2008年8月22日 星期五

Linux命令模式解析度

Linux命令模式解析度



Linux命令模式解析度

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B

彩度\解析度| 640x480 800x600 1024x768 1280x1024 bit
----------+-----------------------------------------
256 | 769 771 773 775 8 bit
32768 | 784 787 790 793 15 bit
65536 | 785 788 791 794 16 bit
16.8M | 786 789 792 795 32 bit

螢幕解析度(X) | 320 640 640 800 800 896 1024 1024 1152 1552 1280 1440 1600
螢幕解析度(Y) | 200 400 480 500 600 672 640 768 720 864 1024 900 1200
---------------+-----------------------------------------------------------------
4 bits | 770 772 774
8 bits | 768 769 879 771 815 874 773 869 353 775 864 796
15 bits | 781 801 784 880 787 816 875 790 870 354 793 865 797
16 bits (5:6:5)| 782 802 785 881 788 817 876 791 871 355 794 866 798
24 bits (8:8:8)| 783 803 786 882 789 818 877 792 872 795 867 799
32 bits (8:8:8)| 804 809 883 814 819 878 824 873 356 829 868 834

一般而言,Debian GNU/Linux 開完機後的螢幕解析度為 640x480。但現在的螢幕尺寸越做越大,若在 Console 下還是使用著 640x480 的解析度似乎並不合宜。
我們可以藉由啟用 FrameBuffer 來改變 Console 的解析度。主要的方法有二:在開機時啟用 vesafb,或在開完機後載入符合您的顯示卡的專用 framebuffer 模組。
vesafb

若要啟用 vesafb,請在開機時傳遞 vga 參數給 Kernel,這個 vga 參數將會同時指定 Console 的解析度。以 GRUB 為例,請修改 /boot/grub/menu.lst 如下:

要求 Linux 在開機時載入 vesafb 以啟用 FrameBuffer,並將螢幕解析度設定為 800x600x24bit

注意, 較舊版的 lilo 沒有支援 16 進制的 0x317 的數值, 請改用 10 進制 791


有時候有些事情一定要在純終端機下工作,
但是有一些Distribution預設沒有開啟純終端機高解析度的功能,
所以螢幕上能顯示的資訊很少,常常輸入一個ls,輸出訊息就超過螢幕的範圍。
往往要用more或Shift+Page Up/Down來看,不過還是有點不方便。
以下就是如何啟動純終端機高解析度的方法。
首先假設你已經會編譯一個可以正常啟動的核心。

以下這個指令是把Linux核心的原始碼解壓縮到/usr/src。
# tar jxvf linux-x.x.x.tar.bz2 -C /usr/src
make menuconfig的時候請把以下兩個功能編進核心裡。
-> Device Drivers
-> Graphics support
[*]VESA VGA graphics support
->Console display driver support
<*> Framebuffer Console support



再來make、安裝好新核心請參考以下表格,選擇一個你想要的解析度與色彩深度。
資料來源:/usr/src/linux-x.x.x/Documentation/fb/vesafb.txt

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


比如說1024x768 64k的代碼是0x317。
然候把『vga=0x317』寫到/boot/grub/menu.lst中,例如:
title Debian GNU/Linux
root (hd0,5)
kernel /boot/vmlinuz-2.6.16.20 root=/dev/hdc6 vga=0x317
initrd /boot/initrd.img-2.6.16.20
savedefault
boot



重新開機,用新的核心啟動試試看。
如果開機候純終端機顯示還是低的解析度(也就是說失敗了),
請把解析度與色彩深度的規格調低一點再試試看。
例如:1024x768 16M(vga=0x318)失敗了,改用1024x768 64k(vga=0x317)看看。

文章出處

搜尋此網誌