我刚刚将我的 EeePC 插入索尼 BRAVIA KDL-32EX710。
此类电视支持高达 1920x1080 的分辨率,但 RandR 只允许我使用 640x480 到 1024x768 的分辨率。为了使用全分辨率,我必须在每次启动时手动向 RandR 添加新模式。
为什么会出现这种情况?
有没有什么干净的方法让 RandR 了解这款显示器? (比
xrandr --newmode
,更干净xrandr --addmode
)
答案1
问题不在于 RandR,您的视频驱动程序没有根据显示器的 EDID 信息配置显示器。检查 Xorg?.log 文件以查看驱动程序如何配置监视器。
可以在 xorg.conf 配置中配置监视器。我还没有尝试过这种即插即用设置。配置双显示器设置可能效果更好。
您可以编写配置脚本,以便更容易完成。
编辑不,负责此操作的模块是所有驱动程序共同使用的。显卡制造商不提供通用接口,因此我们需要不同的驱动程序。 Xorg 驱动程序分解出通用功能并提供标准应用程序接口,这就是 RandR 工作的原因。 xorg.conf 对于所有驱动程序都是通用的。
如果您在显示器打开的情况下启动,则它似乎未提供 EDID(这是显示器的责任)。在启动时查看/var/log/Xorg.0.log
连接并打开显示器的情况下启动后的情况。这应该能让您了解正在发生或未发生的事情。
这是我在双显示器设置中使用的解决方案,其中一台显示器不提供 EDID。我已将此解决方案移至我的 xorg.conf 文件中,但配置需要一段时间。如果您使用的是,此设置会更简单gdm
。类似的解决方案可用于kdm
或xdm
。将我的设置替换为您启动时输入的内容。
我创建的文件 /etc/gdm/Init/Default
包含:
#!/bin/sh 路径=“/ usr / bin:$路径” #WAT - 设置双显示器 # 定义新模式(60 和 75 Hz) xrandr --新模式 1280x1024 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync xrandr --新模式 1280x1024x75 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +水平同步 +垂直同步 # 将模式添加到屏幕 xrandr --addmode VGA-0 1280x1024 xrandr --addmode VGA-0 1280x1024x75 # 选择输出模式 xrandr --输出 HDMI-0 --模式 1920x1080 --输出 VGA-0 --模式 1280x1024 --HDMI-0 左侧 # 结束符