设置FreeBSD控制台分辨率

1. 建立内核配置文件graph
# cd /sys/i386/conf
# cp GENERIC graph
编辑配置文件graph,在其中加入两行:
options VESA
options SC_PIXEL_MODE
第一行选项让內核支持VESA 2,第二行让内核支持控制台图形模式。
2. 编译并安装内核
# config graph
# cd ../compile/graph
# make cleandepend
# make depend
# make
# make install

重新启动:
reboot

3. 激活高分辨率模式
用 vidcontrol -i mode|grep G 来查看支持MODE的列表,注意第一列的号码,你可能会用到,如279
用 vidcontrol MODE_279 来更改分辨率(我最高能上1280X1024,字太小了我受不了,呵呵)
如果想启动时生效,就在 /etc/rc.conf 加入 allscreens_flags="MODE_279


还有一篇 :
原文出处
按照文档一步一步来,是很简单的。主要是看man vidcontrol。

1 重新编译内核
device sc下面加一行
options SC_PIXEL_MODE
 
2 修改/boot/loader.conf
加一行
vesa_load="YES"
 
3 修改/etc/rc.conf
加4行
font8x8="cp437-8x8"
font8x14="cp437-8x14"
font8x16="cp437-8x16"
allscreens_flags="MODE_280"
 
注:MODE_280表示vesa模式下1024x768分辨率32位色彩
     系统的字体是放在 /usr/share/syscons/fonts  下面 ,可以自行设定字体
还有一篇:
    原文出处
   

内核配置

通常所说的高分辨率控制台实际上是使用 VESA 的图形模式。这种模式下内核需要自行“画”出每一个字符,而不是像在文本模式那样直接在显示缓冲区中写入字符的颜色和ASCII码。为了让内核具有绘制字符的能力,需要在配置内核时加入下面的配置:

options         SC_PIXEL_MODE

此外,可以将 VESA 支持直接静态联编进内核,以减少启动时间:

options         X86BIOS
device          vesa

引导加载器配置

FreeBSD 默认的传统 VESA 高分辨率模式是 800×600,不过在现时的显示器上,这个分辨率可能仍然偏低。使用下面的命令可以获得本机支持的显示模式:

vidcontrol -i mode < /dev/ttyv0

其输出类似下面这样:

    mode#     flags   type    size       font      window      linear buffer
------------------------------------------------------------------------------
 24 (0x018) 0x00000001 T 80x25           8x16  0xb8000 32k 32k 0x00000000 32k
 30 (0x01e) 0x00000001 T 80x50           8x8   0xb8000 32k 32k 0x00000000 32k
 32 (0x020) 0x00000001 T 80x30           8x16  0xb8000 32k 32k 0x00000000 32k
 34 (0x022) 0x00000001 T 80x60           8x8   0xb8000 32k 32k 0x00000000 32k
256 (0x100) 0x0000001f G 640x400x8 1     8x16  0xa0000 64k 64k 0xf3000000 250k
257 (0x101) 0x0000001f G 640x480x8 1     8x16  0xa0000 64k 64k 0xf3000000 300k
258 (0x102) 0x0000001b G 800x600x4 4     8x16  0xa0000 64k 64k 0x00000000 234k
259 (0x103) 0x0000001f G 800x600x8 1     8x16  0xa0000 64k 64k 0xf3000000 468k
260 (0x104) 0x0000001b G 1024x768x4 4    8x16  0xa0000 64k 64k 0x00000000 384k
261 (0x105) 0x0000001f G 1024x768x8 1    8x16  0xa0000 64k 64k 0xf3000000 768k
270 (0x10e) 0x0000001f G 320x200x16 1    8x8   0xa0000 64k 64k 0xf3000000 125k
271 (0x10f) 0x0000001f G 320x200x32 1    8x8   0xa0000 64k 64k 0xf3000000 250k
273 (0x111) 0x0000001f G 640x480x16 1    8x16  0xa0000 64k 64k 0xf3000000 600k
274 (0x112) 0x0000001f G 640x480x32 1    8x16  0xa0000 64k 64k 0xf3000000 1200k
276 (0x114) 0x0000001f G 800x600x16 1    8x16  0xa0000 64k 64k 0xf3000000 937k
277 (0x115) 0x0000001f G 800x600x32 1    8x16  0xa0000 64k 64k 0xf3000000 1875k
279 (0x117) 0x0000001f G 1024x768x16 1   8x16  0xa0000 64k 64k 0xf3000000 1536k
280 (0x118) 0x0000001f G 1024x768x32 1   8x16  0xa0000 64k 64k 0xf3000000 3072k
304 (0x130) 0x0000001f G 320x200x8 1     8x8   0xa0000 64k 64k 0xf3000000 62k
305 (0x131) 0x0000001f G 320x400x8 1     8x16  0xa0000 64k 64k 0xf3000000 125k
306 (0x132) 0x0000001f G 320x400x16 1    8x16  0xa0000 64k 64k 0xf3000000 250k
307 (0x133) 0x0000001f G 320x400x32 1    8x16  0xa0000 64k 64k 0xf3000000 500k
308 (0x134) 0x0000001f G 320x240x8 1     8x8   0xa0000 64k 64k 0xf3000000 75k
309 (0x135) 0x0000001f G 320x240x16 1    8x8   0xa0000 64k 64k 0xf3000000 150k
310 (0x136) 0x0000001f G 320x240x32 1    8x8   0xa0000 64k 64k 0xf3000000 300k
317 (0x13d) 0x0000001f G 640x400x16 1    8x16  0xa0000 64k 64k 0xf3000000 500k
318 (0x13e) 0x0000001f G 640x400x32 1    8x16  0xa0000 64k 64k 0xf3000000 1000k
352 (0x160) 0x0000001f G 1280x800x8 1    8x16  0xa0000 64k 64k 0xf3000000 1000k
353 (0x161) 0x0000001f G 1280x800x32 1   8x16  0xa0000 64k 64k 0xf3000000 4000k
354 (0x162) 0x0000001f G 768x480x8 1     8x16  0xa0000 64k 64k 0xf3000000 360k
356 (0x164) 0x0000001f G 1440x900x8 1    8x16  0xa0000 64k 64k 0xf3000000 1265k
357 (0x165) 0x0000001f G 1440x900x32 1   8x16  0xa0000 64k 64k 0xf3000000 5062k
379 (0x17b) 0x0000001f G 1280x720x32 1   8x16  0xa0000 64k 64k 0xf3000000 3600k

最左边一列是显示模式的代码。一般而言我们希望选择分辨率最高的显示模式中颜色数最少的一种模式,在这个例子中,是 1440x900x8 (256色),代码为 356。我们可以在 /boot/loader.conf 中加入下面的配置:

hint.sc.0.flags=0x0180
hint.sc.0.vesa_mode=356

这样,系统在引导到初始化系统控制台的时候,便会自动切换显示模式了。

需要注意的是,某些情况下可能需要选择分辨率最高且颜色数最多的模式。例如,当前显卡支持1024x768x8、1024x768x16、1024x768x32三种模式,若选择1024x768x8可能会导致以下两个问题:
1. 控制台下的某些”伪图形“界面程序(如sysinstall)配色不当而难以识别;
2. 从控制台进入X再退出后位深切换不当而导致屏幕变暗。
但如果选择1024x768x16或1024x768x32则不会出现以上问题。

你可能感兴趣的:(FreeBSD,控制台,分辨率)