如何让 DisplayPort 1.2 上的 4k 显示器显示为一个屏幕?

如何让 DisplayPort 1.2 上的 4k 显示器显示为一个屏幕?

我刚刚买了一台 UP2414Q,并通过运行频率为 60hz 的 DisplayPort 1.2 连接了它。问题是它最终会显示两个屏幕,所以它最终表现得好像我的一个 24 英寸框架内有两个显示器一样。

我查看了 nvidia 设置,但找不到让它们合并为单个宽屏显示器的方法。我发现了一些提示,例如

OPTION "TwinViewXineramaInfoOverride" "3840x2160+0+0"

或者

Option "NoTwinViewXineramaInfo" "1"

两种方法都不起作用。我想知道我是否遗漏了难题的另一部分。任何关于如何纠正我的配置的提示都将不胜感激。我目前正在运行新的 Trusty 每日构建版,希望更新的 X 和 nvidia 驱动程序能够提供帮助。

我已将我当前的 X 配置粘贴在下面并链接到下面的 X 日志。

这是当前双显示器设置的屏幕截图。请注意,窗口管理器就像有两个不同的显示器一样运行。

http://uploads.mitechie.com/xorg-setup.png

日志档案:http://paste.ubuntu.com/6654719/

xrandr 输出:http://paste.ubuntu.com/6669699/

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 331.20  (buildd@batsu)  Mon Dec  9 17:08:08 UTC 2013

xdpyinfo-ext XINERAMA|tail-2

head #0: 1920x2160 @ 0,0
head #1: 1920x2160 @ 1920,0

xorg配置文件

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL UP2414Q"
    HorizSync       31.0 - 140.0
    VertRefresh     29.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 660 Ti"
EndSection

Section "Screen"

# Removed Option "metamodes" "DP-1.8: 1920x2160_60 +1920+0, DP-1.9: 1920x2160_60 +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-4.8"
    Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

参考:

答案1

我正在处理 Panasonic TC-L65WT600 的相同问题,虽然我还没有找到完美的解决方案,但我遇到了这个对我来说有点作用的解决方法。

添加行

Option "Xinerama" "1"

添加到您的 xorg.conf Section "ServerLayout"

这是违反直觉的,因为这实际上会破坏 Xinerama 和 RandR。NVIDIA 驱动程序有自己的 Xinerama 和 RandR 实现,通过启用常规 Xinerama 扩展,它会与 NVIDIA 的实现相冲突,结果是两者都被禁用。

我还没有彻底测试过它是否会破坏其他任何东西,但作为临时解决方法值得一试……

答案2

  • 所以我猜你是按照显示器的用户指南来了解如何允许 4K 分辨率的。关联第 45-46 页:

    设置 DP1.2 显示屏

    UP2414Q 的出厂默认设置是 DP1.1a。要启用 3840 x 2160 @ 60 Hz,请确保 DP 源的显卡经过 MST 功能认证,能够支持高达 3840 x 2160 @ 60 Hz 的分辨率,并且其驱动程序支持 DisplayID v1.3,然后通过执行以下步骤将 DP 设置更改为 DP1.2:...

    阅读手册中的其余内容

  • 我查了你的 GPU这里。据说它支持 DP1.2 MST。(如果我没记错的话)所以这应该不是问题。

  • 我不知道这个 4K 是如何工作的,所以我寻找了更多关于这个主题的信息。所以看起来这是显示器显示为两个显示器的正常方式,你只需要为 nvidia 卡启用水平跨越。(使两个显示器成为一个大的虚拟显示器。)

  • 我查看了 nvidia 驱动程序的自述文件,第十二章。根据那里给出的信息以及 Xorg.log 中的这些行:

    [   259.448] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
    [   263.248] (II) NVIDIA(0): Setting mode "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0" 
    

    我认为您的驱动程序已正确设置,可以模拟 X 服务器的联合虚拟屏幕。

  • 日志中稍后会出现以下几行:

    [   264.017] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   272.635] (II) XKB: reuse xkmfile /var/lib/xkb/server-75DD9E258FEFC19A572284D7C4A5BC6BFE771BAD.xkm
    [   336.272] (II) NVIDIA(0): Setting mode "DPY-6:nvidia-auto-select+1920+0,DPY-7:nvidia-auto-select+0+0"
    

    第一行设置了一个模式,这不是你想要的模式,因为这样会镜像两个屏幕,因为+1920+0两者的偏移。(如果我理解正确的话)但下一行立即将模式重置为正确模式。最后一行比其他行晚了一分钟,我不知道那是什么,DPY-x 屏幕从哪里来的。

    我唯一的猜测是,当 nvidia 驱动程序报告正确的虚拟屏幕尺寸时,它会说:

    [   259.448] (II) NVIDIA(0):     "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0"
    

    而在结尾处(或几乎结尾处)有这样一行字:

    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    

    这意味着这两行的偏移量是相反的。因此,在前者中,DP-1.9 显示器是第一个,DP-1.8 是第二个,但在后者中顺序发生了变化。由于您没有提供屏幕图片,因此我无法知道您的问题是,如果您将光标移到右侧,它会回到左侧。但我可能会尝试将元模式设置为前者。因此,请更改此行:

       Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    

    到这个

       Option         "metamodes" "DP-1.8: nvidia-auto-select +0+0, DP-1.9: nvidia-auto-select +1920+0"
    

    或者尝试使用 MetaModeOrientation 选项,例如:

       Option "MetaModeOrientation" "DP-1.8 RightOf DP-1.9"
    

这就是我对这个问题的看法。希望这对你来说不是完全没用。

答案3

我遇到了同样的问题,并且几乎找到了解决办法。

假设您从 SST 开始,即 DisplayPort 1.2离开在显示器的 OSD 菜单中。xrandr -q显示您处于 30Hz 模式,并且您无法强制将其设置为 60Hz,因为 SST 不支持它。

在 OSD 中将 DP 1.2 切换为开启。屏幕现在处于 MST 状态,但兰德尔不是 - 而且你仍然无法强制 60Hz。在终端写入xrandr --output DP-1 --off(用适当的 ID 替换 DP-1)。屏幕将短暂关闭,然后重新打开。现在您处于 MST 中,检查xrandr -q将确认您有 60Hz!

问题是您有一个重复的背景,菜单栏仅占据屏幕的一半而不是跨越整个屏幕,Youtube 和视频覆盖仅最大化到屏幕的一半。

这显然是一个缺点兰德尔以上提示来自 nVidia 的 Aaron Plattner,回答了我关于如何在 Linux 中为 4K 显示器启用 60Hz 的 MST

问题尚未解决,他已联系兰德尔社区寻找解决方案。因此,如果有知情人士正在阅读此内容,请查看上面的帖子以获取更多信息,以便我们开始行动!

答案4

好的,我以前用带有 VGA 和 DVI 端口的双头显卡做过这个。我认为它可能适用于 DP1 端口。我认为 xrandr 是可以使用的工具。 http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

  1. 运行查询来查看连接的内容。

    xrandr -q
    
  2. 尝试测试解决方案:

    xrandr --output DP1 --mode 3840x2160
    
  3. 创建 ModeLine。这对于获得正确的刷新率和避免过早烧坏显示器非常重要。使用 cvt:http: slashslash linux.die.net/man/1/cvt

    cvt 3840 2160 30
    
  4. 将此 ModeLine 添加到 xorg。

  5. 阅读此页面以持久设置 xrandr 更改:

  6. 您可能需要编辑 xorg 来添加一个名为 virtual 的 SubSection。

相关内容