关于Linux操作系统下显示模式刷新率的问题
http://tech.ddvip.com 2007年07月04日 社区交流
内容摘要:在XFree86下,需要一个modeline的概念,虽然通过配置 HorizSync ,和VertRefresh能让XFree86自动把刷新搞定,可是还是不可能细细调整,比如我显示器在800x600下可以上到108Hz可是,XFree86的自动配置却只有85Hz.
经常在bbs上看到有新手问到刷新率怎么改法,其实很简单.
在XFree86下,需要一个modeline的概念,虽然通过配置 HorizSync ,和VertRefresh能让XFree86自动把刷新搞定,可是还是不可能细细调整,比如我显示器在800x600下可以上到108Hz可是,XFree86的自动配置却只有85Hz.
于是,你需要在给你的XF86Config-4文件的Monitor Section加上一条象
ModeLine "800x600@102" 73.61 800 832 1104 1136 600 610 620 631
的ModeLine参数,来告诉X你显示器有这么一个模式.具体的数字,每台现实器都不一样b,不过大多显示器只给了Horizontal Sync Rate 和Refresh Rate(中文好象是行频和场频)两个参数,自己换算的话麻烦死,还好有这样一个页面 http://xtiming.sourceforge.net/cgi-bin/xtiming.pl,你把你所要的设置填好(dotclock不知道的可以不填),可以帮你作好换算.注意别太贪心,会烧掉你的Monitor的
OK,X下的Refresh解决了,到FrameBuffer了,我只说说vesa模式的其他的也差不多.FrameBuffer和X用的参数又不一样了(真麻烦)不过还在(Linux Kernel Code Path)/Docmentation/fb/framebuffer.txt有个转化的公式,不下面的数值算出来.
pixclock left_margin right_margin hsync_len upper_margin lower_margin
vsync_len
然后,用那些数字去改(Linux Kernel Code Path)/drivers/video/vesafb.c
先是又这样一个struct:
static struct fb_var_screeninfo vesafb_defined __initdata = {
.activate = FB_ACTIVATE_NOW,
.height = -1,
.width = -1,
.right_margin = 32,
.upper_margin = 16,
.lower_margin = 4,
.vsync_len = 4,
.vmode = FB_VMODE_NONINTERLACED,
};然后是:
vesafb_defined.pixclock = 10000000 / vesafb_defined.xres * 1000 / vesafb_defined.yres;
vesafb_defined.left_margin = (vesafb_defined.xres / 8) & 0xf8;
vesafb_defined.hsync_len = (vesafb_defined.xres / 8) & 0xf8;的几行.
对应的相应的变量把他们改了(建议原来的注释掉),当然要在编译一下kernel. Reboot,haha,all ok now.
责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……