外接屏幕黑屏修复过程回忆起因(由于时间久远,我也不确定到底是不是这之后就立刻出现的了)4月29日,在我得知Fedora 44发布之后,我立刻使用命令从Fedora43升级到了Fedora44,随后,在5月,也可能是4月,的某次更新之后,或者是我其他的什么处理之后,我的hyprland WM和niri WM都无法使用第二屏幕了,唯有ked plasma可以正常使用,据此可以确认是某种配置的变化导致的。排错起初,我还以为是我使用的end-4的更新导致的(当时并未测试niri是否正常),于是重装了一下hyprland,但是很遗憾,依旧无效。随后,我当我进入niri发现外接屏幕仍然为黑屏时,我就意识到这可能是某种“环境配置”的问题。寻找出路首先,我去了hyprland WM的GitHub里寻找有没有相关的issue,但是大都是涉及多GPU配置导致的整个WM都处于一个不可用的状态,而不是外接屏幕的问题,或者我根据相关的jssue,在变量中让N卡单独渲染WM后,我的内置屏幕变得和外接屏幕一样都是黑屏了。无奈之下,只能寻求LLM的帮助,但是在网页中对话得到的结果都是让我配置变量来让WM使用单独的显卡,或是关闭可变刷新率这些设置云云,不过根据这一步,我得到了一个相关的信息:ネストされたドキュメント開く›第二屏幕可以被识别到hyprctl monitorsMonitor eDP-1 (ID 0): 2560x1600@240.00400 at 0x0 description: AU Optronics 0x84A6 make: AU Optronics model: 0x84A6 physical size (mm): 370x230 serial: active workspace: 1 (1) special workspace: 0 () reserved: 0 40 0 0 scale: 1.00 transform: 0 focused: yes dpmsStatus: 1 vrr: false solitary: 0 solitaryBlockedBy: windowed mode,missing candidate activelyTearing: false tearingBlockedBy: next frame is not torn,missing candidate,hw cursor directScanoutTo: 0 directScanoutBlockedBy: user settings,missing candidate disabled: false currentFormat: ****** mirrorOf: none availableModes: 2560x1600@240.00Hz 2560x1600@60.00Hz colorManagementPreset: srgb sdrBrightness: 1.00 sdrSaturation: 1.00 sdrMinLuminance: 0.20 sdrMaxLuminance: 80 hardwareCursorsInUse: trueMonitor HDMI-A-3 (ID 1): 1920x1080@60.00000 at 2560x0 description: Philips Consumer Electronics Company PHL 246E6 ZQ01550002293 make: Philips Consumer Electronics Company model: PHL 246E6 physical size (mm): 520x290 serial: ZQ01550002293 active workspace: 3 (3) special workspace: 0 () reserved: 0 40 0 0 scale: 1.00 transform: 0 focused: no dpmsStatus: 1 vrr: false solitary: 0 solitaryBlockedBy: windowed mode,missing candidate activelyTearing: false tearingBlockedBy: next frame is not torn,missing candidate directScanoutTo: 0 directScanoutBlockedBy: user settings,software renders/cursors,missing candidate disabled: false currentFormat: ****** mirrorOf: none availableModes: 1920x1080@60.00Hz colorManagementPreset: srgb sdrBrightness: 1.00 sdrSaturation: 1.00 sdrMinLuminance: 0.20 sdrMaxLuminance: 80 hardwareCursorsInUse: true可惜,在网页的LLM在提示我可以查看hyprland日志时,我没有一路走下去,而是无视了这条建议,直接转向了接入DeepSeek的Claude code(它实在太便宜了)Claude code的最终修复对于这一次的使用,我经历的一下阶段:1、无提示词,只是将hyprland的condig文件复制到一个文件夹中,让其查找问题,自然以失败告终2、同上,不过是从hyprland变为了niri3、我开始写README.md,但是提供的信息不全,使得cc依旧去尝试使用n卡来单独渲染,走了我之前尝试的老路,失败4、我将之前的尝试,将设置了单独使用n卡渲染的mangoWM在tty中启动失败的相关报错,journey的相关信息,都写入README.md中,cc最终发现了问题——GLVND EGL vendor 调度顺序错误。并进行了简单的修复,至少可以用了。ネストされたドキュメント開く›NVIDIA 混合显卡 + wlroots WM 外接屏修复总结问题Hyprland / niri / MangoWM 等 Wayland WM 上,NVIDIA 外接屏幕(HDMI-A-3)黑屏或无信号。KDE Plasma 正常。硬件拓扑 (MUXless)eDP-1 (内置屏) ─── Intel iGPU (card1, renderD128, 8086:a788) HDMI-A-3 (外接屏) ─── NVIDIA dGPU (card0, renderD129, 10de:28a0)两个显示器分别硬连接到不同 GPU,无法通过软件切换。回想
起因(由于时间久远,我也不确定到底是不是这之后就立刻出现的了)
4月29日,在我得知Fedora 44发布之后,我立刻使用命令从Fedora43升级到了Fedora44,随后,在5月,也可能是4月,的某次更新之后,或者是我其他的什么处理之后,我的hyprland WM和niri WM都无法使用第二屏幕了,唯有ked plasma可以正常使用,据此可以确认是某种配置的变化导致的。
排错
起初,我还以为是我使用的end-4的更新导致的(当时并未测试niri是否正常),于是重装了一下hyprland,但是很遗憾,依旧无效。
随后,我当我进入niri发现外接屏幕仍然为黑屏时,我就意识到这可能是某种“环境配置”的问题。
寻找出路
首先,我去了hyprland WM的GitHub里寻找有没有相关的issue,但是大都是涉及多GPU配置导致的整个WM都处于一个不可用的状态,而不是外接屏幕的问题,或者我根据相关的jssue,在变量中让N卡单独渲染WM后,我的内置屏幕变得和外接屏幕一样都是黑屏了。
无奈之下,只能寻求LLM的帮助,但是在网页中对话得到的结果都是让我配置变量来让WM使用单独的显卡,或是关闭可变刷新率这些设置云云,不过根据这一步,我得到了一个相关的信息:
第二屏幕可以被识别到
hyprctl monitors
Monitor eDP-1 (ID 0):
2560x1600@240.00400 at 0x0
description: AU Optronics 0x84A6
make: AU Optronics
model: 0x84A6
physical size (mm): 370x230
serial:
active workspace: 1 (1)
special workspace: 0 ()
reserved: 0 40 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: false
solitary: 0
solitaryBlockedBy: windowed mode,missing candidate
activelyTearing: false
tearingBlockedBy: next frame is not torn,missing candidate,hw cursor
directScanoutTo: 0
directScanoutBlockedBy: user settings,missing candidate
disabled: false
currentFormat: ******
mirrorOf: none
availableModes: 2560x1600@240.00Hz 2560x1600@60.00Hz
colorManagementPreset: srgb
sdrBrightness: 1.00
sdrSaturation: 1.00
sdrMinLuminance: 0.20
sdrMaxLuminance: 80
hardwareCursorsInUse: true
Monitor HDMI-A-3 (ID 1):
1920x1080@60.00000 at 2560x0
description: Philips Consumer Electronics Company PHL 246E6 ZQ01550002293
make: Philips Consumer Electronics Company
model: PHL 246E6
physical size (mm): 520x290
serial: ZQ01550002293
active workspace: 3 (3)
special workspace: 0 ()
reserved: 0 40 0 0
scale: 1.00
transform: 0
focused: no
dpmsStatus: 1
vrr: false
solitary: 0
solitaryBlockedBy: windowed mode,missing candidate
activelyTearing: false
tearingBlockedBy: next frame is not torn,missing candidate
directScanoutTo: 0
directScanoutBlockedBy: user settings,software renders/cursors,missing candidate
disabled: false
currentFormat: ******
mirrorOf: none
availableModes: 1920x1080@60.00Hz
colorManagementPreset: srgb
sdrBrightness: 1.00
sdrSaturation: 1.00
sdrMinLuminance: 0.20
sdrMaxLuminance: 80
hardwareCursorsInUse: true
可惜,在网页的LLM在提示我可以查看hyprland日志时,我没有一路走下去,而是无视了这条建议,直接转向了接入DeepSeek的Claude code(它实在太便宜了)
Claude code的最终修复
对于这一次的使用,我经历的一下阶段:
1、无提示词,只是将hyprland的condig文件复制到一个文件夹中,让其查找问题,自然以失败告终
2、同上,不过是从hyprland变为了niri
3、我开始写README.md,但是提供的信息不全,使得cc依旧去尝试使用n卡来单独渲染,走了我之前尝试的老路,失败
4、我将之前的尝试,将设置了单独使用n卡渲染的mangoWM在tty中启动失败的相关报错,journey的相关信息,都写入README.md中,cc最终发现了问题——GLVND EGL vendor 调度顺序错误。并进行了简单的修复,至少可以用了。
NVIDIA 混合显卡 + wlroots WM 外接屏修复总结
问题
Hyprland / niri / MangoWM 等 Wayland WM 上,NVIDIA 外接屏幕(HDMI-A-3)黑屏或无信号。KDE Plasma 正常。
硬件拓扑 (MUXless)
两个显示器分别硬连接到不同 GPU,无法通过软件切换。
回想