使用 RandR 从 Nvidia 卸载到 Intel iGPU 时,仅获得镜像显示,而不是扩展

使用 RandR 从 Nvidia 卸载到 Intel iGPU 时,仅获得镜像显示,而不是扩展

我有一台 GTX-580 和一台 iGPU (i7-2600k)。我想要两台 NVIDIA 显示器和一台 Intel 显示器。

在 16.04 和 16.10 中我都尝试过:

  • 来自 repo 的最新英特尔驱动程序,来自英特尔更新工具的最新英特尔驱动程序,仅限模式设置驱动程序。英特尔驱动程序似乎对任何东西都没有影响。
  • Nvidia 304、340、367 和 375。仍然只有镜像。
  • 默认和最新的 Nouveau 驱动程序 - 在 16.10 上运行良好(在 16.04 上完全不行)。好吧,除了 Nvidia 输出上的光标闪烁/消失并使这些显示器几乎无法使用。

在 16.04 Nouveau 中,屏幕“工作”正常,我可以将窗口拖到上面,显示器通电,我可以在显示管理器中看到所有 3 个屏幕。但没有输出。在 16.10 中,它运行得非常完美,从安装屏幕开始,这让人抓狂 - 但有那个该死的瞬态光标。

卸货指示我可以从 Nvidia 获得第三台显示器镜子主,但我无法让它延长。我尝试在 xrandr 中手动设置显示器定位,结果相同。只有连接到 Nvidia GPU 的显示器显示在 X 会话 Nvidia 设置中,没有来自 Intel 的任何内容;所有 3 个都显示在显示管理器和 Arandr 中。

这些说明完全没有说明我应该期待镜像输出还是扩展输出。也许镜像输出正是我应该期待的,而我没有正确设置 X 屏幕。我想知道我是否需要设置虚拟屏幕。

答案1

好的,已修复。据我所知,扩展显示器(至少在我的 580 上)需要使用该nvidiaXineramaInfoOverride选项。我在 Nvidia 驱动程序 README 的相关 RandR 部分中找不到此选项的任何文档,或者实际上在任何地方都找不到 - 我在 Arch 论坛上偶然发现了它。

使用此显示设置,从左到右:

Nvidia:HDMI-0:1920x1080
Nvidia:DVI-I-2:1280x1024
英特尔:HDMI-1-2:1280x1024

在 Ubuntu 16.x 中,xorg 配置文件位于/usr/share/X11/xorg.conf.d,文件名为whateverYouWant.conf

以下是我基于 Nvidia样本,但删除了不必要的部分并nvidiaXineramaInfoOverride添加了选项:

“屏幕”部分
标识符“nvidia”
设备“nvidia”
选项“nvidiaXineramaInfoOverride”“1920x1080+0+0, 1280x1024+1920+0, 1280x1024+3200+0”
结束部分

“设备”部分
标识符“nvidia”
驱动程序“nvidia”
结束部分

“设备”部分
标识符“intel”
驱动程序“modesetting”
结束部分

注意“nvidiaXineramaInfoOverride”选项旁边的数字。第一个“+”后面的数字表示宽度偏移。修改它们,使它们等于前几个显示器的宽度总和。

最后,启动第三台显示器:

xrandr --setprovideroutputsource 1 0
xrandr --output HDMI-1-2 --right-of DVI-I-2 --mode 1280x1024

相关内容