我希望能够使用连接到 [DP 至 (2) DVI] 适配器的笔记本电脑上的 DisplayPort 来驱动两个外部显示器(均使用 DVI)。
我目前能够使用小型 Startech 盒子仅传递一个 DVI 输出,但是当我连接第二个输出时它不起作用(Ubuntu 不会检测到任何其他显示器)。
编辑 - 我现在可以让适配器在两个 DVI 输出上显示重复的显示数据……但我想扩展桌面而不是复制 - 令人惊讶的是,我能够将驱动程序认为是 1 个显示器的分辨率更改为 1920x1080 x2 = 3840x1080 的分辨率,这在技术上确实使我的显示空间扩展到两个显示器,但这很奇怪,系统认为它是一个巨大的显示器。也许有一种方法可以将一个显示器逻辑地划分为更多显示区域?我目前的情况看起来有点像这个问题,不幸的是,除非我想自己添加源更改,否则这个问题从未真正得到解决:
https://unix.stackexchange.com/questions/37739/split-a-physical-x-display-into-two-virtual-displays
如果我查看 amdcccle(amd 催化剂控制中心)并查看通过显示端口连接的显示器的显示信息,它会神秘地显示 MST 不可用。
支持方面 - 我所掌握的所有信息似乎都表明支持是存在的。ATI 在图形芯片上支持 Eyefinity。DisplayPort 足够新,可以支持多显示器。StarTech 声称该适配器支持 Linux(当然,这可能只是一个空洞的概念)。
当前设置(不起作用):
HP Elitebook 8570w + XUbuntu 14.04 x64 LTS + 使用 MST 的 DisplayPort(多流支持)+ Startech.com SP122DP2DVI(带 DisplayPort 至 2 个 DVI 端口的适配器)
还使用 2 个兼容 DVI 的 ACER 1080p 显示器。
注意:
HP Elitebook 上的图形设备是 ATI/AMD Chelsea XT GL [Firepro M4000],通过 DisplayPort 连接器支持 Eyefinity。当前运行的是 XUbuntu 系统中列出的 ATI 专有驱动程序 (fglrx)。有一个开源驱动程序可用,但我认为这种方式的成功率会较低 (xserver-xorg-video-ati)。
答案1
经过一段时间的挖掘,我找到了解决方案!
带有 Startech 适配器的 ATI 驱动程序 (fglrx) 允许我将一台显示器设置为 3840x1080 分辨率(实际上是 2 台 1920x1080 显示器通过适配器作为一台巨型显示器)。这在硬件输出方面有效,但我的桌面在两个 DVI 输出之间被一分为二,因为 XUbuntu + ATI 驱动程序仍然认为只有一台显示器通过显示端口。进入 fakeXRandr!
更多详情请阅读: https://github.com/phillipberndt/fakexrandr
git clone https://github.com/phillipberndt/fakexrandr
make && sudo make install
这将 xrandr 指向 libXrandr.so 的破解版本。现在,我重新运行 ATI 驱动程序中的配置以引入巨型显示器 (3840x1080),然后使用破解的库重新运行 xrandr,最终生成了 X 识别的两个独立显示器!
当它工作时你可以这样做:
xrandr --verbose
然后看到 xrandr 检测到了另一个逻辑监视空间(我的被称为从 DFP1 派生的 DFP_)!
更新 - fakexrandr 现在提供自己的工具,可让您自定义如何将显示拆分为逻辑 xrandr 监视器。请参见此处: https://github.com/phillipberndt/fakexrandr 在“安装”和“如何使用”部分下使用工具 fakexrandr-manage 进行配置后,重新启动系统以重新加载 xrandr,它将考虑您的 fakexrandr 配置 - xrandr 将在每个分割的末尾显示带有数字标记的子显示。
注意:
- 我很确定这个解决方案不能解决 MST 问题,但我的小型直通盒基本上配置为将两个 DVI 显示器输出为一个 DisplayPort 显示器。这可行,但很烦人,我们必须使用 fakeXRandr 之类的软件破解来解决这个问题。