Can not set RGB to full range under wayland

I have a monitor that supports rgb range 0-255 but by default linux outputs just limited range (16-235) and use wayland

I followed this guide and got trought it till the part where you run the completed proptest command.

It did not outputted anything nor anything changed with the display.
how i change rgb range under nixos (correctly)?

How are you determining this?

1 Like

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>
'';
1 Like

omg, how i could have missed it :expressionless:
thank you, tried it like that and now it works just fine. Thank you.

The whole proptest thingy never worked for me.
Using nixos-unstable, i915 driver, GNOME.
I’ll stick with X, where everything just works.

After trying:

  • 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)