我有一台 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