Pie*_*rre 7 multiple-monitors thinkpad 12.04
我试图用我的 thinkpad t430s 运行 2 个外部显示器,但它不起作用。
我收到错误:无法设置 CRTC 65 的配置
我使用 VGA 输出和带有 hdmi 到 vga 适配器的 hdmi 输出进入两个 vga 屏幕。
我在英特尔的文档中读到 hd4000 应该能够在内部显示器之上管理 2 个外部屏幕......
可以用 ubuntu 12.04 实现吗?
首先,我想指出,我即将提供的答案是基于我对此处和此处的问题给出的答案。
其次,请注意英特尔网站上找到的信息。它表明它可以工作,但到目前为止我读到的所有内容都让我相信三个显示器在现实世界中不起作用。话虽如此,让我们深入探讨并探索可能性。
您可以采取两种基本方法。第一个是利用randr,它允许您创建一个大型虚拟显示器,您可以在其中放置显示器。第二种是利用xinerama,它允许您拥有 3 个独立的 X 屏幕,这些屏幕将充当一个大显示器。我将在这里介绍这两个内容,您可以决定哪个更适合您的需求。
RandR - 调整大小和旋转
XRandR 的问题在多显示器设置中是两倍。它创建了一个大型虚拟显示器,每个显示器都获得了其中的一部分。如果总分辨率太高(2048 X 2048),它可能无法工作......帧缓冲区问题等。您应该能够增加 xorg.conf 中的 fb 大小,但这会带来性能损失 iirc。此外,如果显示器的分辨率不同,则可能会出现黑色区域或窗口从显示器上脱落的情况。
您可以使用XRandR动态启用多显示器设置
xrandr --output foo --rightof bar
xrandr --output baz --rightof foo
Run Code Online (Sandbox Code Playgroud)
12.04 存储库中还有一个名为arandr的 GUI 前端。我还没有测试过它,但有些人发现它很有用。
或者您可以在/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
Run Code Online (Sandbox Code Playgroud)
此方法意味着 randr 设置。同样,如果将 xrandr 与不同分辨率的显示器一起使用,则会出现一些明显的缺点。窗口可能放置不当,一个屏幕上可能有黑色区域等。
要启用 xinerama,您需要修改/etc/X11/xorg.conf:
Section "ServerFlags"
Option "Xinerama" "true"
EndSection
Run Code Online (Sandbox Code Playgroud)
它可能就这么简单,因为 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
Run Code Online (Sandbox Code Playgroud)
显然,您需要修改它以适应您的硬件,但基本框架已经为您准备好了。
请注意,我最近读到英特尔可能存在 xinerama 问题。您可能会发现这根本不可能。请测试我给出的答案并继续探索其他可能性,因为您可能会在其他地方找到其他信息。
归档时间: |
|
查看次数: |
10443 次 |
最近记录: |