AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 736679
Accepted
Robert Siemer
Robert Siemer
Asked: 2023-02-24 08:31:08 +0800 CST2023-02-24 08:31:08 +0800 CST 2023-02-24 08:31:08 +0800 CST

如何让 xrandr 通过这个 USB-C 扩展坞以 60Hz 输出三个 1680x1050 视频信号?

  • 772

我有三个相同的 1680x1050 显示器,我正尝试通过我的 Razer Blade 15" 2018 笔记本电脑上的“HP G5 USB-C 扩展坞”及其 Thunderbolt 3 端口使用它们。有时我可以让所有显示器同时工作,但从来没有xrandr在我想要的决议。

如果我自己构建模式行,我可以在 1680x1050 和 49Hz 下运行所有​​三个。60Hz不可能吗?也许这是一个像素时钟问题。

xrandr | egrep '^[^ ]' | grep -v 'Screen 0:' | sed -e 's/ (.*//'

在没有连接扩展坞的情况下打印:

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
HDMI-1-1 disconnected
DP-1-3 disconnected

热插拔扩展坞后,我看到:

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
DP-1-1 connected
DP-1-2 connected
DP-1-3 disconnected
HDMI-1-1 disconnected

使用扩展坞启动显示:

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
DP-1-1 connected
DP-1-2 connected
DP-1-3 connected
HDMI-1-1 disconnected
DP-1-6 disconnected

扩展坞热插拔后我无法配置xrandr --output DP-1-3 --auto。我明白了xrandr: cannot find preferred mode。不过,用它启动是有效的。

尝试启用 1680x1050@60 的第三台显示器会产生xrandr: Configure crtc 0 failed. 我什至使用了由cvt -r. 我认为这些显示器对于 CVT-RBv2 来说太旧了。

[找朋友@bain]

usb
  • 1 1 个回答
  • 41 Views

