当前位置: 技术问答>linux和unix
请问各位达人frame buffer怎么配置呢?
来源: 互联网 发布时间:2015-10-20
本文导语: 我配置的不是不能启动就是编译不过。 | http://www.linuxsir.org/bbs/showthread.php?t=211427&highlight=framebuffer 写在前面的话:关于这方面的文章太多了,但还是写一个,主要是把大家的写的东西系统一下。为了照...
我配置的不是不能启动就是编译不过。
|
http://www.linuxsir.org/bbs/showthread.php?t=211427&highlight=framebuffer
写在前面的话:关于这方面的文章太多了,但还是写一个,主要是把大家的写的东西系统一下。为了照顾初学的弟兄。
提要:通过用 framebuffer 驱动,让console模式看上去更舒服一些;
正文;
在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说明文档等;
|
UP
|
不知道你加的是什么设备,而且这样的事情其实不用放在内核里面完成的。。。
可以编译成模块然后调用的。你这种情况只能说是你的设备驱动那块make没有弄好。
可以编译成模块然后调用的。你这种情况只能说是你的设备驱动那块make没有弄好。