当前位置: 技术问答>linux和unix
在X下怎么设置显卡的刷新频率?
来源: 互联网 发布时间:2015-01-10
本文导语: 在X下怎么设置显卡的刷新频率? | 用 Xconfigurator设置 详细如下: 2. 显示模式 显示模式包括分辨率, 扫描频率, 色深等等. 这也是网友在显示方面提问最多的 一个问题. 对于现在的显示卡...
在X下怎么设置显卡的刷新频率?
|
用 Xconfigurator设置
详细如下:
2. 显示模式
显示模式包括分辨率, 扫描频率, 色深等等. 这也是网友在显示方面提问最多的 一个问题. 对于现在的显示卡和显示器, 一般都可以使用 1024 x 768 x 16 bit 色的 显示模式. 当然保险起见, 在使用下面所叙述的方法设置您所使用的显示模式的时候, 请确定您的显示卡和显示器能够达到该模式的要求, 否则可能会有损坏硬件的危险.
在各发行版本中, 都会提供一些设置 X Window 的工具软件, 如 Xconfigurator, XF86Setup, XF86Config 等等, 这些程序无一例外的是提供了一个修改 X Window 的 配置文件 XF86Config 的简便方法. 当然使用起来比较方便, 但是对于一些需要灵活 调整的场合就不是非常适合, 需要手动调整配置文件中的参数达到最好效果. 您不必 一定这样做, 这里只是介绍这样一种方法, 使您可以在有疑问的时候方便地解决.
一般这个文件是存在于 /usr/X11R6/lib/X11/ 目录下, 在 /etc 或者 /etc/X11 目录中有它的一个符号连接. 它是一个文本文件, 可以使用 vi 对它进行修改. 下面 对该文件中各部分的作用做个详细的介绍. (如有遗漏, 欢迎提出)
在这个文件中有这样几个概念: 段 (Section) 和子段 (Subsection). 每个段或
子段分别给出了不同的参数, 格式分别为:
Section
......
Endsection
Section
Subsection
......
Endsubsection
Endsection
一个完整的配置文件中包含六个段, 分别是 File (文件), SeverFlag (服务器特 殊标志), Keyboard (键盘), Pointer (指示设备, 一般是鼠标), Monitor (监视器), Device (显示适配器, 即显卡), Screen (屏幕设置信息).
File 段: 这一段指示出一些运行 X Window 所需要的文件的位置, 比如颜色的别
名文件 rgb.txt (注意这里是不需要写出该文件的扩展名), 比如:
RgbPath "/usr/X11R6/lib/X11/rgb"
如果您看过 /usr/X11R6/lib/X11/rgb.txt 的内容, 你会很容易的知道它是 干什么用的. 有了它, 你可以使用 red1 代表 RGB 颜色值 255 0 0 等等.
接下来是字体文件的路径, 这里的设置将影响到中文字体的输出. 这里对路
径的设置可以是多个, 例如下面的这样:
FontPath "unix/:-1"
FontPath "/usr/share/zhfont/X11:unscaled"
FontPath "/usr/share/zhfont/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/chinese"
FontPath "/usr/X11R6/lib/X11/fonts/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
在使用一个字体目录之前, 需要使用 mkfontdir 命令把一条路径中的字体
作个列表, 在该目录中生成 font.dir 作为对字体的索引, 如:
mkfontdir /usr/X11Ry/lib/X11/fonts/100dpi
具体该命令的用法, 请使用 man 命令查看其 man page (手册页), 或者会
在本文档的后续版本中提供详细的说明.
ServerFlag 段: 这个段指明了一些具体的参数, 如下:
NoTrapSignals 这个标志将使调试信号对 X Server 不起作用. 调试信 号会使 X Server "转储核心", 把内存中有关的 X Server 的信息存储 到硬盘上, 即所谓的 "Core dump". 这样的目的是便于对 X Server 进 行调试.
DontZap 这个标志将使 X Server 收到 "Ctrl + Alt + Back Space" 键 组合发出的信号时 *不* 停止工作. 当然一般是不建议使用的.
DontZoom 这个标志使 X Window 不能在各种图形模式之间进行切换. X Window 的缺省状态是在用户设定了多组分辨率, 刷新频率和颜色的组 合的情况下, 运行 X Window 的过程中可以通过 Ctrl + '+' 和 Ctrl + '-' 两组键的组合在多个图形模式之间进行动态切换.
Keyboard 段: 这个段指明了 X Window 环境中所使用的键盘映射以及其他一些参
数. 如下是作者的键盘配置:
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5 # 指定延迟 (delay) 和 速率 (rate)
# 这里的设定分别为 500 和 0
LeftAlt Meta
RightAlt Meta # 使用左右 Alt 键作 Meta 键.
# 关于 Meta 键, 希望以后能够补充完整
ScrollLock Compose
RightCtl Control
XkbKeycodes "xfree86"
XkbTypes "default"
XkbCompat "default"
XkbSymbols "us(pc101)"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "us"
EndSection
这段设置出了 XkbLayout 会影响键盘各按键的表现以外, 其他都只是一些功
能上的设置, 没有太大影响. 在控制台模式下, 可以通过 Alt + F? 在各虚
拟终端间进行切换, 在 X Widow 环境下, 必须使用 Ctrl + Alt + F? 才能
够达到这一效果.
对于本段以及下面的 Pointer 段, 由于本人经验和所知的限制不能完整地讲
述, 会在不久以后作进一步补充. 并在此向各位表示歉意.
Pointer 段: 如前所述, 这个段是设置鼠标等设备的. 如下举例是作者的鼠标设
置:
Section "Pointer"
Protocol "PS/2"
Device "/dev/mouse"
# 下面这两个参数是一些采用磁技术的鼠标所需要的, 一般注释掉或者删除
# BaudRate 9600
# SampleRate 150
# 下面的两个参数是为方便使用双键鼠标的用户使用三键鼠标而设置的
# 当选择了虚拟三键的时候, 可以通过同时点击鼠标左右键完成中键的功能
Emulate3Buttons
Emulate3Timeout 50
# 下面这个参数也是为磁金属鼠标所设定的
# ChordMiddle
EndSection
Mornitor 段: 这个段的设置需要参考显示器的用户手册, 以便获得相关的数据,
防止损坏显示器. 这个段是我改动最多的, 现举例描述如下:
Section "Monitor"
Identifier "Samsung SyncMaster 500s/500Ms"
# 监视器标示符, 在下面 Screen 段用作标示
# 这个参数的设置对显示器的模式没有直接影响, 只要保证跟后面
# Screen 段的引用保持一致
VendorName "Unknown"
# 生产厂家的名称
ModelName "Unknown"
# 制造和型号的标示, 并不重要
# 在使用 Xconfigurator 的时候, 如果不提供上述值, 则填写
# "Unknown"
# 下面这两个参数在设置显示模式上来书哦是比较重要的.
# HorizSync 是水平扫描频率, kHz 为单位.
HorizSync 50-60
# VertRefresh 是垂直扫描频率, Hz 为单位
VertRefresh 80-100
# 上面这两个参数可以是列举的形式, 也可以是范围的形式.
# 比如: 列举: 75 85 100
# 范围: 如上所述
# 接下来是模式的描述了, 如果您使用的是 TurboLinux 或者是
# RedHat Linux, 下面的模式列表将会非常的完整. 但 Slackware
# 没有提供完整的列表, 这些数据可以在显示器的说明书上见到.
# 为节省空间, 这里仅列举一条
# 800x600 @ 85 Hz, 55.84 kHz hsync
Modeline "800x600" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync
# 或者写成以下形式, 为 Slackware 采用
# Mode "800x600"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode
Endsection
这里来讲讲上面的 ModeLine 的涵义. 就象第二种形式所描述的那样, 这些 参数是使用 "800x600x85Hz" 模式所需要的. 要设置显示为这种模式, 首先 要保证水平扫描频率和垂直扫描频率要配合好, 即 VertRefresh 的范围或列 举值中要包括 85 Hz, 而 HorizSync 的值需要包括 55.84 kHz. 这些都可以 通过手工调整. 然后需要看看打点频率. 有些显示器有这个参数提供, 而另 外一些可能检测不到, 这时需要查看手册. 打点频率的值可以不提供, 这点 在下面会有讲述.
注意, 这里的 "800x600" 就是这种模式的标示. 等到下面谈到模式的设置顺
序就会清楚 X Window 是如何设置的了.
Device 段: 这里主要记录了显卡的数据, 如下可以看到, 很简单, 只有显存的大 小和显卡的时钟频率. 这个时钟频率是用来产生视频信号, 而显示器的扫描 频率也是根据这个信号产生的. 所以不要为了追求高分辨率和高刷新频率把 它调得太高, 否则可能会损伤显示器. 一般在显示器的说明书上会有这个值, 如果没有, 建议不要超过 50.
Section "Device"
Identifier "Generic VGA"
VendorName "Unknown"
BoardName "Unknown"
Chipset "generic"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
注意: 上面所说的两个段都可以对多个设备进行描述, 系统会用 Identifier 的值区分不同的设备.
Screen 段: X Window 的显示模式的选择就是记录在这个段中的. 如果是 RedHat 则会有所有四种 (Mono, VGA16, SVGA, Accelerate) X Server 的段, 如果 是 Slackware, 则可能会只有一个段, 就是对应安装系统的时候指定的显示 设备的.
下面以我使用的 accel X Server 说说各字段的涵义.
Section "Screen"
Driver "accel"
# 这个不用解释了吧, 是 Permedia II 显卡, 所以使用加速的驱动 # 这里的可能值是"vga2", "vga16", "svga", "accel", 根据自己 # 的实际情况设定. 这里跟 前面讲 X Server 时所说的 X 的连接 # 目标有关系, 我想这不难连接吧.
Device "3DLabs|Permedia II 2D+3D"
# 上面制定的显卡配制, 用 "3DLabs|Permedia II 2D+3D" 作为
# Identifier 的. 当然我可以使用自己喜欢的名字, 实际这里只是
# 个标记的作用
Monitor "Samsung SyncMaster 500s/500Ms"
# 这里的解释同 Device, 也是使用上面的 Identifier 的设定值
Subsection "Display"
# 显示子段, 可以有多个, 分别对应不同的色深, 即下面的 Depth
Depth 16
Modes "800x600"
# 所取的显示模式 这个值就是根据前面的 ModeLine 上面
# 的注释写的, 可以有多个, 用空格分开
# 这里需要说明的是, X Server 先检查这里的分辨率设置,
# 然后根据这个设置和上面标示的垂直和水平刷新频率
详细如下:
2. 显示模式
显示模式包括分辨率, 扫描频率, 色深等等. 这也是网友在显示方面提问最多的 一个问题. 对于现在的显示卡和显示器, 一般都可以使用 1024 x 768 x 16 bit 色的 显示模式. 当然保险起见, 在使用下面所叙述的方法设置您所使用的显示模式的时候, 请确定您的显示卡和显示器能够达到该模式的要求, 否则可能会有损坏硬件的危险.
在各发行版本中, 都会提供一些设置 X Window 的工具软件, 如 Xconfigurator, XF86Setup, XF86Config 等等, 这些程序无一例外的是提供了一个修改 X Window 的 配置文件 XF86Config 的简便方法. 当然使用起来比较方便, 但是对于一些需要灵活 调整的场合就不是非常适合, 需要手动调整配置文件中的参数达到最好效果. 您不必 一定这样做, 这里只是介绍这样一种方法, 使您可以在有疑问的时候方便地解决.
一般这个文件是存在于 /usr/X11R6/lib/X11/ 目录下, 在 /etc 或者 /etc/X11 目录中有它的一个符号连接. 它是一个文本文件, 可以使用 vi 对它进行修改. 下面 对该文件中各部分的作用做个详细的介绍. (如有遗漏, 欢迎提出)
在这个文件中有这样几个概念: 段 (Section) 和子段 (Subsection). 每个段或
子段分别给出了不同的参数, 格式分别为:
Section
......
Endsection
Section
Subsection
......
Endsubsection
Endsection
一个完整的配置文件中包含六个段, 分别是 File (文件), SeverFlag (服务器特 殊标志), Keyboard (键盘), Pointer (指示设备, 一般是鼠标), Monitor (监视器), Device (显示适配器, 即显卡), Screen (屏幕设置信息).
File 段: 这一段指示出一些运行 X Window 所需要的文件的位置, 比如颜色的别
名文件 rgb.txt (注意这里是不需要写出该文件的扩展名), 比如:
RgbPath "/usr/X11R6/lib/X11/rgb"
如果您看过 /usr/X11R6/lib/X11/rgb.txt 的内容, 你会很容易的知道它是 干什么用的. 有了它, 你可以使用 red1 代表 RGB 颜色值 255 0 0 等等.
接下来是字体文件的路径, 这里的设置将影响到中文字体的输出. 这里对路
径的设置可以是多个, 例如下面的这样:
FontPath "unix/:-1"
FontPath "/usr/share/zhfont/X11:unscaled"
FontPath "/usr/share/zhfont/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/chinese"
FontPath "/usr/X11R6/lib/X11/fonts/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
在使用一个字体目录之前, 需要使用 mkfontdir 命令把一条路径中的字体
作个列表, 在该目录中生成 font.dir 作为对字体的索引, 如:
mkfontdir /usr/X11Ry/lib/X11/fonts/100dpi
具体该命令的用法, 请使用 man 命令查看其 man page (手册页), 或者会
在本文档的后续版本中提供详细的说明.
ServerFlag 段: 这个段指明了一些具体的参数, 如下:
NoTrapSignals 这个标志将使调试信号对 X Server 不起作用. 调试信 号会使 X Server "转储核心", 把内存中有关的 X Server 的信息存储 到硬盘上, 即所谓的 "Core dump". 这样的目的是便于对 X Server 进 行调试.
DontZap 这个标志将使 X Server 收到 "Ctrl + Alt + Back Space" 键 组合发出的信号时 *不* 停止工作. 当然一般是不建议使用的.
DontZoom 这个标志使 X Window 不能在各种图形模式之间进行切换. X Window 的缺省状态是在用户设定了多组分辨率, 刷新频率和颜色的组 合的情况下, 运行 X Window 的过程中可以通过 Ctrl + '+' 和 Ctrl + '-' 两组键的组合在多个图形模式之间进行动态切换.
Keyboard 段: 这个段指明了 X Window 环境中所使用的键盘映射以及其他一些参
数. 如下是作者的键盘配置:
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5 # 指定延迟 (delay) 和 速率 (rate)
# 这里的设定分别为 500 和 0
LeftAlt Meta
RightAlt Meta # 使用左右 Alt 键作 Meta 键.
# 关于 Meta 键, 希望以后能够补充完整
ScrollLock Compose
RightCtl Control
XkbKeycodes "xfree86"
XkbTypes "default"
XkbCompat "default"
XkbSymbols "us(pc101)"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "us"
EndSection
这段设置出了 XkbLayout 会影响键盘各按键的表现以外, 其他都只是一些功
能上的设置, 没有太大影响. 在控制台模式下, 可以通过 Alt + F? 在各虚
拟终端间进行切换, 在 X Widow 环境下, 必须使用 Ctrl + Alt + F? 才能
够达到这一效果.
对于本段以及下面的 Pointer 段, 由于本人经验和所知的限制不能完整地讲
述, 会在不久以后作进一步补充. 并在此向各位表示歉意.
Pointer 段: 如前所述, 这个段是设置鼠标等设备的. 如下举例是作者的鼠标设
置:
Section "Pointer"
Protocol "PS/2"
Device "/dev/mouse"
# 下面这两个参数是一些采用磁技术的鼠标所需要的, 一般注释掉或者删除
# BaudRate 9600
# SampleRate 150
# 下面的两个参数是为方便使用双键鼠标的用户使用三键鼠标而设置的
# 当选择了虚拟三键的时候, 可以通过同时点击鼠标左右键完成中键的功能
Emulate3Buttons
Emulate3Timeout 50
# 下面这个参数也是为磁金属鼠标所设定的
# ChordMiddle
EndSection
Mornitor 段: 这个段的设置需要参考显示器的用户手册, 以便获得相关的数据,
防止损坏显示器. 这个段是我改动最多的, 现举例描述如下:
Section "Monitor"
Identifier "Samsung SyncMaster 500s/500Ms"
# 监视器标示符, 在下面 Screen 段用作标示
# 这个参数的设置对显示器的模式没有直接影响, 只要保证跟后面
# Screen 段的引用保持一致
VendorName "Unknown"
# 生产厂家的名称
ModelName "Unknown"
# 制造和型号的标示, 并不重要
# 在使用 Xconfigurator 的时候, 如果不提供上述值, 则填写
# "Unknown"
# 下面这两个参数在设置显示模式上来书哦是比较重要的.
# HorizSync 是水平扫描频率, kHz 为单位.
HorizSync 50-60
# VertRefresh 是垂直扫描频率, Hz 为单位
VertRefresh 80-100
# 上面这两个参数可以是列举的形式, 也可以是范围的形式.
# 比如: 列举: 75 85 100
# 范围: 如上所述
# 接下来是模式的描述了, 如果您使用的是 TurboLinux 或者是
# RedHat Linux, 下面的模式列表将会非常的完整. 但 Slackware
# 没有提供完整的列表, 这些数据可以在显示器的说明书上见到.
# 为节省空间, 这里仅列举一条
# 800x600 @ 85 Hz, 55.84 kHz hsync
Modeline "800x600" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync
# 或者写成以下形式, 为 Slackware 采用
# Mode "800x600"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode
Endsection
这里来讲讲上面的 ModeLine 的涵义. 就象第二种形式所描述的那样, 这些 参数是使用 "800x600x85Hz" 模式所需要的. 要设置显示为这种模式, 首先 要保证水平扫描频率和垂直扫描频率要配合好, 即 VertRefresh 的范围或列 举值中要包括 85 Hz, 而 HorizSync 的值需要包括 55.84 kHz. 这些都可以 通过手工调整. 然后需要看看打点频率. 有些显示器有这个参数提供, 而另 外一些可能检测不到, 这时需要查看手册. 打点频率的值可以不提供, 这点 在下面会有讲述.
注意, 这里的 "800x600" 就是这种模式的标示. 等到下面谈到模式的设置顺
序就会清楚 X Window 是如何设置的了.
Device 段: 这里主要记录了显卡的数据, 如下可以看到, 很简单, 只有显存的大 小和显卡的时钟频率. 这个时钟频率是用来产生视频信号, 而显示器的扫描 频率也是根据这个信号产生的. 所以不要为了追求高分辨率和高刷新频率把 它调得太高, 否则可能会损伤显示器. 一般在显示器的说明书上会有这个值, 如果没有, 建议不要超过 50.
Section "Device"
Identifier "Generic VGA"
VendorName "Unknown"
BoardName "Unknown"
Chipset "generic"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
注意: 上面所说的两个段都可以对多个设备进行描述, 系统会用 Identifier 的值区分不同的设备.
Screen 段: X Window 的显示模式的选择就是记录在这个段中的. 如果是 RedHat 则会有所有四种 (Mono, VGA16, SVGA, Accelerate) X Server 的段, 如果 是 Slackware, 则可能会只有一个段, 就是对应安装系统的时候指定的显示 设备的.
下面以我使用的 accel X Server 说说各字段的涵义.
Section "Screen"
Driver "accel"
# 这个不用解释了吧, 是 Permedia II 显卡, 所以使用加速的驱动 # 这里的可能值是"vga2", "vga16", "svga", "accel", 根据自己 # 的实际情况设定. 这里跟 前面讲 X Server 时所说的 X 的连接 # 目标有关系, 我想这不难连接吧.
Device "3DLabs|Permedia II 2D+3D"
# 上面制定的显卡配制, 用 "3DLabs|Permedia II 2D+3D" 作为
# Identifier 的. 当然我可以使用自己喜欢的名字, 实际这里只是
# 个标记的作用
Monitor "Samsung SyncMaster 500s/500Ms"
# 这里的解释同 Device, 也是使用上面的 Identifier 的设定值
Subsection "Display"
# 显示子段, 可以有多个, 分别对应不同的色深, 即下面的 Depth
Depth 16
Modes "800x600"
# 所取的显示模式 这个值就是根据前面的 ModeLine 上面
# 的注释写的, 可以有多个, 用空格分开
# 这里需要说明的是, X Server 先检查这里的分辨率设置,
# 然后根据这个设置和上面标示的垂直和水平刷新频率