1 个回答

  • Voted
  1. Best Answer
    Robert Siemer
    2023-02-24T08:31:08+08:002023-02-24T08:31:08+08:00
    我的发现
    1. HP G5 扩展坞(规格)仅支持 USB-C。视频信号将使用著名的 DisplayPort USB-C 交替模式传输​​;未使用笔记本电脑的 Thunderbolt 3 功能(相同端口,不同操作模式) 。

    2. 三重 1680x1050 分辨率强烈暗示笔记本电脑仅限于 USB-C 上的 DisplayPort 1.2 ,并且仅使用 2 条通道。它允许 8.64Gb/s 的带宽,三重 1680x1050 非常适合,但60Hz 是可能的。是什么让您如此确定 CVT-RBv2 时序不起作用?该错误xrandr: Configure crtc 0 failed表明 GPU 无法配置为执行您想要的操作。如果显示器实际上无法处理该模式,它只能在它自己的屏幕上指示,奇怪地闪烁或变暗等。对于cvt这种情况(以及许多其他情况),生成有用的模式行是无用的。此外,其-r开关仅生成“v1”时序。

    1. 热插拔问题似乎是一个不相关的错误。如果您在没有扩展坞的情况下查看端口,您会看到奇数DP-1-3端口。我不确定它代表什么,尤其是没有DP-1-1和DP-1-2周围。-我相信这个奇怪的条目与 coldplug 案例中的条目相同DP-1-6(数字始终是最后一个的 +3 DP-1-x)。在热插拔事件中,枚举在该虚假名称DP-1之后发生冲突DP-1-1并且无法使用该名称注册并且不会尝试任何其他名称,这似乎使得无法查看/处理扩展坞的最后一个视频端口。DP-1-2DP-1-3
    如何进行
    60Hz刷新率

    (以下文本显示了使事情顺利进行的方法。阅读并理解并适应您的环境。复制和粘贴可能不起作用。)

    让我们把所有显示器调到 60Hz。首先,确保你是冷插的,并且所有 3 个外接显示器都以某种分辨率工作。为避免瓶颈问题或达到 GPU 的其他限制(我们要测试显示器!),在内部屏幕上工作并关闭所有其他屏幕

    for no in 1 2 3; do xrandr --output DP-1-$no --off; done
    

    现在让我们添加“我的”模式行:¹

    xrandr --newmode h160 119    1680 1728 1760 1840 1050 1053 1059 1080 +HSync -VSync
    xrandr --newmode h80 114.048 1680 1688 1720 1760 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h60 112.752 1680 1688 1710 1740 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h50 112.104 1680 1688 1705 1730 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h40 111.456 1680 1688 1702 1720 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h30 110.808 1680 1682 1690 1710 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h25 110.484 1680 1682 1690 1705 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h20 110.16  1680 1682 1690 1700 1050 1066 1074 1080 +HSync -VSync
    xrandr --newmode h12 109.642 1680 1684 1688 1692 1050 1066 1074 1080 +HSync -VSync
    

    现在将它们添加到您的首选显示器(最终添加到其他显示器):

    for name in h160 h80 h60 h50 h40 h30 h25 h20 h12; do xrandr --addmode DP-1-1 $name; done
    

    现在测试它们!

    xrandr --output DP-1-1 --mode h160
    

    h160 应该工作。这是无聊的 CVT-RB 时序cvt -r 1680 1050 60。然后测试h80。这是CVT-RBv2。我有四个平庸的老显示器,他们都能做到。更远:

    • 在 h60 上,我糟糕的 Medion 品牌全高清显示器图像不稳定
    • h30 是这款 BenQ 品牌全高清显示器的最后一个型号
    • h20 惠普全高清显示器(好)
    • h12 戴尔办公室 1680x1050 显示器(工作正常!)

    然后尝试在您使用的最后一个模式行上启用所有三个。

    60Hz替代方案

    如前所述,带宽限制还取决于 USB-C Displayport 交替模式版本和设置。如需更多带宽,请使用 DP 1.3+ 和/或 4 通道(最大)而不是 2 条 USB-C 接线。前者不能在同一硬件上更改,后者有时可以在固件设置实用程序(“BIOS”)中查找“USB-C 高分辨率模式”或其他内容......在 4 通道模式下没有 USB 3.x 在 DisplayPort 视频信号旁边可用,只有 USB 2.0。

    热插拔扩展坞

    对于相同的 3 个状态(无扩展坞、热插拔、冷插拔),请发送输出

    (cd /sys/class/drm; ls */edid)
    

    我有

    card0-DP-1/edid     card0-DVI-I-2/edid
    card0-DVI-I-1/edid  card0-HDMI-A-1/edid
    

    例如完全不同的名字相比xrandr | egrep '^[^ ]' | grep -v 'Screen 0:' | sed -e 's/ (.*//'

    DisplayPort-0 connected primary 1680x1050+0+1080
    HDMI-0 connected 1680x1050+1920+1080
    DVI-0 connected 1680x1050+3840+1080
    DVI-1 connected 1680x1050+1920+0
    

    也许它揭示了什么是什么。Razer Blade 15" Base (2018)应该有内部显示器、1×Thunderbolt3/USB-C、1×HDMI 2.0 和 1×Mini DisplayPort 1.4。

    这就解释了 eDP-1、HDMI-1-1(虽然不是它的命名)和 DP-1 与 USB-C 相关,正如我们所知。离开 DP-2 和 DP-1-3。我猜 DP-2 是 Mini DisplayPort。也许 DP-1-3 是 Thunderbolt/USB 两用端口的 Thunderbolt 端。如果存在相互依赖性,让我们通过首先单独启用它们,然后一起启用来确认它。断开扩展坞并切换--off所有输出。然后

    xrandr --addmode DP-1 0x74  # some 800x600 standard modeline on my system
    xrandr --output DP-1 --mode 0x74  # does this work?
    xrandr --output DP-1 --off  # afterwards
    

    这样你就可以强制 GPU 在那里输出一些东西。接下来尝试 DP-1-3。它有效吗?您可以同时启用两者吗?还有不同的(低分辨率)分辨率(例如没有镜像)?能借个 Thunderbolt 转 DP 转换器吗?检查此适配器是否使用 DP-1-3。

    无论如何......如果这一切都证明是真的,那么 Xserver 似乎在为某种内部输出分离器分发冲突名称方面做了一个错误的决定。看看您是否只能在热插拔扩展坞后重新启动 Xserver 而无需完全重新启动,这将很有趣。如果它开始工作,那么内核 GPU 驱动程序似乎不会引发问题,但确实是 X11 中的枚举。


    ¹ 像素时钟使用Tom 的视频计时计算器计算并手工模制成模型线。

    • 2

相关问题

  • 无头启动并安装在同一 USB 设备上

  • 如何安全地将 U 盘/设备插入 Linux 计算机?

  • 如何从 USB 而不是 cdrom 安装 pppoe 包?

  • 如何修改 U 盘以将设备节点设为 /dev/sda1 而不是 /dev/sda?

  • 将 USBIP 用于正在移除和重新连接的设备

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve