i set color range from “auto” to full on my display.
display flashes and dark colors get messed up, this works fine under windows if i select “standard rgb full” in amd adrenalin
Yes, the instructions tell you that this is expected: “Running the command in terminal does nothing. That is because it must run before display manager starts.”
It then explains how to add the command before display-manager.service. In NixOS this translates to something like:
services.displayManager.preStart = ''
# Enable full range of RGB values in HDMI output
# See https://www.onetransistor.eu/2021/08/hdmi-picture-quantization-range-linux.html
${pkgs.libdrm}/bin/proptest -M <driver_name> -D <device> <ID_of_connector> connector <ID_of_property> <value>
'';
many variants of adding a script that executes the proptest command on boot (and confirming that the script was executing correctly)
overriding the monitor’s EDID (with all YCbCr modes removed) with a kernel parameter
I would have full RGB range during boot, but whenever I logged in to a GNOME Wayland session, the colors were washed out. As if GNOME itself was forcing the limited color range.
I finally found the solution for GNOME: Just add <rgbrange>full</rgbrange> to the <monitor> tag in .config/monitors.xml, as explained here: https://wiki.archlinux.org/title/Intel_graphics#Washed_out_colors
Problem solved! (and maybe this should be an option in GNOME’s monitor configuration GUI)