HDMI monitor (HDMI-A-2) persists after disconnect, causing UI lag (Phantom Monitor Issue) #10152
Replies: 5 comments 5 replies
-
|
this could be an nvidia issue, and likely is imo? Can you test something like sway or kde to see if they have the same issue? |
Beta Was this translation helpful? Give feedback.
-
|
I have a similar issue, with minimal UI lag, on a Fedora 42 system on an Intel Arc integrated graphics (Meteor lake IGP). |
Beta Was this translation helpful? Give feedback.
-
|
Similar issue here. DP monitors connected via a doc (Dell WD19TB) persist after disconnecting from the doc. [Arch; Hyprland 0.50.1; integrated Intel Arc-140V] No slow-downs, however. Some extra info: the issue only seems to happen when two external monitors are connected. If only one external monitor is connected to the dock, it "disappears" correctly after undocking... |
Beta Was this translation helpful? Give feedback.
-
|
I have similar problems: I have encountered this in two different setups. WFH setuplaptop display + 2 external displays
Relevant hyprland config: Sometimes when I connect hdmi/usb-c dongle, I get duplicate monitors (extra DP monitors) and when I disconnect, they remain: I suspect this might have something to do with my monitor configs which bind to monitor descriptions instead of ports (the ports change sometimes due to dongle + order of cables) Office setupIn office, I have thinkpad usb-c dock which is connected to 2 displayport monitors. Relevant config: In this setup, I'm frequently (at least once per day) experiencing phantom monitors when I disconnect from my dock. The problem this causesThe phantom monitors cause two problems for me:
|
Beta Was this translation helpful? Give feedback.
-
|
Hey there! I was wondering if you guys have similar symptoms (as in, if you run |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello Hyprland Team and Community,
Following the contribution guidelines, I'm starting this discussion to report a persistent issue I'm experiencing with an external HDMI monitor not being logically disconnected after the cable is physically unplugged. This leads to a "phantom monitor" state and significant UI lag. I've performed extensive troubleshooting, detailed below.
System Information:
Problem Description:
When an external monitor is connected via the HDMI-A-2 port (which appears associated with the NVIDIA GPU), it works correctly. However, upon physically unplugging the HDMI cable from the laptop, hyprctl monitors continues to list HDMI-A-2 indefinitely. This "phantom monitor" state also causes significant UI lag (stuttering when switching windows, opening apps, etc.). The lag stops immediately if the phantom monitor is manually disabled via hyprctl. This issue occurs reliably on the linux-zen kernel.
Steps to Reproduce:
Expected Behavior:
After unplugging the HDMI cable, hyprctl monitors should update within a few seconds to show only the internal display (eDP-1). The UI should remain responsive.
Actual Behavior:
hyprctl monitors continues to show both eDP-1 and the now disconnected HDMI-A-2. Significant UI lag begins immediately after unplugging and persists as long as the phantom HDMI-A-2 is listed.
Example hyprctl monitors output in the faulty state (after unplugging):
Troubleshooting Steps Taken & Results:
Initial State: Problem was observed on standard Arch kernel, along with unrelated Waydroid startup issues.
Switched to linux-zen Kernel: Installed linux-zen (6.14.3-zen1-1-zen) and linux-zen-headers. Unrelated Waydroid issues were resolved. NVIDIA driver (570.144, DKMS) loads successfully under Zen.
Phantom Monitor Persisted on Zen: The issue of HDMI-A-2 remaining listed after unplugging continued exactly as before on the Zen kernel.
Isolated Other Software: Explicitly stopped the Waydroid service (sudo systemctl stop waydroid-container.service). Tested HDMI disconnect again. The phantom monitor issue still persisted.
Tested without NVIDIA Env Vars: Commented out NVIDIA-specific environment variables (LIBVA_DRIVER_NAME=nvidia, __GLX_VENDOR_LIBRARY_NAME=nvidia, NVD_BACKEND=direct) in hyprland.conf and restarted the Hyprland session (likely running on Intel GPU). Tested HDMI disconnect again. The phantom monitor issue still persisted. Reverted this change.
Checked Logs During Disconnect: Monitored journalctl -f and checked journalctl -b -1 during/after the HDMI unplug event. No log messages related to DRM, KMS, HDMI, Hyprland, wlroots, display changes, or errors appear during the critical moments. The failure is silent in the system logs.
Checked DRM EDID: Ran ls -1 /sys/class/drm/*/edid. Confirmed ports match hardware, no persistent Unknown-1 phantom found. Output:
Manual Disable Works & Fixes Lag: After unplugging HDMI and HDMI-A-2 gets stuck, running hyprctl keyword monitor HDMI-A-2,disable successfully removes the entry from hyprctl monitors and immediately stops the associated UI lag.
Related GitHub Issues:
#5958: Discusses phantom monitors attributed to driver bugs (often NVIDIA). While I don't have a persistent unknown monitor, the root cause (driver misreporting/mishandling state) seems potentially related. The workaround suggested there (disable ghost monitor) aligns with my manual fix.
#2770: Discusses crashes on HDMI disconnect (fixed in older versions). My issue is different (no crash, just persistence/lag), but shows previous sensitivity to disconnect events.
Current Workaround:
Manually running hyprctl keyword monitor HDMI-A-2,disable after unplugging the HDMI cable successfully removes the phantom monitor and stops the associated lag. I plan to bind this command to a key for convenience.
Hypothesis:
Given the persistence across kernels, independence from Waydroid or NVIDIA env vars, lack of logs, and the fact that a manual disable works, this seems most likely a silent failure in the driver (NVIDIA/kernel DRM) or Hyprland/wlroots' handling of the hot-unplug event specifically for the HDMI-A-2 port on this hardware configuration.
Could you provide any insights or suggest further debugging steps? Is this known behavior or potentially a new bug interaction? Thank you for your time and work on Hyprland.
Beta Was this translation helpful? Give feedback.
All reactions