使用 USB-HDMI 适配器在 Linux 中设置三显示器

使用 USB-HDMI 适配器在 Linux 中设置三显示器

我正在尝试使用 Fedora 17 在办公室设置三显示器桌面,但似乎不可能,让我解释一下设置:

  • 笔记本电脑华硕 K53SD 配备 2 个显卡,英特尔和 nVidia(屏幕由英特尔卡控制)
  • 24 英寸全高清显示器连接至 HDMI 输出(由英特尔卡控制)
  • 23 英寸全高清显示器连接到 USB-HDMI 适配器(显然是通过 /dev/fb2 中的帧缓冲区)
  • VGA 输出(未使用)由 nVidia 卡控制

首先,USB-HDMI 适配器运行正常,它给我一个绿屏(这意味着通信正常),如果我通过 Xorg 中的帧缓冲区设置单个显示器设置,我就可以让它工作。这里我留下了我获得说明的页面:http://plugable.com/2011/12/23/usb-graphics-and-linux

现在,我正在尝试设置两个主显示器(笔记本电脑和 24 英寸)以及带有英特尔驱动程序的 23 英寸显示器,但我得到的最成功的配置是两个主显示器工作,而第三个显示器断开连接。

你知道我该怎么做才能让它成功吗?

这里我留下了我的 xRandr 输出和我的 Xorg 配置:

-> xrandr
Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA2 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080      60.0*+   50.0     25.0     30.0  
   1680x1050      59.9  
   1680x945       60.0  
   1400x1050      74.9     59.9  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1440x900       75.0     59.9  
   1280x960       60.0  
   1366x768       60.0  
   1360x768       60.0  
   1280x800       74.9     59.9  
   1152x864       75.0  
   1280x768       74.9     60.0  
   1280x720       50.0     60.0  
   1440x576       25.0  
   1024x768       75.1     70.1     60.0  
   1440x480       30.0  
   1024x576       60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   720x576        50.0  
   848x480        60.0  
   720x480        59.9  
   640x480        72.8     75.0     66.7     60.0     59.9  
   720x400        70.1  
DP1 disconnected (normal left inverted right x axis y axis)
   1920x1080_60.00   60.0  

Xorg 文件:

# Xorg configuration file for using a tri-head display

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "HDMI" 0 0
    Screen      1  "USB" RightOf "HDMI"
    Option         "Xinerama" "on"
EndSection

########### MONITORS ################

Section "Monitor"
    Identifier     "USB1"
    VendorName     "Unknown"
    ModelName      "Acer 24as"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "HDMI1"
    VendorName     "Unknown"
    ModelName      "Acer 23SH"
    Option         "DPMS"
EndSection

########### DEVICES ##################

Section "Device"
    Identifier     "Device 0"
    Driver         "intel"
    BoardName      "GeForce"
    BusID          "PCI:0:02:0"
    Screen          0
EndSection

Section "Device" 
    Identifier     "USB Device 0" 
    driver         "fbdev" 
    Option         "fbdev" "/dev/fb2" 
    Option         "ShadowFB" "off"
EndSection 


############## SCREENS ######################

Section "Screen"
    Identifier     "HDMI"
    Device         "Device 0"
    Monitor        "HDMI1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "USB"
    Device         "USB Device 0"
    Monitor        "USB1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

答案1

我知道这应该是一个评论,但我在超级用户上只有 46 个代表。

我曾经因为解决 X windows 问题而获得报酬,而且大多数问题都不是小事,而且对于这种格式来说太复杂了。基本上,如果我想解决您的问题,我可能需要有一个类似的设置来测试或在您的系统本身上工作。Ian 建议使用 Matrox TripleHead2Go,这是一个很好的选择。

我现在就告诉你,如果我要为某人构建一个支持三头的定制 Linux 机箱,我会使用至少 2 个相同的双头视频卡。我不一定需要相同的视频卡,但它可以简化事情。现在我知道对于笔记本电脑来说这不是一个选择。

您需要做的第一件事是向我们展示 xorg 日志。如果我们不知道 USB 视频卡无法工作的原因,那么我们解决这个问题的可能性就很小。因此,我们需要检查的第一件事是 xorg 日志,看看它是否可以告诉我们它无法工作的原因,甚至它甚至没有尝试运行它。

答案2

您可能需要考虑使用 Matrox TripleHead2Go 之类的解决方案。它支持 DisplayPort 显示器,并配有可选适配器以支持 DVI 和 VGA 显示器。Matrox 有适用于 Linux 的驱动程序。这是一个昂贵的解决方案,但它可以减轻您的设置负担。

答案3

兰德

加载驱动程序后,DisplayLink 显示器将被列为输出提供者:

$ xrandr --listproviders

Providers: number : 2
Provider 0: id: 0x43 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:Intel
Provider 1: id: 0xcb cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

在上面的例子中,提供程序 1 是 DisplayLink 设备,提供程序 0 是默认显示器。运行xrandr --current会给出可用屏幕的列表:

$ xrandr --current

Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1600x900       60.0*+   40.0  
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
DVI-1-0 connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1368x768_59.90   59.9  
  1368x768_59.90 (0xd0)   85.7MHz
        h: width  1368 start 1440 end 1584 total 1800 skew    0 clock   47.6KHz
        v: height  768 start  769 end  772 total  795           clock   59.9Hz

如果上面没有列出 DisplayLink 屏幕,那么您将需要将 DisplayLink 卸载到主 GPU:

xrandr --setprovideroutputsource 1 0

相关内容