![为什么我(仍然)无法通过 HDMI 使外接显示器工作?(Thinkpad T460s,Kubuntu)](https://linux22.com/image/915943/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%EF%BC%88%E4%BB%8D%E7%84%B6%EF%BC%89%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20HDMI%20%E4%BD%BF%E5%A4%96%E6%8E%A5%E6%98%BE%E7%A4%BA%E5%99%A8%E5%B7%A5%E4%BD%9C%EF%BC%9F%EF%BC%88Thinkpad%20T460s%EF%BC%8CKubuntu%EF%BC%89.png)
几年来我一直无法得到我的LG Flatron W2261VP作为我的外接显示器ThinkPad T460s跑步Ubuntu(目前为 18.04.3,内核为 4.15.0)。由于 T460S 没有 VGA 插槽,因此它是通过 HDMI 连接的。
一开始,我插入 HDMI 电缆,系统设置中识别到了显示器,但我无法打开它。每隔一段时间我就会重试一次,有时显示器甚至没有出现在系统设置中。目前它确实出现了。但是,只要我插入电缆,系统就会部分冻结/变慢,无法工作,因为笔记本电脑显示器每隔几秒钟就会变黑。外接显示器保持黑屏,有时会显示有关 HDMI 省电模式的消息。
不过,我可以通过 HDMI 连接其他外接显示器。我还用另一台机器检查了电缆。在安装 Kernel 4.10 后,问题短暂消失(参见无法通过 HDMI 使外接显示器工作(Thinkpad T460s,Kubuntu))。
我也尝试过使用带有 Live USB 的显示器(Ubuntu 18.04 和 Kubuntu 18.04),但问题是一样的。
有什么解决方案吗?我附上了一些命令结果。
$ uname -rm
4.15.0-34-generic x86_64
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
$ lspci -nnk | grep -i VGA -A2
00:02.0 VGA compatible controller [0300]: Intel Corporation Skylake GT2 [HD Graphics 520] [8086:1916] (rev 07)
Subsystem: Lenovo Skylake GT2 [HD Graphics 520] [17aa:2233]
Kernel driver in use: i915
$ sudo lshw -c video
*-display
Beschreibung: VGA compatible controller
Produkt: Skylake GT2 [HD Graphics 520]
Hersteller: Intel Corporation
Physische ID: 2
Bus-Informationen: pci@0000:00:02.0
Version: 07
Breite: 64 bits
Takt: 33MHz
Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
Konfiguration: driver=i915 latency=0
Ressourcen: irq:124 memory:f0000000-f0ffffff memory:e0000000-efffffff ioport:e000(Größe=64) memory:c0000-dffff
$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
2560x1440 60.00 + 48.00 59.95
1920x1440 60.00
1856x1392 60.01
1792x1344 60.01
2048x1152 59.90 59.91
1920x1200 59.88 59.95
1920x1080 59.97* 59.96 59.93
1600x1200 60.00
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1440x900 59.89
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1360x768 59.80 59.96
1280x800 59.99 59.97 59.81 59.91
1152x864 60.00
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected (normal left inverted right x axis y axis)
1920x1080 59.93 + 60.00 60.00 50.00 59.94
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
1280x1024 60.02
1280x960 60.00
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 60.00 59.94
640x480 60.00 59.94
这是我插入电缆时的系统日志: https://paste.ubuntu.com/p/qtJJ8tzQ4K/
我已尝试按照此处的建议删除 ./local/share/kscreen: https://bugs.kde.org/show_bug.cgi?id=353637 但这并没有什么帮助。
答案1
根据您的日志,您已将显示器连接到 HDMI-2 并且已被检测到。
HDMI-2 connected (normal left inverted right x axis y axis)
同样来自系统日志:
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Connected outputs: QVector()
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Geometry: QRect(1920,0 0x0)
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: RRSetCrtcConfig (enable output)
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Output: 70 ( "HDMI-2" )
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011New CRTC: 64
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Pos: QPoint(1920,0)
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Mode: KScreen::Mode(Id: "457" , Size: QSize(1920, 1080) @ 60 ) Preferred: "84"
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Rotation: 1
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Result: 0
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: XRandROutput 70 update
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011m_connected: 0
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011m_crtc QObject(0x0)
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011CRTC: 64
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011MODE: 457
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Connection: 0
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011Primary: false
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: Connected output 70 to CRTC 64
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: RRSetOutputPrimary
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: #011New primary: 0
Sep 22 15:12:11 t460s org.kde.KScreen[1255]: kscreen.xrandr: XRandR::setConfig done!
从 xrandr 输出中看到的内容:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
您的屏幕分辨率为 0 至 1920x1080,并且没有配置其他屏幕。尝试使用 xrandr 启用 HDMI-2 显示器:
xrandr --output HDMI-2 --auto
如果这不起作用,请尝试指定分辨率和刷新率:
xrandr --output HDMI-1 --mode 1920x1080 --rate 60
并检查 KDE 显示设置,查看两个显示器是否都显示。
PS. 另一种解决问题(HDMI 电缆、显示器等)的方法是使用较新版本的 Ubuntu(例如 19.04)或带有 LiveUSB 映像的 Fedora 30。许多 Red Hat 员工使用装有 Fedora 的 Thinkpad,因此应该可以无缝运行。