Linux设置显示器分辨率与刷新率的方法详解

发布时间:2020-06-07编辑:脚本学堂
本文详细介绍了设置Linux显示器的分辨率与刷新率的方法,并就相关问题做了说明,有需要的朋友参考学习下。

本节内容:
linux显示器分辨率与刷新率的设置方法。

一、查看显卡相关信息
 

复制代码 代码示例:
glxinfo | grep -i rend
direct rendering: Yes

运行此命令,如果显示不是“Yes”,说明还需要自己去安装一下驱动(显卡)。

1、在linux的终端上执行:
 

复制代码 代码示例:
[root@localhost ~]# glxinfo | grep -i rend
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
OpenGL renderer string: Mesa GLX Indirect

2、在txt模式下:
 

复制代码 代码示例:
[root@localhost ~]# glxinfo | grep -i rend
Error:unable to open display

两者显示结果不一样。

原因:是X终端与文本模式(console)下区分,在console下,显卡驱动还没有启用,所以无法得到信息。

二、显示器分辨率及刷新率设置

1、X终端下显示器分辨率及刷新率设置
  刷新率和分辨率可以在/etc/X11/xorg.conf中设置

(1)对显示器行频(水平分辨率)和场频(垂直分辨率)的设置
  在xorg.conf中有类似一段:
 

 Section "Monitor"
  Identifier "Monitor0"
  VendorName "Monitor Vendor"
  ModelName "206STUDIO"
  HorizSync 30.0 - 70.0
  VertRefresh 50.0 - 160.0
  EndSection
 

其中HorizSync,VertRefresh分别是显示器行频(水平分辨率)和场频(垂直分辨率)的设置。
应该根据显示器的性能进行设置,他们的值决定了显示分辨率和刷新频率可能取值的范围。

(2)对首先和可选分辨率的设置
在xorg.conf中有类似一段:
 

 Section "Screen"
  Identifier "Screen0"
  Device "Videocard0"
  Monitor "Monitor0"
  DefaultDepth 24
  SubSection "Display"
  Depth 24
  Modes "1024x768" "800x600" "640x480" "1280x1024"
  EndSubSection
  EndSection
 

行 :
Modes "1024x768" "800x600" "640x480"
设置了三种可选的分辨率,排在最前面的就是首选的分辨率,即一般生效的分辨率。
X启动时如果首选的分辨率无效,比如过高,会依次尝试后面的分辨率。

2、文本模式下显示器分辨率及刷新率设置
(1)、grub的:
/boot/grub/menu.lst 文件中
 

复制代码 代码示例:
title Debian GNU/Linux, kernel 2.6.22-3-686
root (hd0,5)
kernel /vmlinuz-2.6.22-3-686 root=/dev/hda1 ro vga=794
initrd /initrd.img-2.6.22-3-686
save default

说明:
vga=794,修改此值可以修改在文本模式下的分辨率
vga=794  => 1280x1024x16
vga=788  => 800x600x16
(2)、lilo的基本也差不多。

三、内核不能识别出显示是否就进不了X-Windows ?
(1)显卡驱动:内核提供的驱动与显示供应商提供的驱动的差别在于3D,内核不认显卡是进不了X的,不过,可以用vesa的标准驱动,因为各个厂家提供的显卡都支持vesa的标准

(2)、信息用Xorg -configure 自动获取的

Monitor本条目介绍了显示器的相关知识。
场频 场频又称为“垂直扫描频率”或“刷新率”。
指单位时间(以秒计)之内电子枪对整个屏幕进行扫描的次数,通常以赫兹(Hz)表示。
以85Hz刷新率为例,它表示显示器的内容每秒钟刷新85次。

CRT 显示器上显示的图像是由很多荧光点组成的,每个荧光点都由于受到电子束的击打而发光,不过荧光点发光的时间很短,所以要不断地有电子束击打荧光粉使之持续发光。

电子束不能同时轰击屏幕上的两个点,因此显示器在工作时,以极快的速度从视频卡读取数据,同时由电子枪的偏转电路部分控制偏转线圈对电子束射出的方向进行改变,使电子束从屏幕左上角开始,从左至右,从上至下,依次对每个点进行轰击,虽然时间上有先后顺序。

但由于电子束把屏幕整个扫描一次只需 10~20ms的时间,加上荧光体的辉光残留和人眼的视觉暂留现象,所以只要刷新够快,刷新率够高,人眼就能看到持续、稳定的画面,不会感觉到明显的闪烁和抖动。垂直扫描频率越高,闪烁情况越不明显,眼睛也就越不容易疲劳。

从理论上来讲,只要刷新率达到85Hz,也就是每秒刷新85次,人眼就感觉不到屏幕的闪烁了,但实际使用中往往有人能看出85Hz刷新率和100Hz刷新率之间的区别,所以从保护眼睛的角度出发,刷新率仍然是越高越好。

行频

行频又称为“水平扫描频率”,指电子枪每秒在荧光屏上扫过的水平线的数量,其值等于“场频 × 垂直分辨率×1.04”,单位为KHz(千赫兹)。
行频是一个综合分辨率和场频的参数,该值越大,显示器可以提供的分辨率越高,稳定性越好。

以 800*600 的分辨率、85Hz的场频为例,显示器的行频至少应为“600*85=51KHz”。

目前CRT显示器比较主流的行频系列是:70KHz,85(86)KHz,96KHz等。

windows是用场频和分辨率来表示显示模式,而Linux的X配置文件里面同时用到用场频和行频和分辨率三个参数。