(总结分享)分辨率和刷新频率设置

为当前最终发行版之前的所有版本提供支持
solarsun
帖子: 9
注册时间: 2007-05-13 17:18
送出感谢: 0
接收感谢: 0

(总结分享)分辨率和刷新频率设置

#1

帖子 solarsun » 2007-05-24 22:04

今天把17寸CRT换成了19寸LCD,进入ubuntu后分辨率还是原来的1024x768@75,当时设置的时候就没有上85,原来在win下能上到100Hz,当时想也没有什么影响,看着还可以,就没有弄了,75对付着。今天正好好好弄弄吧。也学习一下,找了好多帖子。最后搞定,做个终结,也希望后来的linuxsir能用的上,不用向我一个一个找帖子了。
(我的系统:Ubuntu 6.06.1 LTS,显卡:nvidia)
首先说说CRT和LCD区别吧,因他们的现象原理不同,所以对刷新频率要求也不一样,论坛有位ubuntu兄弟写了一篇帖子很好,在此引用一下:
====================================================================

在论坛看到不少关于液晶显示器的说法。

  因为xorg本身对显示器的智能支持度不够,引起过很多问题,还出现了部分用户烧毁液晶显示器的情况。

  在这些问题面前,有相当多的人传播了错误的知识:

  液晶显示器没有刷新率,液晶显示器是无所谓刷新率的等等。

  我这里还是先给结论:首先,液晶显示器是有刷新率的,其次,刷新率(或响应时间)对液晶显示器是一个重要的性能指标。

  现在我来详细地阐述一下有关理论。

  首先提第一个概念FPS,它的意思是每秒钟画面更新次数,单位是"帧/秒"。这个爱打游戏的朋友应该比较熟悉,因为游戏对这个的要求比较高,尤其是3D游戏,诸如CS、极品飞车至少得达到60FPS以上才比较正常。要想得到60帧/秒以上的速度,一是显卡要能支持,二是显示器也要能支持。目前来说,这个瓶颈一般都出现在液晶显示器上。

  下面说另一个参数:响应时间(刷新率)。响应时间25毫秒=1/0.025=每秒钟显示40帧画面(即40Hz刷新率);响应时间16毫秒=1/0.016=每秒钟显示63帧画面(即63Hz刷新率);响应时间12毫秒=1/0.012=每秒钟显示83帧画面(即83Hz刷新率)。对于一部分3D游戏来说,60Hz还不能达到理想的效果,例如CS比赛选手提出使用CRT而不用TFT的原因就在于CRT能达到100~120帧/秒,所以我们才经常看到厂家把低响应时间参数(诸如9ms、7ms)作为产品宣传重点,这是一个很重要的性能参数。

  上面的响应时间、刷新率换算是在理想状态下的。例如上面所说的12ms反应时间是针对全黑和全白画面之间切换所需要的时间,这种全白全黑画面的切换所需的驱动电压是比较高的,所以切换速度比较快,可以达到12ms;而实际应用中大多数都是灰阶画面的切换(其实质是液晶不完全扭转,不完全透光),所需的驱动电压比较低,故切换速度相对较慢,达不到83Hz刷新率,但可以达到75Hz。此外,厂家对液晶显示器还有锁刷新率的行为,如只能设置为85Hz、75Hz、60Hz等。

  据数据表明:

  反应时间30毫秒=1/0.030=每秒钟显示器能够显示33帧画面,这是已经能满足DVD播放的需要;

  反应时间25毫秒=1/0.025=每秒钟显示器能够显示40帧画面,完全满足DVD播放以及大部分游戏的需要;

  而玩那种激烈的动作游戏(如QUAKEIII/UT2003/DOMMIII)、极速追逐赛等游戏要达到毫无拖影的话,所需要的画面显示速度都要在每秒60帧以上,即需要的反应时间=1/每秒钟显示器能够显示60帧画面=16.6毫秒。

  下面稍稍提提液晶显示器闪烁的问题。其中的一个最经典的诱因是相位抖动。而引起的原因之一就是刷新率设置不正确。有少量显示器就存在60Hz抖动,75Hz不抖动的现象。

  最后想说的就是,xorg对显示器的智能识别是很不好的(和windows显示器识别比)。各位在配置的时候请参考显示器说明书对行频、场频、分辨率、刷新率进行配置,一是避免屏幕闪烁问题,二是不要浪费显示器的性能。75Hz比60Hz显示效果更好,又何必降频使用(当然,你不打游戏、不做图像设计,60Hz还是够用了)。



