Fedora8 配置 framebuffer

通过用   framebuffer   驱动,让console模式看上去更舒服一些;

 

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

 

在fedora8上,framebuffer默认是不开启的,需要在启动时开启。方法是修改lilo或者grub配置文件。

 

fedora8 默认的引导程序是grub,修改时需要修改 /etc/grub.conf   或者   /boot/grub/menu.lst   ,其实这两个文件都是一样的,因为   grub.conf   是   menu.lst的链接。修改需要root权限。

 
  下面是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  

 


更多的:

hwinfo --framebuffer | grep Mode
Model: "NVIDIA GW-P/N@PM898486GTQ14P:0"
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Mode 0x0345: 1600x1200 (+1600), 8 bits
Mode 0x0346: 1600x1200 (+3200), 16 bits
Mode 0x0347: 1400x1050 (+1400), 8 bits
Mode 0x0348: 1400x1050 (+2800), 16 bits
Mode 0x0349: 1400x1050 (+5600), 24 bits
Mode 0x034a: 1600x1200 (+6400), 24 bits
Mode 0x0352: 2048x1536 (+8192), 24 bits
Mode 0x0360: 1280x800 (+1280), 8 bits
Mode 0x0361: 1280x800 (+5120), 24 bits
Mode 0x0362: 768x480 (+768), 8 bits
Mode 0x0364: 1440x900 (+1440), 8 bits
Mode 0x0365: 1440x900 (+5760), 24 bits
Mode 0x0368: 1680x1050 (+1680), 8 bits
Mode 0x0369: 1680x1050 (+6720), 24 bits
Mode 0x037c: 1920x1200 (+1920), 8 bits
Mode 0x037d: 1920x1200 (+7680), 24 bits

 

色彩640x400640x480800x6001024x7681280x10241600x1200
4bits??0x302???
8bits0x3000x3010x3030x3050x3070x31C
15bits?0x3100x3130x3160x3190x31D
16bits?0x3110x3140x3170x31A0x31E
24bits?0x3120x3150x3180x31B0x31F
32bits??????

 

 

[对于大多数Linux发行版,如果您是用系统自带的内核,内核是支持   framebuffer   驱动的。可以用直接用下面的方法来做]  
   
  1.对于grub系统引导管理器的配置方法;  
   
  如果您用   grub来引导,要修改   /etc/grub.conf   或者   /boot/grub/menu.lst  。
   
  比如我没有修改过的grub.conf   是这样的:  
   
 说明一下:我的机器目前安装了2个操作系统,一个是xp   另一个是Fedora8 
   
  代码:  
   
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,7)
#          kernel /vmlinuz-version ro root=/dev/sda10
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,7)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
        root (hd0,7)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.23.1-42.fc8.img
title WIN
        rootnoverify (hd0,0)
        chainloader +1

  我们要参照上面的参数表,对照看着在您要改变的   Linux   的   console分辨率的那个   kernel   一行的后面加上   vga=xxx   ,这里的   xxx,就是通过上面的参数表中查出来的。  
   
  比如我是   15寸的液晶显示器,我看看一下   1024x768,24bit是不是适合,所以我就在   kernel   那行的后面打一个空格后,加上了   vga=0x318(这里0x表示16进制,换算成10进制是3*16^2+16+8=792)。虽然我的显式器是高分屏,标准分辨率1400*1050,选择上面的参数完全可以。

另外,如果分辨率选正确,而颜色选的较小,例如16bit,控制台播放电影或者观看图片时会出现类似花屏的失真,主要因为颜色较少(色深不够)。

 


修改后的代码如下:

 

  代码:  
   
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,7)
#          kernel /vmlinuz-version ro root=/dev/sda10
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,7)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
        root (hd0,7)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet vga=0x0318
        initrd /initrd-2.6.23.1-42.fc8.img
title WIN
        rootnoverify (hd0,0)
        chainloader +1
  
  这样改过保存后,重启系统,进入相应的   Linux   ,就知道是不是起作用了。比如发现   vga=0x0318对我来说有点不适合。可以再找上面的参数来改一下就行了。  


以下部分本人并未实践,从网上抄来:

 
  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原理不明白,以我的水平也根本懂不了;我写的东西可能在句法中不通或者说是一点也不对。我只能以我应用的来说明,仅此而已;一切都是为了应用;  
   
  请弟兄们补充和订正,谢谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值