Hi,
I'd like to bring to your attention a `x11-xserver-utils` v7.7+9 API breakage 
problem, concerning dropped negative gamma parameter values.
Any suggestions for me to properly report this problem to Debian community (I 
have no experience in that) or X11 authors?
Regards,
Max.


## CONCERNING
  - latest Debian Testing, 2021-11-01
  - on Linux 5.14.0-2-amd64 #1 SMP Debian 5.14.9-2 (2021-10-03) x86_64 GNU/Linux
  - package `x11-xserver-utils` v7.7+9
  - tested under WMs: LXDE and MATE


## PROBLEM
  Latest package update of `x11-xserver-utils` v7.7+9 breaks API compatibility 
of `xrandr` and `xgamma` tools vs v7.7+8, dropping negative gamma params values 
(and their mixed negative/positive combinations), leaving only positive values.


## SOLUTION (so far)
  Downgrade package `x11-xserver-utils` from v7.7+9 to v7.7+8.


## DESCRIPTION
  Until v7.7+8 the `xrandr` gamma params can be set negative and also their RGB 
triple could comprise mixed negative/positive values. From v7.7+9 gamma values 
were forced to be positive only. Their suggested replacement solution does not 
work (for me).

  I can't tell yet if that gamma functionality cut-off has been introduced by 
mistake, in hope of some error fixing or a major X11 redo. Maybe in a week or 
so I'll have time for accessing their code repo. Because of that, I haven't 
reported the problem directly to `xrandr` author yet.


## REPRODUCE PROBLEM
  Install latest package `x11-xserver-utils` v7.7+9.
  It's well observed on a light GUI theme.

  1. Run this `xrandr` command with negative gammas to invert laptop (LVDS-1) 
display colors (let's call it MODE_1):
  `xrandr --output LVDS-1 --gamma -0.9:-0.9:-0.9 --brightness 0.5`

  2. A `xrandr` (with positive gammas and nagative --brightness) suggested 
replacement (MOD_1_NEW) for previous MODE_1:
  `xrandr --output LVDS-1 --gamma 0.9:0.9:0.9 --brightness -0.5`

  3. Bring display back to a normal mode (MODE_0), normal colors:
  `xrandr --output LVDS-1 --gamma 1.0:1.0:1.0 --brightness 1.0`

  4. Note, observable MODE_1_NEW:
    -- does not replace MODE_1, display rendering is different

    -- creates (another) problem with a negative `--brightness` param that 
always breaks rendering on my display;
       --- fonts are displayed kinda-outlined with strange holes, ugly 
artifacts in bitmaps and other edge areas...
       --- This problem persists for editors and IDEs: vim, emacs, leafpad, 
mousepad, qtcreator, codeblocs, ... making them unusable in any inverted mode 
(using `xrandr` nagative --brightness).
       --- I don't rule out a possibility that a negative `--brightness` broken 
rendering on my laptop may occur because of old hardware and/or some missing 
firmware/drivers.


## WHAT THIS PROBLEM BRAKES FOR ME
  Positive-only gamma values prevent from setting the different inverse display 
modes - indispensably useful in case of a light-themed GUI that can be switched 
all at once into a dark one (with `xrandr`). Negative gamma is essential in 
allowing for a fine-control of palette rotation and transformation of display 
'temperature' and brightness.
  I've written a small scripting tool for that, not perfect but very useful, 
still not open-sourced yet.



Reply via email to