====================================================================
首先的确认显卡驱动装没装好,运行

代码: 全选

glxinfo | grep rendering
如果显示direct rendering: Yes,则已安装。
不然的话:
nvidia显卡驱动:

代码: 全选

sudo apt-get install nvidia-glx
sudo nvidia-glx-config enable
nvidia-settings
nvidia-xconfig
-----------------------------------------------------------

用命令来看查看显示器的相关参数
代码:

代码: 全选

sudo ddcprobe | grep monitorrange 
得到两个数值:
31-83 56-76
一个是水平扫描频率 31-83HZ

一个是垂直扫描频率 56-76HZ

-----------------------------------------------------------

/etc/X11/xorg.conf是X服务器的主要配置文件,修改它即可改变分辨率和刷新频率。

先备份,避免不测阿!


代码:

代码: 全选

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup 
恢复的命令为:

代码: 全选

sudo mv /etc/X11/xorg.conf_backup /etc/X11/xorg.conf
开始修改了
代码:

代码: 全选

gedit /etc/X11/xorg.conf
找到Section "Screen"段

添加两行到Section "Monitor"和EndSection中间,例如:

代码: 全选

Section "Monitor"
    Identifier     "BenQ FP71G"
    Option         "DPMS"
    HorizSync       31-83    (为添加行)
    VertRefresh     56-76    (为添加行)
EndSection
-----------------------------------------------------------

可是在“屏幕分辨率”窗口还是调不了刷新频率,分辨率倒是一堆。解决办法:
在Section "Screen"模块下的常用分辨率后加“_xx”(xx是你想要的刷新频率)。
还要注意一点,Section "Monitor"下的Identifier值要和Section "Screen"下的Monitor的值一致才行。一般只修改DefaultDepth值的色深后的分辨率即可,下边是例子:

代码: 全选

Section "Screen"
    Identifier     "Default Screen"
    Device         "NVIDIA Corporation NV11DDR [GeForce2 MX 100 DDR/200 DDR]"
    Monitor        "BenQ FP71G"
    DefaultDepth    24
    SubSection     "Display"
        Depth       1
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024_60"
    EndSubSection
EndSection
保存退出,重启X即可;


-----------------------------------------------------------

其他相关命令:
运行xrandr可以看到现在的分辨率和刷新频率等信息.

按住 Ctrl +Alt + Backspace 重启 X

sudo ddcprobe可以查看当前支持的分辨率和刷新频率,你也可以用gtf和sudo ddcprobe | grep monitorrange来对比查看,例如:gtf gtf 1280 1024 60

# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

看hsync和pclk后的值是否在得出的那两个数值之内即可。


-----------------------------------------------------------

如果想更改登录界面的分辨率可以把每个色深后的不用的分辨率都删掉就ok了:

-----------------------------------------------------------

如果想让ubuntu启动时屏幕的分辨率提高点(例如1024现768),变漂亮点,可以这样:

编辑文件 /boot/grub/menu.lst(同样也要先备份哦)!

代码: 全选

sudo gedit /boot/grub/menu.lst
添加 vga=792 到您的默认启动参数内。.

例如:

代码: 全选

title		Ubuntu, kernel 2.6.15-28-686
root		(hd0,11)
kernel		/boot/vmlinuz-2.6.15-28-686 root=/dev/hda12 ro quiet splash vga=792
initrd		/boot/initrd.img-2.6.15-28-686
savedefault
boot
-----------------------------------------------------------

