3

I'm trying to adjust the color calibration for my LCD video display.

I purchased a Datacolor Spyder X Pro colorimeter which is supposed to be supported.

I installed argyll 2.3.1 and its support files, colord-sensor-argyll 1.4.6-3, icc-profiles 2.1-2, gnome-color-manager 3.36.0-2, and displaycal 3.9.11-1.

I open Settings and go to the Color section, select my display, and click on the calibrate button. I go through the following steps... enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

And here's where I get stopped. Where is the Start button?

enter image description here

Update #1 - 2/21/24:

This appears to be a bug that goes all the way back to Ubuntu 22.10. I'm told that it works fine in 22.04, but I haven't verified that yet.

Post note: I just installed 22.04 in a Virtualbox VM, and the Start button appears, when it should, during calibration.

Update #2 - 2/22/24:

After implementing the patch from the answer by Daniel T (thanks BTW), it does now get a "Start" button, but after clicking it, the color patch remains white, and it errors out with "internal error".

See the following information from the terminal, and syslog.

al@al-Inspiron-7700-AIO:~/Desktop$ sh askubuntu_color_calibration_fix.sh 
09:18:10.5465       cc-color-panel[18961]: WARNING: calibration failed with code 1: Timeout was reached

al@al-Inspiron-7700-AIO:~/Desktop$ cd /var/log
al@al-Inspiron-7700-AIO:/var/log$ tail syslog
2024-02-22T09:18:26.993688-08:00 al-Inspiron-7700-AIO ubuntu-report[3390]: level=error msg="data were not delivered successfully to metrics server, retrying in 120s"
2024-02-22T09:18:35.407512-08:00 al-Inspiron-7700-AIO systemd[3355]: Started app-gnome-org.gnome.Settings-19159.scope - Application launched by gnome-shell.
2024-02-22T09:18:35.707775-08:00 al-Inspiron-7700-AIO gnome-shell[3900]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x2c00004
2024-02-22T09:19:21.000134-08:00 al-Inspiron-7700-AIO gnome-shell[3900]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56149c6b1f90] is on because it needs an allocation.
2024-02-22T09:19:21.000796-08:00 al-Inspiron-7700-AIO gnome-shell[3900]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56149e0ec310] is on because it needs an allocation.

Post note: I have a Dell AIO with a touch screen.

Update #3 - 2/22/24:

Here's the screenshot that Daniel T's patch created...

enter image description here

Update #4 - 2/22/24:

After installing gnome-color-manager, DisplayCAL worked. GNOME Settings still fail.

15

2 Answers 2

4

It is possible to make the start button show up:

mkdir askubuntu_color_calibration_fix
gresource extract /bin/gnome-control-center /org/gnome/control-center/color/cc-color-calibrate.ui |
    sed 's/ internal-child="action_area"//' > askubuntu_color_calibration_fix/cc-color-calibrate.ui
export G_RESOURCE_OVERLAYS="/org/gnome/control-center/color=$(realpath askubuntu_color_calibration_fix)"
# export GTK_DEBUG=interactive
gnome-control-center

When the Settings app is launched this way, it should show the Start button. For me, GNOME doesn't let me click Calibrate without a colorimeter leaving me to use GtkInspector and set the window to visible, which may look different from a normal system:

gtk inspector display calibration

The problem is caused by the port to GTK4 being untested. The row that holds the button is supposed to be there, but GTK4 doesn't understand the unnecessary internal-child attribute. The action_area value doesn't seem to be used by the code. I just patched it out and injected it with a GResource overlay.

13
  • 2
    I find the all-around knowledge being demonstrated here beyond impressive and inspiring! Also, thank you for contributing to the color-calibration feature.
    – Levente
    Feb 22 at 12:27
  • 1
    I would also mention that the here introduced hotfix will impact, and survive, only the current session. While the gresource extract + sed commands will create a corrected file that will persist on the disk, the file will not be used until the export G_RESOURCE_OVERLAYS command; which normally impacts only the current session. Given how color calibration needs to be done seldomly, and the cumbersomeness of gresource overlays otherwise, limiting the lifetime of the solution to the current session is even an advantage. I keep finding this intervention impressively compact and expedient.
    – Levente
    Feb 22 at 12:45
  • 2
    I agree with @Levente... the level of expertise and commitment is fantastic. I'll try out your code later today.
    – heynnema
    Feb 22 at 14:28
  • Quick question... do I place this code into a .sh file, or just execute it directly in Terminal?
    – heynnema
    Feb 22 at 14:33
  • 1
    @DanielT Thanks so much for all of your help!
    – heynnema
    Feb 22 at 21:52
3

I installed argyll 2.3.1 and its support files, colord-sensor-argyll 1.4.6-3, icc-profiles 2.1-2, gnome-color-manager 3.36.0-2, and displaycal 3.9.11-1.

Even after @DanielT's patch, and the Start button re-appeared, the GNOME Settings still failed to calibrate. I tried some older Ubuntu versions (23.04, 22.10), with the same problem. I'm told, but haven't verified it, that 20.04 would work.

Post note: it works in a 22.04 VM.

Let's hope they fix this in the upcoming 24.04 (along with the busted backlight code, and the GNOME Shell restart crashes).

I tried DisplayCAL and it worked.

2
  • Is displaycal some standalone, redundant solution, like an alternative to argyll? Is it a GUI program, similar / comparable concept to the screenshots you posted above? Actually, there are so many dependencies named: what is displaycal an alternative to, and which of its dependencies are common with the mainstream choice through gnome settings?
    – Levente
    Feb 23 at 0:23
  • 2
    @Levente displaycal is a standalone app with a GUI. It's in the Ubuntu repos. Just install it, and run it. You'll also need the files that I call out in my first paragraph, if you don't already have them installed. When the standard Ubuntu calibration software is busted, displaycal will work.
    – heynnema
    Feb 23 at 1:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .