我有一块 Asrock J4105 主板
在启动过程中,在 systemd 中的某个时刻,屏幕变黑(显示无信号),直到我取出 HDMI 电缆并将其拔下并重新插入。这就是我想要修复的问题。无论我拔掉 PC 或屏幕侧的电缆都没有关系
我的屏幕是一台旧的 LG 电视。主板支持 HDMI 2.0,并且仅支持 UEFI,不支持传统。我检查了在线更新功能,发现 BIOS 是最新的。电缆相当旧,来自亚马逊基础产品。
我努力了:
- 带内核的 Manjaro:
- 4.18.5-1
- 4.14.67-1(我在其上进行了所有其他测试)
- 4.4.153-1
- 3.16.57-1(无法加载 GUI)
- 没有登录/显示管理器的 Manjaro
- Xubuntu 实时 USB
- Ubuntu Gnome 实时 USB
Fedora 28 实时 USB(Wayland)
并且它们都表现出完全相同的行为。
此外,使用 nomodeset 选项启动可以工作,而 video=LVDS-1:d、video=HDMI1:d、vga=ask 则无法工作
关闭并打开电视
和非常很少会随机起作用
VGA 电缆可以使用(但我希望获得更好的图像质量和 cec 功能……)
在屏幕关闭的情况下登录控制台并使用 xrandr 而不使用登录管理器,它只是说“无法打开显示”
启动过程中,屏幕显示“TPM 自检失败”后变黑
当我将电视与 Raspberry Pi 3 B 一起使用时,电视上的 HDMI 始终可以正常工作。
在屏幕仍处于断开状态时使用 startx 无法解决问题
这就是我所知道的一切。我想尝试使用不同的图形驱动程序,但安装了大量的东西,例如“intal vulkan mesa driver”等。
我希望通过列举这些内容,可以更容易地写出潜在的答案。
感谢您的阅读,我期待得到答案或提示。如果您想查看一些日志输出,我很乐意提供。我只是不知道哪一个是相关的。
谨致问候,托比
注意:如果读者想知道 video=LVDS-1:d 等的含义,可以在此处进行配置:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-making_temporary_changes_to_a_grub_2_menu我可以在启动过程中选择高级启动选项进入这个“grub2”菜单。据我所知,这些选项可以通过将它们添加到 GRUB_CMDLINE_LINUX_DEFAULT 中永久设置在 /etc/default/grub 中。
答案1
修复此问题似乎需要采取以下必要步骤:
- 在 grub 中将 video=1280x720 模式(或者可能是任何其他受支持的分辨率)(非常感谢@grawity)
- 使用网络“sudo mhwd -a pci nonfree 0300”命令安装驱动程序
- 以某种方式设置屏幕分辨率,以便下次记住。(实际上,只要不拔掉 HDMI 电缆,标准的 Manjaro“显示”设置就可以工作)
/etc/X11/xorg.conf.d/10-monitor.conf:
Section "Monitor"
Identifier "External HDMI"
Modeline "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
Option "PreferredMode" "1280x1024_60.00"
EndSection
Section "Device"
Identifier "Intel UHD 600"
Driver "intel"
EndSection
Section "Screen"
Identifier "Primary Screen"
Device "Intel UHD 600"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x720"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Primary Screen"
EndSection
驱动程序名称“intel”(来源:https://www.freebsd.org/doc/handbook/x-config.html)
在 xorg.conf 中设置分辨率https://wiki.ubuntu.com/X/Config/Resolution
生成模式行时,我使用了 cvt:https://www.reddit.com/r/linux/comments/67282a/is_cvt_or_gtf_better_for_creating_a_48hz_modeline/
由于这个配置文件,重新连接屏幕时分辨率默认为 1280x720(例如因为我想清洁电视并避免通过 GUI 进行进一步的重新配置步骤以返回到所需的分辨率)
该错误似乎是由于默认分辨率为 1920x1080 60hz 引起的,即使手动设置,电视也会变黑。
更多内容:
使用 hdmi -> vga D/A 转换器不会导致问题,所以这似乎是电视和驱动程序之间存在一些愚蠢的不兼容问题。
lightdm 对我来说也很好用,现在始终设置为 1280x720 分辨率,并且无需显示管理器即可从控制台和“startx”命令登录。
在我让它工作之后,逆转它的步骤不会对其产生影响:
- 在 ./.xprofile 中有“xrandr -s 1280x720”
- 在 /etc/default/grub 中取消注释“GRUB_TERMINAL_OUTPUT=console”
- 在 /etc/default/grub 中注释了“GRUB_GFXPAYLOAD_LINUX=keep”
备择方案:
- 使用 vga 而不是 hdmi(在同一台电视上测试)
尚未测试:
- 使用 dvi 代替 hdmi