https://bugs.kde.org/show_bug.cgi?id=517911
Bug ID: 517911
Summary: Kwin Issue. Read for more info you're lucky im taking
the time to do this in the first place.
Classification: Plasma
Product: kwin
Version First unspecified
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: core
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Product: kwin
Component: general
Version: 6.6.3
OS: CachyOS (Arch-based), Kernel 6.19.9-1-cachyos
GPU: NVIDIA RTX 5070 Ti, driver 595.45.04 (open kernel modules)
Title: KWin creates phantom "Unknown-1" output in kwinoutputconfig.json on
every resume from S3 sleep (NVIDIA Wayland)
Description:
SUMMARY
On every resume from S3 suspend, KWin Wayland detects a transient DRM output
without EDID and saves it as "Unknown-1" in ~/.config/kwinoutputconfig.json.
This creates a phantom 3rd output entry and additional setup profiles that
reference it. The phantom output is not visible to the user and does not
correspond to any physical or virtual display.
The Unknown-1 entry persists across reconfigure (qdbus6 org.kde.KWin /KWin
reconfigure) and is recreated on every sleep/wake cycle even after manual
removal from the config file.
This is related to MR !4913 (Fix mishandling of output configuration if output
monitor EDID is missing).
IMPACT
While the phantom output does not appear on screen, its presence in
kwinoutputconfig.json causes real problems:
- KDE Display Settings saves position changes to the wrong setup profile (the
3-monitor profile that includes Unknown-1 instead of the actual 2-monitor
profile), causing monitor positions to silently revert after reboot/sleep
- The config file accumulates duplicate setup entries over time
- Users with portrait-rotated secondary monitors are especially affected
because the wrong profile has y=0 instead of the correct vertical offset
STEPS TO REPRODUCE
1. System: NVIDIA GPU (RTX 5070 Ti), proprietary driver 595.45.04, Wayland
session, two DisplayPort monitors
2. Configure monitor positions in KDE Display Settings (e.g. vertical offset
for portrait monitor)
3. Suspend to RAM (S3 deep sleep): systemctl suspend
4. Resume from sleep
5. Check ~/.config/kwinoutputconfig.json
EXPECTED RESULT
Config file contains only the two physical outputs (DP-1, DP-2) and their setup
profiles.
ACTUAL RESULT
Config file contains a third output "Unknown-1" with:
- connectorName: "Unknown-1"
- 2560x1440@60Hz (matches physical monitor resolution but at default refresh)
- detectedDdcCi: false
- No EDID hash
Additional setup profiles are created referencing outputIndex 2 (Unknown-1),
including a 3-monitor setup and an Unknown-1-only setup.
INVESTIGATION NOTES
- DRM connectors (/sys/class/drm/card1-*) show only DP-1, DP-2, DP-3, HDMI-A-1,
HDMI-A-2 after resume — no Unknown connector
- The phantom is NOT from simpledrm (card0 is removed after NVIDIA takes over)
- The phantom is NOT from the plasmalogin greeter (greeter config does not get
Unknown-1 re-added after resume, only the user session does)
- Disabling HDR on the primary monitor does not prevent the phantom
- The phantom is recreated by the user KWin session processing DRM hotplug
events during NVIDIA resume, when a connector briefly appears without EDID
- nvidia-resume.service runs, then PowerDevil fires
DDCA_EVENT_DISPLAY_CONNECTED for each monitor — during this window the phantom
is created
WORKAROUND
Manually edit the 2-monitor setup profile in kwinoutputconfig.json to have the
correct positions. Do NOT use KDE Display Settings to fix positions while
Unknown-1 is present — the change will be saved to the 3-monitor profile
instead of the 2-monitor profile.
SYSTEM INFO
- KDE Plasma 6.6.3, KWin 6.6.3 (Wayland)
- NVIDIA GeForce RTX 5070 Ti, driver 595.45.04 (open kernel modules)
- Kernel 6.19.9-1-cachyos
- nvidia-drm modeset=1, NVreg_PreserveVideoMemoryAllocations=1
- fbdev=1 disabled (was previously causing the same phantom at boot)
- S3 deep sleep (mem_sleep_default=deep)
- Monitors: ASUS 2560x1440@480Hz (DP-2, primary), LG 2560x1440@144Hz (DP-1,
portrait rotation)
--
You are receiving this mail because:
You are watching all bug changes.