这回换个美美的桌面壁纸,听会儿歌曲

代码: 全选

mplayer -shuffle -loop 0 `find -name *烟火*`
爽!!!!!!!!!!I Love Ubuntu Very Mach!!
上次由 solarsun 在 2007-05-26 15:32,总共编辑 2 次。
头像
xzzgd
帖子: 116
注册时间: 2006-04-30 19:49
送出感谢: 1 次
接收感谢: 0

#2

帖子 xzzgd » 2007-05-24 23:48

不错,支持,学到东西了
头像
PL7s
帖子: 377
注册时间: 2007-03-15 23:44
送出感谢: 0
接收感谢: 1 次

#3

帖子 PL7s » 2007-05-24 23:53

楼主对那篇Linux烧LCD的帖子怎么看?
For the love of PL7s
图片
图片
头像
a.s.k
帖子: 89
注册时间: 2007-05-14 16:17
来自: http://www.sglab.cn
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 a.s.k » 2007-05-26 11:14

我也碰到过类似问题,使用了和搂住差不多大的办法搞定,但是现在的问题是
1、无论如何 我的显示器 在 1440 900下的刷新律只能达到 59。60的选项不是没有,只不过一选择就死机
我的显示器是LG194WT 19寸宽屏 5ms 在win下 1440 900 60很稳定

2、每次只能有一个窗口在前台,其他都必须最小化,否则后点的窗口就会全黑
SGlab在中国的推广离不开开源……
http://www.sglab.cn
xufund
帖子: 184
注册时间: 2007-05-06 2:11
送出感谢: 0
接收感谢: 0

#5

帖子 xufund » 2007-05-26 11:57

为什么我用:
gedit /etc/X11/xorg.conf
打开的配置文件里一个字也没有?
solarsun
帖子: 9
注册时间: 2007-05-13 17:18
送出感谢: 0
接收感谢: 0

#6

帖子 solarsun » 2007-05-26 15:24

我认为那篇Linux烧LCD的帖子有些偏激了,也许是因为显示器坏掉的负面影响吧,但我不认为linux对LCD显示器有损害,高刷新频率固然不好,但短暂的并无大碍,在win下改刷新率时也要有个时间段阿,况且win只能在GUI下操作呢。我在ubuntu下(76Hz) 用了2个小时,也并无大碍。一般LCD的频率在60-75Hz,在这个范围内都是没有问题的。如果害怕,可以在TTY下修改xorg.conf文件和应用相关命令阿。总之,linux是没有错的!!

4楼的我没有遇到你一样的情况,我想你可以试一试在xorg.conf文件中改刷新频率。
only-fun
帖子: 168
注册时间: 2007-05-25 22:33
送出感谢: 0
接收感谢: 0
联系:

#7

帖子 only-fun » 2007-05-26 15:40

只能在文本界面下改吗???
绝对新手!

请多关照!
sivaj
帖子: 541
注册时间: 2007-05-19 16:36
送出感谢: 0
接收感谢: 0

#8

帖子 sivaj » 2007-06-02 16:44

按照搂住的教程修改了配置文件后还是不能调整刷新频率!
see01995
帖子: 6
注册时间: 2007-04-27 21:41
送出感谢: 0
接收感谢: 0

#9

帖子 see01995 » 2007-06-09 6:20

显示器参数查询命令使用不了!?

sun@sun-desktop:~$ sudo ddcprobe | grep monitorrange
Password:
sudo: ddcprobe: command not found
sun@sun-desktop:~$ ddcprobe | grep monitorrange
bash: ddcprobe:找不到命令
sun@sun-desktop:~$ ddc_probe
bash: ddc_probe:找不到命令
sun@sun-desktop:~$ monitorrange
bash: monitorrange:找不到命令
头像
skyx
论坛版主
帖子: 9203
注册时间: 2006-12-23 13:46
来自: Azores Islands
送出感谢: 0
接收感谢: 1 次
联系:

