![无法通过 USB-C 连接外部显示器(xrandr 中未列出显示端口),Ubuntu 20.04](https://linux22.com/image/185180/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20USB-C%20%E8%BF%9E%E6%8E%A5%E5%A4%96%E9%83%A8%E6%98%BE%E7%A4%BA%E5%99%A8%EF%BC%88xrandr%20%E4%B8%AD%E6%9C%AA%E5%88%97%E5%87%BA%E6%98%BE%E7%A4%BA%E7%AB%AF%E5%8F%A3%EF%BC%89%EF%BC%8CUbuntu%2020.04.png)
我正在尝试使用 Ubuntu 的华硕笔记本电脑上的 USB-C 端口和适配器连接外部显示器。
我知道设置(电缆、适配器、显示器)都正常工作,因为我可以将其连接到运行相同 Ubuntu 版本的戴尔笔记本电脑上。
以下是一些规格:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
$ uname -a
Linux bl-asus 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
请注意,其中没有显示端口xrandr
:
$ xrandr
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 16384 x 16384
eDP-1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 293mm x 165mm
1920x1080 60.05 + 60.01 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
... etc
320x180 59.84 59.32
HDMI-1 disconnected (normal left inverted right x axis y axis)
我的显卡是 Intel UHD Graphics 620,我相信支持显示端口连接。
$ sudo lshw -c video
*-display
description: VGA compatible controller
product: UHD Graphics 620
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 07
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:128 memory:ee000000-eeffffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
关于如何让它识别 Display Port 并通过 USB-C 连接到外部显示器,有什么想法吗?
编辑:在测试了 MacGuffin 下面指出的内容后,我的笔记本电脑 (Asus UX330A) 似乎不支持 USB-C 视频。看:https://www.reddit.com/r/linuxhardware/comments/7o0lsv/usbc_functionity_on_asus_ux330ua/和https://www.asus.com/support/FAQ/1042843/。
答案1
我建议您检查两件事:电缆和计算机 BIOS。
首先检查您是否拥有符合 USB-C 和 DisplayPort 规范的优质电缆。我知道您说过您在另一台计算机上测试了这条电缆并且它可以在那里工作,但这可能仅仅意味着另一台计算机没有遵循规范和/或对违反书面规范的电缆更加宽容。制造这些电缆的人花了很多钱来测试他们的电缆,有了这些钱,他们就有权在他们的电缆上加上 USB“三叉戟”图标、Thunderbolt“火花”或 DisplayPort 风格的“DP”图标。如果您没有看到任何这些图标,请不要去购买新电缆,只需在检查其他可能的问题时记住这一点。
即使您的电缆符合 USB-C 和 DisplayPort 规格,也有不止一种规格。 USB-C 需要提供至少 7.5 瓦的功率,电缆中的某些电子设备可能需要超过此功率,并且端口无法提供所需的功率。 DisplayPort 电缆的等级不止一种,您的设置可能需要比您现有的电缆等级更高的电缆。对其进行分级的一种方法是 RBR(降低比特率,支持 1080i)、标准(支持 4K,但刷新率可能较低)和 DP8K(经测试支持 8K 分辨率)。另一种方法是根据它们支持的 DisplayPort 版本来对它们进行评级,可以是 1.0、1.2、1.3、1.4 或 2.0。另一个是它们支持的数据速率,可以是 5 到 80 Gbps。更令人困惑的是,至少还有一个标准来指示电缆的带宽。
很难说您需要哪种电缆,但如果您使用 USB-C 转 DisplayPort,那么该电缆应该有一些符合 DP 1.2 规范或更新规范的指示。
我建议检查的第二件事是计算机上的 BIOS 设置。阅读您提供的论坛链接会发现,除非明确启用,否则某些计算机不会将 DisplayPort 输出到 USB-C。启用 USB-C 上的 DP 输出可能会同时禁用计算机可能具有的任何 HDMI 端口(您不太可能担心这一点)。在 USB-C 上启用 DP 输出可能会导致端口上的 USB 3.0 丢失,因为 DisplayPort 和 USB 3.0 在连接器上使用相同的“超高速”电线,并且一次只有其中一根可以使用这些电线。大多数计算机都会根据计算机检测到的电缆类型自动在 USB 3.0 和 DisplayPort 之间进行切换,我怀疑您测试电缆时使用的戴尔计算机会这样做。这种缺乏自动切换的情况似乎在配备英特尔显卡的计算机上最为常见。你可以和我一样推测这是为什么。
我建议在 BIOS 中查找一些设置以启用 DP 输出到 USB-C 端口。我建议检查电缆是否符合规格,并在可能的情况下使用另一根电缆进行测试。如果您在 BIOS 中没有看到 DP 输出选项,并且电缆似乎符合规格,则计算机可能根本不支持 DisplayPort 视频输出。