BetterDisplay icon indicating copy to clipboard operation
BetterDisplay copied to clipboard

Add some more hardware DDC control options

Open waydabber opened this issue 2 years ago • 12 comments

Some of these adjustments are supported by various displays. Should be in a submenu much like color controls as a Pro feature.

  • [ ] Contrast control
  • [ ] R/G/B Hue
  • [ ] R/G/B Saturation
  • [ ] R/G/B Gain

waydabber avatar Jun 03 '22 17:06 waydabber

Any idea when this might come out? Having a contrast control (esp. with a keyboard shortcut) would be great. Would it be pleasible technically to support this on DisplayLink screens too?

dave-epstein avatar Jun 15 '22 02:06 dave-epstein

Hi @dave-epstein - everything is ready in the app to implement these so I think I'll add them soon.

DisplayLink control is unfortunately not possible at the moment as these displays simply act like virtual displays in the OS and there is no way to perform the access the i2c communication channel to the display required for DDC.

Maybe I should contact the maker of DisplayLink to see if they can offer some way through their driver to enable DDC control.

waydabber avatar Jun 15 '22 05:06 waydabber

Not having a contrast slider is the only reason I keep your other app MonitorControl open as well ;)

roelvangils avatar Jun 24 '22 19:06 roelvangils

Oh yes, sorry, I'll work on this, just stuck with other life matters. It's on the roadmap! :)

waydabber avatar Jun 24 '22 19:06 waydabber

Don't feel rushed at all! :)

roelvangils avatar Jun 24 '22 19:06 roelvangils

The latest DisplayLink release has beta support for f.lux https://support.displaylink.com/knowledgebase/articles/1990237 which I would think might more generally be support for color table manipulation?

There was no flux update to correspond with this, so my thought is that this might work through an existing system API now?

dotsam avatar Jun 28 '22 17:06 dotsam

I don't think it uses the system api but probably a direct cooperation with f.lux? But I can provide a build that allows color table manipulation for non-dummy virtual displays to see if anything happens.

But if there is a demand, I could contact DisplayLink and ask about a custom way to have DDC and colortable manipulation support. Surely they have the ability to implement these things as the hardware is capable (it is available in Windows) and if they provide an API for it (and have some test kit), I can implement whatever is needed in the app.

waydabber avatar Jun 28 '22 17:06 waydabber

I did a bit of poking around in f.lux with Hopper and didn't see anything DisplayLink specific, but I'm by no means an expert in disassembling.

Regardless, I'd be happy to test a build that attempts color table manipulation on virtual displays.

dotsam avatar Jun 30 '22 17:06 dotsam

Sure, here is a build that reports virtual displays as colortable manipulation capable but uses the standard macOS APIs for it. Let me know if something is changed with the latest DisplayLink beta drivers. Thanks!

BetterDisplay-v1.3.0-alpha1.zip

waydabber avatar Jun 30 '22 20:06 waydabber

This seems to work exactly as it should with the DisplayLink 1.7 drivers and the Allow f.lux to warm colors at night option enabled.

Brightness/contrast/RGB/color temperature all seem to work. The only issue I've noted is "distorted" colours when pushing contrast or gain too high into the positive.

The other item of note is that when color table manipulation is enabled for a display, but the DisplayLink f.lux option is disabled, no adjustments actually happen, including brightness. I'm don't know if there's any way for you to tell when this is the case, but if you do make this an option in a future release, some explanatory text would probably be a good idea. Presumably this feature in the DisplayLink software will go out of beta at some point and will be enabled by default though?

dotsam avatar Jul 01 '22 07:07 dotsam

This is great news, thanks for testing it! I’ll add a new "Force-enable colortable manipulation" option to virtual displays with some explanation regarding DisplayLink v1.7 driver requirement and Allow f.lux to warm colors at night to be enabled.

waydabber avatar Jul 01 '22 07:07 waydabber

https://github.com/waydabber/BetterDisplay/issues/750

waydabber avatar Jul 01 '22 07:07 waydabber

Screenshot 2022-09-07 at 15 12 21

I'll make the contrast control hidden by default.

waydabber avatar Sep 07 '22 13:09 waydabber

Added keyboard shortcuts as well:

Screenshot 2022-09-07 at 17 35 03

There is an added option under the display to change whether the main slider and keyboard control should prefer hardware or software contrast control (if available):

Screenshot 2022-09-07 at 17 35 25

waydabber avatar Sep 07 '22 15:09 waydabber