I'm having issues getting Gnome's Night Light feature to work correctly with my monitor setup. I've recently switched to a new graphics card that has three DisplayPort outputs (in addition to one HDMI and one DVI). My monitors only support DVI and HDMI, so I bought three cheap DisplayPort to HDMI cables to connect them. Everything seems to be working correctly, except the Night Light filter in Gnome.
I initally thought I may be experiencing a known issue in Gnome 3.34.1 where Night Light stops working on Wayland, however switching to Xorg didn't help for me. Anyway, I believe that issue is now fixed. I'm using Gnome 3.34.3 on Ubuntu 19.10.
I switched back to the old graphics card (AMD HD 5870) and the issue went away, making me suspect either the new graphics card (AMD RX 570) or the cables. I haven't changed any drivers or firmware - I have the packages firmware-amd-graphics and xserver-xorg-video-ati installed. The output of xrandr --verbose
is at https://pastebin.com/E9cvPdZ0.
I tried various combinations of cables for my three monitors and this is what I found:
Connections | Result
------------------------+-------
HDMI - - | Y - -
DVI - - | Y - -
DP-HDMI - - | Y - -
DVI HDMI - | Y Y -
DP-HDMI DVI HDMI | N N N
DP-HDMI DP-HDMI DP-HDMI | N N N
In each case I restarted the computer to ensure the result could be consistently reproduced.
What technology does Night Light use to adjust the colour temperature of a display, and how could this be affected by the DisplayPort to HDMI cables I have? Should the feature be able to work with such a cable, and how can I find one that will work?
After reading up on active vs passive DisplayPort adaptors, I've concluded that the issue is related to how the graphics card handles passive DisplayPort to HDMI adaptors. This system is called DisplayPort dual mode, or DP++.
Since the adaptor cables I purchased were cheap and not advertised as active, I'm going to assume they're passive. The issue seems to be that most graphics cards only support passive adaptors (using DP++) through a maximum of one or two ports at a time.
My displays are identical, and although they seem to work using three passive adaptors, I have to conclude this limitation is the cause of Night Light not working in the scenarios described in my question. Using an active DisplayPort to DVI adaptor, along with normal HDMI and DVI cables—only two HDMI/DVI or passive adaptors—gets Night Light working correctly on all screens.
Sources