Re: (总结分享)分辨率和刷新频率设置

#10

帖子 skyx » 2007-06-12 20:01

solarsun 写了:Section "Monitor"
Identifier "BenQ FP71G"
Option "DPMS"
HorizSync 31-83 (为添加行)
VertRefresh 56-76 (为添加行)
EndSection
!!
我从来没有手动改过xorg.conf,家里用的是845g ,ubuntu 6.10没有另外装驱动,beryl 完全正常


自己以前用的是nvidia 显卡,安装过6.06, 6.10 7.04 ,xorg.conf我从没改过,nvida驱动安装后,sudo nvidia-xconfig,重启后lcd 完全正常,分辨率都不用单独改。



在我家里的电脑上,lcd 显示器的型号可以自动认出,能否自动认出,和显卡ddc功能有关的,如果认出了lcd ,行场频内容在xorg.conf 中没有,实践证明是可以的,跟本不会超出lcd超出的范围,
这是我老家的lcd
Section "Monitor"
Identifier "BenQ FP71G"
Option "DPMS"
EndSection
我用的maya的 lcd 是这样的,
Section "Monitor"
Identifier "LCD-MONITOR"
Option "DPMS"
EndSection

虽然没有厂商型号,但lcd 也认出来了,这和lcd 的ddc有关,win上也看不出厂商,另外这两台lcd 输出场频完全正常。

只要显卡ddc功能可以认出lcd ,845g在ubuntu的自带设定中场频也没有超过75hz的设定,

nvidia-setting 中同样不会有超过75hz的设定, 根本不会出现显卡输出超过lcd 许可的视频信号,加上正规厂商的lcd 有超出报警保护,哪里会烧什么lcd
no security measure is worth anything if an attacker has physical access to the machine
sivaj
帖子: 541
注册时间: 2007-05-19 16:36
送出感谢: 0
接收感谢: 0

#11

帖子 sivaj » 2007-06-17 6:54

我的glxinfo | grep rendering 结果是direct rendering:no
intel集成显卡
但是很多游戏都可以玩啊,比如雷电 还有那个nexuiz,但是secondlife不行,提示说创建窗口错误,readme中说这样的错误信息可能与显卡有关, 是什么问题呢
上次由 sivaj 在 2007-10-20 23:45,总共编辑 1 次。
BillyChow
帖子: 42
注册时间: 2007-06-12 17:49
送出感谢: 0
接收感谢: 1 次

#12

帖子 BillyChow » 2007-06-17 12:44

感谢楼主, 我的刷新率问题已经解决.
windance無风
帖子: 22
注册时间: 2007-08-17 15:01
送出感谢: 0
接收感谢: 0

#13

帖子 windance無风 » 2007-08-17 21:43

好啊......好
chillminglao
帖子: 17
注册时间: 2007-08-30 10:20
送出感谢: 0
接收感谢: 0

#14

帖子 chillminglao » 2007-09-06 23:23

see01995 写了:显示器参数查询命令使用不了!?

sun@sun-desktop:~$ sudo ddcprobe | grep monitorrange
Password:
sudo: ddcprobe: command not found
sun@sun-desktop:~$ ddcprobe | grep monitorrange
bash: ddcprobe:找不到命令
sun@sun-desktop:~$ ddc_probe
bash: ddc_probe:找不到命令
sun@sun-desktop:~$ monitorrange
bash: monitorrange:找不到命令
我的也使用不了。为什么呢?有人知道吗?
chillminglao
帖子: 17
注册时间: 2007-08-30 10:20
送出感谢: 0
接收感谢: 0

#15

帖子 chillminglao » 2007-09-06 23:32

居然没有人说楼主打错字,看来像我这样看到最后的人没几个。
应该是i love ubuntu very much.不知楼主过了四级没?小弟我过了六级了。 :lol: :lol:
回复

回到 “老旧版本支持”