framebuffer的配置方法

来源:互联网 发布:mac 播放器 编辑:程序博客网 时间:2024/05/18 01:21

在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说明文档等;

原创粉丝点击