无法保存屏幕分辨率设置

无法保存屏幕分辨率设置

我在 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 上搜索这些行,您几乎肯定会找到解决方案。

相关内容