使用配备 NVIDIA Optimus 和 Ubuntu 15.10 的笔记本电脑通过 HDMI 实现 2560x1440 分辨率

使用配备 NVIDIA Optimus 和 Ubuntu 15.10 的笔记本电脑通过 HDMI 实现 2560x1440 分辨率

我将带有 HDMI 的新 2560x1440 显示器 (Dell P2416D) 连接到具有 NVIDIA 双 GPU 技术的双启动笔记本电脑 (Asus N56VJ)。

在 Windows 8.1 中,我通过在 NVIDIA 设置中创建自定义分辨率,让显示器以其原始分辨率和 60 Hz 刷新率运行。显示菜单还显示它正在以 2560x1440 @ 60 Hz 运行,因此不涉及缩小范围。

然而,在 Ubuntu 15.10 中我没有运气启用本机分辨率。显示设置小部件仅提供最大 2048x1152 的图片尺寸,并且运行 Xrandr 会因以下方式失败:

fabio@fabio-N56VJ:~$ xrandr --newmode 2560x1440 311.825 2560 2744 3024 3488 1440 1441 1444 1490 +hsync +vsync 

fabio@fabio-N56VJ:~$ xrandr --addmode HDMI-0 2560x1440 
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  36
  Current serial number in output stream:  37

我尝试过该gtf工具生成的模型行,以及基于 PowerStrip 导出的 Windows 设置的模型行。

我正在 Ubuntu 中运行最新的 NVIDIA 二进制驱动程序,这意味着nvidia-352.

我的 HDMI 电缆也支持规范版本 1.4,但这应该不是问题,因为显示器在 Windows 上运行良好。

有没有办法可以强制 X.org 或 Xrandr 强制设置模式,或者有其他方法可以在不缩放的情况下使用显示?

答案1

2560x1440 分辨率只能通过 DisplayPort 实现。
请注意,大多数型号的显示器都不支持网络上的“黑客”。

尽管在你的情况下这是可能的,Linux 仅支持“官方”模式 AFAIK。

答案2

像素时钟 311.83MHz 对于您的 GPU 或显示器来说可能太高。尝试使用具有较低像素时钟的其他模式线。例如,通过以下方式获取 60Hz 时的 2560x1440(减少消隐)cvt -r

$ cvt -r 2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
$ xrandr --newmode 2560x1440@60R 241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
$ xrandr --addmode HDMI-0 2560x1440@60R

或者,接受低于 60Hz 的刷新率:

$ xrandr --newmode 2560x1440@55 220.812 2560 2608 2640 2720 1440 1443 1448 1478 -hsync -vsync
$ xrandr --newmode 2560x1440@45 227.75 2560 2720 2992 3424 1440 1443 1448 1480 -hsync +vsync
$ xrandr --newmode 2560x1440@30 146.25 2560 2680 2944 3328  1440 1443 1448 1468 -hsync +vsync

我使用 Sandy Bridge CPU 的旧笔记本似乎无法通过 HDMI 进行高于 225MHz 的 pclk,但成功地将 2560x1440@55Hz HDMI 输出到 ASUS PB278Q 或 DELL U2713H。

请注意,您的显示器可能不支持太低的刷新率(例如 30Hz)。华硕PB278Q渲染图迷幻图案对于这样的输入。

答案3

虽然已经晚了很多年,但对于任何正在搜索的人来说:下载 MVIDIA 驱动程序和应用程序。安装后,在 Windows 10(64 位)桌面上单击鼠标右键。选择 NVIDIA 控制面板。在 NVIDIA 控制面板中,选择显示 -> 更改分辨率。我有一台华硕 R56VJ 笔记本电脑,通过 HDMI 连接到三星 S34J55 显示器。我通常以 2560 x 1080 分辨率运行它。通过控制面板,我能够将结果提高到 3440 x 1440(刷新率为 30 Hz)!

相关内容