Bug 469986 - OpenGL ImageViewer and Presentation do not observe monitor profile
Summary: OpenGL ImageViewer and Presentation do not observe monitor profile
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: ColorManagement-Views (show other bugs)
Version: 8.0.0
Platform: Mint (Ubuntu based) Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-19 10:14 UTC by harald.aust
Modified: 2023-05-21 21:05 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 8.1.0
Sentry Crash Report:


Attachments
Selection of monitor profile (14.89 KB, image/png)
2023-05-19 12:51 UTC, harald.aust
Details

Note You need to log in before you can comment on or make changes to this bug.
Description harald.aust 2023-05-19 10:14:42 UTC
SUMMARY
OpenGL ImageViewer and Presentation do not observe the "Monitor Profile from System Settings".
(Thumbnails do, Previews do, Slideshow does; under Windows, I have not observed this bug.)

Also observed in digiKam version 7.7.0, so apparently not a recent bug.
Observed both in VirtualBox and on physical machine.

STEPS TO REPRODUCE
1. Open any picture using OpenGL Image Viewer or Presentation
2. 
3. 

OBSERVED RESULT
Monitor profile is not applied.


EXPECTED RESULT
Monitor profile is applied.


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: Mint Mate 21.1
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2023-05-19 12:34:34 UTC
The monitor profile is definitely applied in the OpenGL viewer and presentation tool. Tested here with Winows 10 at the moment.
What if you manually select a monitor profile in digiKam?

Maik
Comment 2 harald.aust 2023-05-19 12:51:19 UTC
Created attachment 159100 [details]
Selection of monitor profile
Comment 3 harald.aust 2023-05-19 12:56:40 UTC
Maik,

as I wrote, under Windows, it works. Just not under Linux.

How can I manually select a profile when a system-wide profile exists? Option is greyed out (see screenshot above).
(I faintly remember that we discussed this not-being-able-to-manually-choose-a-monitor-profile-if-a-system-wide-profile-exists a long time ago.)

Best regards,
Harald

P.S. I'll be away for the next couple of days so it may take a while before I can respond again.
Comment 4 harald.aust 2023-05-19 13:16:16 UTC
I just disabled loading of a system-wide monitor profile, so I could manually select a profile. With a manually selected profile, it works.

Unfortunately, for me at least, this is no permanent solution since there are other programs that rely on a system-wide profile.
Comment 5 Maik Qualmann 2023-05-19 14:10:03 UTC
Are you using Wayland or X11? What color management system does Ubuntu use?

Maik
Comment 6 harald.aust 2023-05-19 16:43:14 UTC
Well... I'm only using Linux; I am by no means a Linux expert.

As far as I know, it is X11.

Color Management System: No idea. My command to set it is "dispwin -I path_to_the_profile", if this is any help. Works perfectly for everything color-related that I use (Xreader, Gimp, RawTherapee etc.), including digiKam's own Thumbnails, Previews, and Slideshow. Just not OpenGL Viewer and Presentation.

If this doesn't help, maybe you can tell me how to find out which color management system is used?

Best regards,
Harald
Comment 7 Maik Qualmann 2023-05-21 20:38:32 UTC
Git commit 3bc619c9d744fcf5e8b3b6f84ef6003c8ba659d8 by Maik Qualmann.
Committed on 21/05/2023 at 20:37.
Pushed by mqualmann into branch 'master'.

fix used color profile for OpenGL ImageViewer and Presentation
FIXED-IN: 8.1.0

M  +1    -1    NEWS
M  +2    -1    core/dplugins/generic/view/glviewer/glviewertexture.cpp
M  +2    -1    core/dplugins/generic/view/presentation/common/presentationloader.cpp

https://invent.kde.org/graphics/digikam/commit/3bc619c9d744fcf5e8b3b6f84ef6003c8ba659d8
Comment 8 Maik Qualmann 2023-05-21 21:05:06 UTC
Git commit d26c310f5814614115100c4b2a9e3a9e12e12e83 by Maik Qualmann.
Committed on 21/05/2023 at 21:04.
Pushed by mqualmann into branch 'master'.

use the color profile from screen where the widget is displayed

M  +2    -2    core/dplugins/generic/view/glviewer/glviewertexture.cpp
M  +1    -1    core/dplugins/generic/view/glviewer/glviewertexture.h
M  +1    -1    core/dplugins/generic/view/glviewer/glviewerwidget.cpp
M  +1    -0    core/dplugins/generic/view/presentation/common/presentationcontainer.cpp
M  +1    -0    core/dplugins/generic/view/presentation/common/presentationcontainer.h
M  +12   -6    core/dplugins/generic/view/presentation/common/presentationloader.cpp
M  +2    -1    core/dplugins/generic/view/presentation/opengl/kbimageloader.cpp
M  +7    -6    core/dplugins/generic/view/presentation/opengl/presentationgl.cpp
M  +7    -6    core/dplugins/generic/view/presentation/opengl/presentationkb.cpp
M  +7    -6    core/dplugins/generic/view/presentation/widgets/presentationwidget.cpp

https://invent.kde.org/graphics/digikam/commit/d26c310f5814614115100c4b2a9e3a9e12e12e83