Bug 523181 - hexadecimal numbers shown in "Identify Screen" overlays
Summary: hexadecimal numbers shown in "Identify Screen" overlays
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kscreen (other bugs)
Version First Reported In: 6.6.5
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-17 16:56 UTC by Nate Graham
Modified: 2026-08-17 11:47 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.6.7
Sentry Crash Report:


Attachments
Seen on git master for Plasma 6.8 on KDE Linux (340.19 KB, image/png)
2026-07-17 16:56 UTC, Nate Graham
Details
Seen on Plasma 6.6.5 for Kubuntu (67.04 KB, image/png)
2026-07-17 16:56 UTC, Nate Graham
Details
Correct indentification found in KCM (63.15 KB, image/jpeg)
2026-07-31 17:33 UTC, Michael Mikowski
Details
Incorrect of identification of exact same monitor in OSD (49.60 KB, image/jpeg)
2026-07-31 17:38 UTC, Michael Mikowski
Details
Confirmation that 0x00016740 is the conversion of 91968 (21.55 KB, image/jpeg)
2026-07-31 17:48 UTC, Michael Mikowski
Details
hobby display (74.21 KB, image/png)
2026-07-31 19:29 UTC, Antti Savolainen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2026-07-17 16:56:11 UTC
Created attachment 194383 [details]
Seen on git master for Plasma 6.8 on KDE Linux

STEPS TO REPRODUCE
1. Have multiple monitors
2. navigate to System Settings > Display Configuration
3. Click "Identify screens"


OBSERVED RESULT
At least one of them will display hexadecimal numbers somewhere in the identification overlay


EXPECTED RESULT
All numbers are formatted base-10. Or, maybe no numbers at all, if they aren't necessary for identification?


SOFTWARE/OS VERSIONS
Operating System: KDE Linux 2026-07-13
KDE Plasma Version: 6.7.80
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.1
Kernel Version: 7.1.3-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840U w/ Radeon™ 780M Graphics
Memory: 17 GB of RAM (16.0 GB usable)
Graphics Processor: AMD Radeon 780M Graphics

Also affects other OSs and older Plasma versions too; at least as far back as Plasma 6.6. on Kubuntu.
Comment 1 Nate Graham 2026-07-17 16:56:29 UTC
Created attachment 194384 [details]
Seen on Plasma 6.6.5 for Kubuntu
Comment 2 Bug Janitor Service 2026-07-27 14:05:30 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9655
Comment 3 Vlad Zahorodnii 2026-07-28 10:01:30 UTC
Git commit 89eee11ef3185136db92113abe37e92c4bd34aeb by Vlad Zahorodnii, on behalf of Marco Martin.
Committed on 28/07/2026 at 07:58.
Pushed by vladz into branch 'master'.

effects/outputlocator: User friendly name for the internal screen

On internal screens, call internal screens "Built-in Screen" in
the osd, in order to have the exact same nomenclature that KScreen
uses

M  +3    -0    src/plugins/outputlocator/outputlocator.cpp

https://invent.kde.org/plasma/kwin/-/commit/89eee11ef3185136db92113abe37e92c4bd34aeb
Comment 4 Michael Mikowski 2026-07-31 17:33:56 UTC
Created attachment 194742 [details]
Correct indentification found in KCM
Comment 5 Michael Mikowski 2026-07-31 17:38:49 UTC
Created attachment 194743 [details]
Incorrect of identification of exact same monitor in OSD

This is the same as monitor as shown in ident-kcm-correct.jpg.  The identifier is 91968 but converted to hex (0x0016740)
Comment 6 Michael Mikowski 2026-07-31 17:48:20 UTC
Created attachment 194745 [details]
Confirmation that 0x00016740 is the conversion of 91968

This confirms that the output label on the OSD takes the number 91968 found in the EDID model output and converts it to HEX before presentation. The conclusion is this is likely just string handling mistake, where whatever is outputing the QSTRING is converting the decimal number to hex.

The panels that have letters in their model name do not appear to suffer from this.
Comment 7 Michael Mikowski 2026-07-31 18:16:38 UTC
I have confirmed the panel name presented in this case is pulled from these EDID fields:

  cat /sys/class/drm/card0-HDMI-A-1/edid |edid-decode \
    | grep '\(Display Product\|Serial Number\)' |sort;
    
   #> Display Product Name: 'LG Ultra HD'
    #> Serial Number: 91968

The correct presentation name in System Setting looks to be: STRING('LG Ultra HD') + ' ' + STRING('91968')
The INCORRECT presentation name in the OSD appears to be: STRING(LG Ultra HD') + ' ' + HEX('91968')

I hope that is helpful.
Comment 8 Antti Savolainen 2026-07-31 19:29:04 UTC
Created attachment 194747 [details]
hobby display

I can confirm that I get this on my hobby display
Comment 9 Bug Janitor Service 2026-08-03 21:58:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9685
Comment 10 David Wild 2026-08-03 22:07:17 UTC
The hexadecimal fallback occurs in libdisplay, not just for the serial number but also, in some cases for the monitor name. At least three projects are involved here, libkscreen for example implements its own separate EDID decoder and output logic. I've tried to make the resulting strings look consistent in MR 9685.
Comment 11 David Wild 2026-08-03 22:55:40 UTC
This is a KWin issue, KScreen implements its own logic. You can test this even on a single display by triggering the OSD via D-Bus: 

qdbus6 org.kde.KWin /org/kde/KWin/Effect/OutputLocator1 org.kde.KWin.Effect.OutputLocator1.show
Comment 12 Nate Graham 2026-08-06 21:10:32 UTC
Fixed by David Wild with https://invent.kde.org/plasma/kwin/-/merge_requests/9685, which will be in Plasma 6.6.7, 6.7.5, and 6.8.0. Thanks David!
Comment 13 Nate Graham 2026-08-17 11:47:11 UTC
Git commit d7f16bceb8572f0459650e221a84f585743defdf by Nate Graham.
Committed on 05/08/2026 at 15:14.
Pushed by vladz into branch 'Plasma/6.6'.

utils/edid: fix hexadecimal strings in output names

KWin uses libdisplay-info to decode EDID data. di_info_get_model() and
di_info_get_serial() fall back to hexadecimal values when no Display
Product Name or Serial Number descriptor is found.

This patch stops using those helpers and instead implements a direct
descriptor parser, similar to libkscreen's decoder: we still fall back
to a decimal value for the serial number,  but not for the model, so
m_monitorName is left empty if no name descriptor exists.

To avoid showing "unknown" when m_monitorName is empty,
DrmConnector::modelName() now skips empty values instead of
concatenating them (similar to libkscreen).

Note: if necessary a decimal fallback for the model (m_monitorName)
could be added later in the same way. Currently, the model falls back
to a hexadecimal representation,  but libkscreen has none either, so
this patch leaves it out for now.
FIXED-IN: 6.6.7


(cherry picked from commit 495d442585e255e7bb7f3e2d570ff2a881d53ce5)

2d916723 utils/edid: fix hexadecimal strings in output names
65a24935 drm_connector: avoid showing "unknown" when m_monitorName is empty

Co-authored-by: David Wild <davidwild@gmx.com>

M  +3    -0    src/backends/drm/drm_connector.cpp
M  +19   -4    src/utils/edid.cpp

https://invent.kde.org/plasma/kwin/-/commit/d7f16bceb8572f0459650e221a84f585743defdf