https://bugs.kde.org/show_bug.cgi?id=443986
Bug ID: 443986 Summary: Use serial numbers to identify displays instead of interface names Product: plasmashell Version: 5.23.0 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: Multi-screen support Assignee: aleix...@kde.org Reporter: gudv...@gmail.com CC: plasma-b...@kde.org Target Milestone: 1.0 SUMMARY Right now Plasma uses interface names as an unique identifier of display device (e.g. monitor). This approach raises significant issues on systems that can't provide consistent names for interfaces. For example, DisplayPort has support for using multiple displays over same physical interface on GPU. This is called Multi-Stream Transport (MST) or "daisy chaining". To make it work, DRM driver would create virtual interface if it can detect additional displays. This behaviour makes it impossible to predict which number will be assigned to display interface and thus makes identification by interface name (which includes interface number) unreliable. I personally had an issue with MST on KDE: https://bugs.kde.org/show_bug.cgi?id=420616 Another example is a behaviour of AMDGPU driver which is related to MST but internal changes in driver also caused issues in systems that do not use MST: https://bugzilla.kernel.org/show_bug.cgi?id=206387 In short, AMD driver won't persist interface numbers so interface names are no longer guaranteed to uniquely identify display device. I can't say for sure but I didn't find any indication of such guarantee in the past. Probably relying on interface names in the past was a mistake that wasn't noticed until MST devices became more widespread. This also gave me an issue on KDE: https://bugs.kde.org/show_bug.cgi?id=443832 You can experience similar problems by plugging monitor to different interface even if your drivers don't change interface numbers. PROPOSED SOLUTION Instead of using volatile interface names as monitor identifiers I suggest using serial numbers of display devices. This information is resistant to any changes in interface naming. It will be the same after using different interface and even after replacing GPU. Information about serial number exists in EDID and XOrg can at least show it in logs: [ 47.193] (II) AMDGPU(0): Serial No: ABCXYZ123QWERTY [ 47.193] (II) AMDGPU(0): Monitor name: BenQ XX1234Q -- [ 47.196] (II) AMDGPU(0): Serial No: ASDF9876IOP321 [ 47.196] (II) AMDGPU(0): Monitor name: DELL X4321P SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.23.0 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.2 Kernel Version: 5.14.12-arch1-1 (64-bit) Graphics Platform: X11 Graphics Processor: AMD VEGAM ADDITIONAL INFORMATION This issue is very similar to problems that were causing problems in network/storage devices enumeration. More on that here: - https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ - https://wiki.debian.org/Part-UUID -- You are receiving this mail because: You are watching all bug changes.