Page 1 of 1

Nvidia X Server Settings Color Correction not applying correctly and resetting

Posted: 2020/09/15 05:37:04
by mmc
The color correction settings of the Nvidia control panel are not applied correctly on startup/login.

I can see that there is a autostart file in

Code: Select all

/etc/xdg/autostart
named

Code: Select all

nvidia-settings-load.desktop
which is supposed to run

Code: Select all

/usr/bin/nvidia-settings --load-config-only
As a workaround I made my own startup script which does the same thing, but on start it sleeps for 5 seconds before running nvidia-settings.

Code: Select all

#!/bin/bash

sleep 5;

/usr/bin/nvidia-settings --load-config-only

Is there a better way to deal with this issue or should I keep this as it is?



Also another problem I'm facing is the fact that the color settings will reset after opening a certain program.

The easiest way for me to reproduce this is by opening GNOME Help and playing a tutorial video. After this the color settings for my desktop is reset. Note that this only happens once so subsequent runs don't reset the settings. Also the color correction values in the Nvidia control panel aren't reset. It's just the settings that are applied to my desktop. Reopening the Nvidia control panel reapplies my settings again.
There are also some other programs which cause the settings reset, but I don't know exactly which ones.

Another way to reproduce the color reset problem is by turning on/off the color management setting in Settings > Devices. After turning off the color setting the Nvidia settings are still inactive.

What would be the best way for me to debug this issue?
Perhaps if I can find out what programs/commands are run after playing a video on GNOME Help I could figure it out?

Re: Nvidia X Server Settings Color Correction not applying correctly and resetting

Posted: 2020/09/17 23:59:35
by mmc
So I did some tinkering on my own and found out more information about the issue:
mmc wrote:
2020/09/15 05:37:04
The color correction settings of the Nvidia control panel are not applied correctly on startup/login.
They are actually applied correctly on startup, but something else is overwriting the desktop colour settings.
mmc wrote:
2020/09/15 05:37:04
Also another problem I'm facing is the fact that the color settings will reset after opening a certain program.
This happens with certain programs, one of which is the Videos application on GNOME (totem). Running totem and playing a video causes the desktop colour settings to be reset. It seems that totem calls the colord system service.

As far as I know this only happens once so any subsequent runs of the video player won't reset the settings again.

So I made an additional startup script to deal with the issue:

Code: Select all

#!/bin/bash

totem --play '/home/mc/Videos/temp.ts' &
sleep 1
killall totem
This runs the GNOME video player (on the background) and plays temp.ts which is just a placeholder 1 second video I made.
It's necessary to delay for a second before killing the process to allow colord to run properly.

After that the previously used script to load the nvidia-settings config should run.

Note that this is a hack and doesn't solve the underlying issue, but does prevent the color settings from being reset again (for me atleast).
mmc wrote:
2020/09/15 05:37:04
Is there a better way to deal with this issue or should I keep this as it is?
I figured it would be better for now to actually prevent the colord service from running. Stopping and disabling it with systemctl did not seem to work. It can still be started again by applications like the video player.

For now I decided to workaround this by renaming the colord program to colord.bak so it can't be run at all. colord is located in /usr/libexec.

Code: Select all

mv /usr/libexec/colord /usr/libexec/colord.bak
(must be run as root).

This is also a hack. I can't use GNOME Color settings now, but I didn't need it anyway. Now I don't have to use those two startup scripts above. I can always revert this change by setting the name to it's original again.

It's a workaround for now, not a solution. I think it would be better to find a way to properly disable the colord service or change it's settings (if possible) so it doesn't reset the colour settings applied by the Nvidia control panel. This issue would probably be more suited for discussing over at the gnome mailing lists/IRC.