Thinkpad t430s 上有 2 个外接显示器,配备 HD4000 显卡

Thinkpad t430s 上有 2 个外接显示器,配备 HD4000 显卡

我正在尝试用我的 ThinkPad T430s 运行 2 个外部显示器,但是不起作用。

我收到错误:无法设置 CRTC 65 的配置

我正在使用 VGA 输出和 hdmi 输出以及 hdmi 转 vga 适配器进入两个 vga 屏幕。

我在英特尔的文档中看到,hd4000 应该能够在内部显示屏上管理 2 个外部屏幕......

使用 ubuntu 12.04 可以实现吗?

答案1

首先,我想指出的是,我将要提供的答案是基于我对以下问题的回答这里这里

其次,注意英特尔网站。这表明它可以工作,但到目前为止我读到的所有内容都让我相信三台显示器在现实世界中是行不通的。话虽如此,让我们深入研究并探索各种可能性。

你可以采取两种基本方法。第一种是利用兰德尔这将允许您创建一个大型虚拟显示器,您可以在其中放置显示器。第二种方法是利用辛纳拉玛这样您就可以拥有 3 个独立的 X 屏幕,它们将作为一个大显示器运行。我将在这里介绍这两种方法,您可以决定哪种方法更适合您的需求。


兰德- 调整大小和旋转

在多显示器设置中,XRandR 的问题有两个方面。它会创建一个大型虚拟显示器,每个显示器都会获得其中的一部分。如果总分辨率太高(2048 X 2048),它可能无法工作……帧缓冲区问题等等。您应该能够在 xorg.conf 中增加 fb 大小,但据我回忆,这会导致性能下降。此外,如果显示器的分辨率不同,可能会出现黑色区域​​,或者窗口会从显示器上掉下来。

您可以使用以下方式动态启用多显示器设置瑞安

xrandr --output foo --rightof bar
xrandr --output baz --rightof foo

还有一个名为阿兰德它位于 12.04 存储库中。我还没有测试过它,但有些人认为它很有用。

或者你可以静态地启用它/etc/X11/xorg.conf.d/10-monitor.conf

Section "Monitor"
  Identifier     "Monitor0"
EndSection

Section "Monitor"
  Identifier     "Monitor1"
  Option         "RightOf" "Monitor0" 
EndSection

Section "Monitor"
  Identifier     "Monitor2"
  Option         "RightOf" "Monitor1" 
EndSection

此方法意味着需要设置 randr。同样,如果使用 xrandr 来处理不同分辨率的显示器,也存在一些明显的缺点。窗口可能放置不当,一个屏幕上可能会有黑色区域,等等。



新内拉玛

要启用 xinerama,您需要修改/etc/X11/xorg.conf

Section "ServerFlags"
  Option    "Xinerama" "true"
EndSection

这可能就是这么简单,因为 X 非常擅长根据硬件检测自动配置事物。但是,如果仅仅打开 xinerama 扩展无法提供您想要的功能,您可以选择完全配置 X 以使用 xinerama。有几种方法可以配置 X。您可以在etc/X11/xorg.conf.d,一些用于您的显示器,一些用于设备,等等。我将介绍使用我当前设置的修改版本来拥有一个包含所有设置的单个 xorg.conf 文件。

Section "ServerLayout"
    Identifier     "TriHead"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen1" RightOf "Screen1"
    Option         "Xinerama" "1"                # Enable xinerama on the whole
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"                      # Be sure to write the correct driver here
    VendorName     "NVIDIA Corporation"          # Should be "intel" 
    BoardName      "Nvidia GT 240"
    BusID          "PCI:1:0:0"                   # Use lscpi | grep VGA to get the BusID
    Screen          0                            # Note the Screen numbers
EndSection

Section "Device"
    Identifier     "Device1"                     # A device for each screen
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Nvidia GT 240"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Nvidia 8600 GT"
    BusID          "PCI:1:0:0"
    Screen          2
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Gateway HX2000"
    HorizSync       31.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL 1907FPV"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "DELL 1907FPV"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
EndSection

显然,您需要对其进行修改以适合您的硬件,但是基本骨架已经准备好了。

请注意,我最近读到英特尔可能在使用 xinerama 时遇到问题。您可能会发现这根本不可能。请测试我给出的答案并继续探索其他可能性,因为您可能会在其他地方找到更多信息。

答案2

在 HD4000 Integrated 上,与一些集成芯片组一样;HDMI 通常与 VGA/DVI 电路共享,至少在功能上是如此。

当我尝试使用它并按照您说的做时,我发现其中一个输出只能被克隆而不能分离。

因此我相信如果您(首先)禁用 VGA(笔记本电脑上的原生 LCD)并启用外部显示器,您将能够使其工作。

相关内容