现在的位置: 首页 > 综合 > 正文

转贴 关于用 framebuffer 驱动,在console 模式下的分辨率的参数及配置

2013年08月10日 ⁄ 综合 ⁄ 共 2979字 ⁄ 字号 评论关闭
在console模式(也就上文本显示,也是text模式),说直接一点,就是全屏是黑色的,象DOS那样的界面的,在桌面环境下,按CTRL+ALT+F2 或者F3 等,就进入console模式了。就是完全文本命令操作的那种非图形桌面环境。

用 framebuffer 驱动及配置,主要是能让text模式下找到更适合的观感。

一、让console 模式下分辨率起作用的主要配置文件是 lilo.conf 或者 grub.conf , lilo.conf 是lilo系统引导管理器的配置文件,如果您用这个来引导系统,就要配置 lilo.conf文件;grub.conf 是另一个系统引导管理器grub的配置文件。这两个系统引导管理器,其作用是一样的,只是实现的方法不太一样。这两个管理器不能同时使用。

二、framebuffer console的参数如下,主要是分辨率;

# Colours 640x480 800x600 1024x768 1280x1024 1600x1200
# --------+---------------------------------------------
# 256 | 769 771 773 775 796
# 32,768 | 784 787 790 793 797
# 65,536 | 785 788 791 794 798
# 16.8M | 786 789 792 795 799

如果看不懂上面的这个,就看下面的这个,对照着看吧

# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769

三、配置[对于大多数Linux发行版,如果您是用系统自带的内核,内核是支持 framebuffer 驱动的。您可以用直接用下面的方法来做]

1.对于grub系统引导管理器的配置方法;

如果您用 grub来引导,要修改 /etc/grub.conf 或者 /boot/grub/menu.lst ,其实这两个文件都是一样的,因为 grub.conf 是 menu.lst的链接。

比如我没有修改过的grub.conf 是这样的:

说明一下:我的机器目前安装了三个操作系统,一个是xp 另一个是Fedora core 4.0 ,还有一个是 Slackware 10.1

代码:
default=1 timeout=5 splashimage=(hd0,7)/boot/grub/splash.xpm.gz #hiddenmenu title Fedora Core (2.6.11-1.1369_FC4) root (hd0,7) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet initrd /boot/initrd-2.6.11-1.1369_FC4.img title Slack root (hd0,8) kernel /boot/vmlinuz ro root=/dev/hda9 title WinXp rootnoverify (hd0,0) chainloader +1

我们要参照上面的参数表,对照看着在您要改变的 Linux 的 console分辨率的那个 kernel 一行的后面加上 vga=xxx ,这里的 xxx,就是通过上面的参数表中查出来的。

比如我是 15寸的液晶显示器,我看看一下 1024x768x256是不是适合,所以我就在 kernel 那行的后面打一个空格后,加上了 vga=773

代码:
default=1 timeout=5 splashimage=(hd0,7)/boot/grub/splash.xpm.gz #hiddenmenu title Fedora Core (2.6.11-1.1369_FC4) root (hd0,7) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet vga=773 initrd /boot/initrd-2.6.11-1.1369_FC4.img title Slack root (hd0,8) kernel /boot/vmlinuz ro root=/dev/hda9 vga=773 title WinXp rootnoverify (hd0,0) chainloader +1

这样改过保存后,重启系统,进入相应的 Linux ,就知道是不是起作用了。比如发现 vga=773对我来说有点不适合。可以再找上面的参数来改一下就行了。

2.对于 lilo引导管理器的配置方法;

我们要改 /etc/lilo.conf这个文件 ;lilo的配置比较简单,因为vga=xxx是独立的一行。并且lilo.conf中有详细的配置参数,也就是我上面列出的那些,就是来自 lilo.conf的。想打开哪个参数,就把vga=xxx前面的#号去掉就行,当然不能同时打开多个。

注意的是:如果改了lilo.conf后,得执行 lilo -v

四、对于自编译内核的,需要注意以下几点。

1.在编内核时,要选中如下的选项;以加入 framebuffer 驱动的支持;
[*] VGA text console[*] Video mode selection support[*] Support for frame buffer devices (EXPERIMENTAL)[*] VESA VGA graphics console[*] Advanced low level driver options
<*> 8 bpp packed pixels support
<*> 16 bpp packed pixels support
<*> 24 bpp packed pixels support
<*> 32 bpp packed pixels support
<*> VGA characters/attributes support[*] Select compiled-in fonts[*] VGA 8x8 font[*] VGA 8x16 font

2,我们还要知道自己所用的显示卡,也有 framebuffer的驱动,所以也要一并选中,比如
<*> nVidia Framebuffer Support
<*> ATI Radeon display support

在查看内核选项是,用 shift键+?号的组合键,就能看到详细情况;

后记:我对 framebuffer原理不明白,以我的水平也根本懂不了;我写的东西可能在句法中不通或者说是一点也不对。我只能以我应用的来说明,仅此而已;一切都是为了应用;

请弟兄们补充和订正,谢谢~

参考资料:
lilo说明文档,内核说明文档;grub说明文档等;
 

抱歉!评论已关闭.