我在 Windows 和以前版本的 Ubuntu(9.04)中的屏幕分辨率是 1152 x 864。
但是在 Ubuntu 10.04 中,它为我提供了 1024 x 786 和 1360 x 786 的选项。
我设法使用 xrandr 命令添加了 1152x684 分辨率。
searock@searock-desktop:~$ cvt 1152 864
1152x864 59.96 Hz (CVT 1.00M3) hsync: 53.78 kHz; pclk: 81.75 MHz 模式行“1152x864_60.00” 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync
searock@searock-desktop:~$ xrandr --newmode“1152x864_60.00” 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync searock@searock
-desktop:~$ xrandr --addmode S-video 1152x864
xrandr: 无法找到输出“S-video”
searock@searock-desktop:~$ xrandr
屏幕 0: 最小 320 x 200,当前 1024 x 768,最大 4096 x 4096
VGA1 已连接 1024x768+0+0 (正常左反转右 x 轴 y 轴) 0mm x 0mm
1360x768 59.8
1024x768 60.0*
800x600 60.3 56.2
848x480 60.0
640x480 59.9 59.9
1152x864_60.00 (0x124) 81.0MHz
h: 宽度 1152 开始 1216 结束 1336 总计 1520 倾斜 0 时钟 53.3KHz
v: 高度 864 开始 867 结束 871 总计 897 时钟 59.4Hz
searock@searock-desktop:~$ xrandr --addmode VGA1 1152x864_60.00
但问题是,每当我重新启动计算机时,都会收到此消息。
无法应用已存储的显示器配置。无法找到合适的屏幕配置。
然后它又回到 1024 x 786
我的显卡详细信息:Intel(R) 82945G Express 芯片组系列。
有什么方法可以一劳永逸地解决这个问题?
谢谢。
编辑1: 鲁姆乔建议我修改 xorg.conf 文件。但我不确定 HorizSync 是什么意思?是水平频率吗?
我的显示器型号是宏碁 v173。
这是我的规格。
那么 HorizSync 和 VertRefresh 应该是什么?
编辑2:
我已经编辑了我的 Xorg.conf 文件,如下所示:
“监视器”部分
标识符“已配置的监视器”
HorizSync 30-80
VertRefresh 55-75
EndSection
然后我添加了分辨率并重新启动了计算机,但仍然面临同样的问题。
我是不是遗漏了什么?
编辑3:目前,我已经编辑了 /etc/gdm/Init/Default(gdm 启动脚本),以包含以下 xrandr 命令,就在行下方initctl -q 发出登录会话启动 DISPLAY_MANAGER=gdm
xrandr --newmode "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync
xrandr --addmode VGA1 1152x864_60.00<br/>
xrandr -s 1152x864_60.00
这解决了我的问题,但是这个命令增加了我电脑的启动时间。
我想我必须正确地编辑 xorg 文件。
编辑4:我没有将这些文件添加到 gdm 启动脚本,而是创建了一个 shell 脚本并将其添加到启动中(系统 -> 首选项 -> 启动应用程序)
#!/bin/bash
xrandr --newmode "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync
xrandr --addmode VGA1 1152x864_60.00
xrandr -s 1152x864_60.00
并且不要忘记添加执行权限。(右键单击 -> 属性 -> 权限 -> 允许将文件作为程序执行)
答案1
不能 100% 确定,因为你使用的是英特尔显卡,但这听起来像是 EDID 错误导致的老问题。简而言之,你的显示器向显卡发送了错误信息,它无法读取最大频率,因此谨慎行事,只使用最低的设置。
randr(根据设计!)仅用于运行时更改。对于任何永久配置,您需要更改 X 服务器设置。为此,请编辑 /etc/X11/xorg.conf(这是一个重要的系统文件!请先备份!)。您需要添加 HorizSync 和 VertRefresh 行。结果应如下所示:
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 30-35
VertRefresh 55-75
EndSection
警告:不要使用我在此处发布的数字!如果您在 HorizSync 中设置的频率过高,可能会永久损坏您的显示器。它们在不同显示器型号之间波动很大,我见过它们在 30 Hz 和 75 Hz 之间。您应该在显示器的用户指南中查找正确的值,或致电制造商的技术支持并询问您首选分辨率下的垂直和水平频率。
也许您需要手动将模式行添加到 Xorg.conf(我忘记了哪个部分,我认为是屏幕)但可能在 X 重启后您将能够使用内置图形工具设置分辨率。
即使这不能解决您的问题,xorg.conf 也是保存屏幕配置永久更改的地方。
编辑,作为对您的评论的回答。
HorizSync 是频率,是的。在 nVidia 卡上,在 xorg.conf 中设置 HorizSync 和 VertRefresh(然后重新启动 X 或直接重新启动)使 nVidia 驱动程序 GUI 中所有常用分辨率都可用。因此,在那里选择您喜欢的分辨率应该是可能的。
如果英特尔驱动程序没有出现这种情况,您可以手动将所需的分辨率添加到 Xorg.conf 中。仍然在 Monitor 部分,粘贴您的模式行(适用于 xRandR)。然后将模式名称列为 Preferred mode 选项。然后,在 Screen 部分的 Display 子部分,添加 Modes 行,包括您的模式名称。
结果应该是这样的:
“监控”部分 标识符“已配置监视器” 水平同步 30-80 垂直刷新 55-75 模式行“1152x864_60.00” 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync 选项“PreferredMode”“1152x864_60.00” 结束部分
在下面,之内屏幕部分
“显示”子部分 深度 24 模式“1152x864”“1024x768”“640x480” 结束子节
我不确定您是否需要 Display 子部分,但我在我的旧配置文件中找到了它。如果它不起作用,请再次将其注释掉。无法在当前系统上测试它,因为我现在无法重新启动,并且我当前的显示器配置不同。所以它可能仍然需要一些调整。但从理论上讲,将 modeline 添加到 Xorg.conf 是将其动态添加到 RandR 的永久版本。
如果您需要进行调整,Xorg.conf 手册是一个很好的信息来源。http://www.x.org/archive/X11R6.8.0/doc/xorg.conf.5.html
如果其他方法都失败了,我认为有一个 X 配置文件,您可以在其中添加 xRandR 命令。它肯定不够优雅,而且可能和您的 init 脚本解决方案一样慢。此外,我不太记得这个文件和如何使用它,所以无法帮助您。
如果这些也失败了,那么问题可能出在其他方面。由于可能仍然与 X 有关,您可以查看 /var/log/xorg.0.log 文件。如果有以 (WW) 或 (EE) 开头的行,请在 Google 上搜索这些行,您几乎肯定会找到解决方案。