Bug 446486

Summary: No monitor serial is written in arranger in X11 session (and probably in wayland too)
Product: systemsettings Reporter: Andrew Shark <ashark>
Component: kcm_kscreenAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: meven.car, meven29, nate, plasma-bugs
Priority: NOR    
Version: 5.23.4   
Target Milestone: ---   
Platform: Archlinux Packages   
OS: Linux   
Latest Commit: Version Fixed In: 5.24
Attachments: How I see monitors in arranger
Can see monitors serials, but cannot distinguish by output type (dp/hdmi)

Description Andrew Shark 2021-12-04 17:49:23 UTC
Created attachment 144217 [details]
How I see monitors in arranger

In screen arrangement settings if in X11 session, there is no more information about monitors serial numbers.
I have several monitors of the same model, and I actually distinguish between them by their serial.

In wayland session it is written (see screenshot) for the moment of writing, but probably will also be removed with this https://invent.kde.org/plasma/kscreen/-/merge_requests/55

Can you please keep the ability to see monitor serial numbers? At least when there are several same model monitors.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.23.4
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.2
Kernel Version: 5.15.5-arch1-1 (64-bit)
Graphics Platform: Tested with Wayland and with X11

ADDITIONAL INFORMATION
Some releases ago there were serial numbers displayed.
Comment 1 Méven Car 2021-12-06 17:08:10 UTC
Git commit 98f53fa496ccec3f2b2cca193f2daf465ac4c707 by Méven Car.
Committed on 06/12/2021 at 09:43.
Pushed by ngraham into branch 'master'.

Display output serial number when there is other with same model/vendor

M  +6    -3    common/utils.cpp
M  +2    -2    common/utils.h
M  +10   -1    kcm/output_identifier.cpp
M  +12   -2    kcm/output_model.cpp
M  +2    -2    kded/osd.cpp
M  +1    -1    kded/osd.h
M  +12   -2    kded/osdmanager.cpp

https://invent.kde.org/plasma/kscreen/commit/98f53fa496ccec3f2b2cca193f2daf465ac4c707
Comment 2 Méven Car 2021-12-07 13:10:16 UTC
Feel free to test the fix Andrew.
Comment 3 Andrew Shark 2021-12-08 03:02:05 UTC
Méven Car Thanks for implementing! This was quick.
Unfortunately, I had problem building the kcoreaddons-git - a dependency when building kscreen-git.
I think I can test with KDE Neon for now. Do I need a Testing Edition or Unstable/Developer edition?
Comment 4 Méven Car 2021-12-08 08:05:04 UTC
(In reply to Andrew Shark from comment #3)
> Méven Car Thanks for implementing! This was quick.
> Unfortunately, I had problem building the kcoreaddons-git - a dependency
> when building kscreen-git.
> I think I can test with KDE Neon for now. Do I need a Testing Edition or
> Unstable/Developer edition?

You can test with unstable or developer edition they both have recent packages from git, but there can be some delay for the package to get built.
unstable:
```
 Featuring pre-release KDE software built the same day from new feature branches. Good for testing.```
I recommend you the unstable one, unless you intend to develop or compile in which case developer edition saves you some time.
Comment 5 Andrew Shark 2021-12-09 19:34:07 UTC
Created attachment 144404 [details]
Can see monitors serials, but cannot distinguish by output type (dp/hdmi)
Comment 6 Andrew Shark 2021-12-09 19:53:14 UTC
I could build kscreen-git without other -git dependencies, and it worked. I tested your change, it works and looks nice.

> At least when there are several same model monitors.
Despite I said it earlier, I am now in doubt if this is the best way of doing this.  I mean, what if we just make a setting to always show or hide serials? Because lets imagine the situation when user connects only one of identical monitors? In my case, I currently have only one P2415Q, so I do not care of its serial. But for P2217H I am unable to identify which one it is.
I think that could go to a bottom of page in a checkbox "Show monitor serial numbers".

And also, the title in https://invent.kde.org/plasma/kscreen/-/merge_requests/55 says 
> and hide connector type
Why do this? I consider this information useful. I have several hdmi and several displayport connectors, and it helps to identify the connection. Because I often plug cables here and there because I experiment with gpu passthrough and other things.
Maybe also place the checkbox "Show connector types"  at the bottom of page?

Thank you for the work.

P.S. In the screenshot above I actually connected dp and hdmi to the same monitor, that is why the serials are the same.
Comment 7 Méven Car 2021-12-10 12:18:41 UTC
(In reply to Andrew Shark from comment #6)
> I could build kscreen-git without other -git dependencies, and it worked. I
> tested your change, it works and looks nice.
> 
> > At least when there are several same model monitors.
> Despite I said it earlier, I am now in doubt if this is the best way of
> doing this.  I mean, what if we just make a setting to always show or hide
> serials? Because lets imagine the situation when user connects only one of
> identical monitors? In my case, I currently have only one P2415Q, so I do
> not care of its serial. But for P2217H I am unable to identify which one it
> is.
> I think that could go to a bottom of page in a checkbox "Show monitor serial
> numbers".

I don't see a real use case for this.
KScreen is a tool to setup output arrangement, serial is not necessary here expect in specific cases and adds clutter to the UI.
> 
> And also, the title in
> https://invent.kde.org/plasma/kscreen/-/merge_requests/55 says 
> > and hide connector type
> Why do this? I consider this information useful. I have several hdmi and
> several displayport connectors, and it helps to identify the connection.
> Because I often plug cables here and there because I experiment with gpu
> passthrough and other things.
> Maybe also place the checkbox "Show connector types"  at the bottom of page?

The thing is, the compositor can reliably know what is the connector the screen is attached to.
The discussion was at https://invent.kde.org/libraries/plasma-wayland-protocols/-/merge_requests/31

The gist of it was:
```
The connector type stands for the connection type, not the physical connector. If you use a cable that's also a converter, one of many weird docks or usb c then it'll not necessarily be the connector on your PC, it can be the one on the output instead... Or something that doesn't make sense at all (at least on the surface).
Connector IDs have a similar problem: they are usually paired to hardware connectors but not quite always. With USB C, daisy chaining and docks the IDs are more random than anything else and can change with reboots, standby and hotplugs.
```
In general this is not so important to users anyway, it isn't displayed on other platforms.

kscreen-doctor -o will output the known connector (not on wayland though).
You can report another bug report, I consider this one closed.

> 
> Thank you for the work.
> 
You are welcome :)
Comment 8 Andrew Shark 2021-12-10 18:09:51 UTC
Thank you