我对 Linux 还很陌生:我最近安装了 Ubuntu 14.04 Gnome(我买笔记本电脑时没有操作系统)。它有一个 Intel Haswell Mobile 芯片组,我似乎无法通过 HDMI 连接第二个屏幕(HP Pavillon 23xi)。
我是否应该更新驱动程序或做其他事情?
感谢所有人的帮助
编辑:回答 Jan 的评论:
~ sudo lsmod|grep 915
i915 783805 7
drm_kms_helper 55071 1 i915
drm 303102 6 i915,drm_kms_helper
i2c_algo_bit 13413 1 i915
video 19476 1 i915
~ glxinfo |grep render
未被识别
和
~ for i in /sys/class/drm/card*/enabled; do echo -en "$i\t"; cat $i;done
/sys/class/drm/card0-DP-1/enabled disabled
/sys/class/drm/card0-eDP-1/enabled enabled
/sys/class/drm/card0-HDMI-A-1/enabled disabled
/sys/class/drm/card0-HDMI-A-2/enabled disabled
/sys/class/drm/card0-VGA-1/enabled disabled
答案1
在 Ubuntu 14.04 甚至 16.04 上,我的电视上的 Intel HD 集成显卡的第二个 HDMI 端口也出现了同样的问题。
有时电视能被检测到,有时不能。在 Windows 下也完全一样,在设备管理器中禁用图形适配器一段时间,然后重新启用它,第二个 HDMI 上的电视就能奇迹般地被检测到。
最后,我找到了一个适用于 Linux 的解决方案。问题是 HDMI 端口未启用,因此无法检测到电视/显示器。通常情况下,HDMI 端口应该可以检测到新硬件并自动启用,但不幸的是,在我的硬件上并没有发生这种情况。
因此解决方案是在启动时手动启用 HDMI 端口。例如,您有
/sys/class/drm/card0-HDMI-A-1/enabled disabled
/sys/class/drm/card0-HDMI-A-2/enabled disabled
因此,如果您在启动期间在 grub 中将这些参数添加到内核
video=HDMI-A-1:e video=HDMI-A-2:e
应该根据http://distro.ibiblio.org/fatdog/web/faqs/boot-options.html启用两个端口。
之后只需查看实际使用的端口,然后使用以下命令编辑 /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT= ...keep options and add... video=HDMI-A...
赶紧跑
update-grub
它应该可以工作。
例如,我的机器上有 3 个 HDMI 端口,但只有 2 个连接到主板(一个根本无法连接)。如果我启用所有 3 个连接器,最大分辨率为 1024x768,因此我需要找出使用过的两个(在我的情况下是 HDMI-A-2 和 HDMI-A-3,其中 HDMI-A-3 是第一个,HDMI-A-1 与主板断开连接)并在 grub 中仅启用这两个,例如在我的情况下,启动行如下所示 video=HDMI-A-2:e video=HDMI-A-3:e。
目前我使用的是 Gigabyte Z87N-Wifi 主板,其中一台显示器连接 HDMI,电视连接 HDMI。通过这些设置,电视在重启后始终能被检测到。