[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

x11-xserver-utils v7.7+9 breaking API compatibility with gammas on debian testing



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 to: