Description
Running Fedora Silverblue 36
From toolbox run dnf info wl-gammactl
:
Name : wl-gammactl
Version : 0.1
Release : 0.8.20200406git611846c.fc36
Architecture : x86_64
System configuration:
OS: Fedora Silverblue 36
Kernel: 5.18.10-200.fc36.x86_64
Sway: 1.7 (fedora repository)
APU: 16 Core AMD Ryzen 7 5700G with Radeon Graphics (Cezanne) @ 4.673GHz
Driver: amdgpu
This is the case with both an OLED and eInk display. I have not tested on an LCD or other technology.
The issue is that if a pixel is pure black (#000000), it is not impacted by gamma controls; it remains pure black. Specifically, I was trying to invert the output with '-c -1 -b 2 -g 1'. All other content gets properly inverted, but my pure black terminal and other elements (such as web content) remains black, while any other content is properly flipped.
I'm working around this by changing my pure black themes to use #010101 anywhere that #000000 was previously applied, but pure black pops up in lots of other places where it will fail to be properly inverted.
As a side note, I'm trying to do this because black-on-white renders much more clearly on eInk, while white-on-black is a lot easier on the eyes for OLED. My goal was to invert only the eInk display and be able to move content between the two (eInk is 16bit greyscale, so I don't care about the mismatched colors). It does not seem possible to have different gamma configurations for each output at this time. It is unclear to me where this limitation is coming in to play (wlroots, graphics drivers, graphics hardware, wl-gammactl, or other), but it seems like something that should be technically possible. For now I just have a hotkey to toggle the inversion when necessary, but this means not being able to use both displays simultaneously. Hopefully this is something that can be addressed by whatever project is relevant.