Live data from Hacker News

MonitorControl: Control external monitor brightness and volume on your Mac

github.com

51–60 of 89 posts

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#51
post #6

I love this thing. It only seems to work over DisplayPort cables for me. HDMI doesn't work. I'm using a MBP mid-2014. Saved me from buying a new monitor or something silly like getting an iMac. Seriously weird why they don't just support DDD/CI natively.

Works for me over HDMI. I have a hackintosh and an LG 34" ultrawide.

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#52

Earlier quoted context omitted.

Alternatively, you could use kernel module to expose it as standard backlight control: https://milek7.pl/ddcbacklight/ddcci_bl.c insmod ddcci_bl.ko modprobe i2c-dev echo ddcci_bl 0x37 > /sys/bus/i2c/devices/i2c-2/new_device (replace i2c-2 with bus number for your monitor)

Disabling Secure Boot so you can have control of your monitors seems very 2020.

That's not necessary. There is ddcci-dkms which can be built against the running kernel and signed as all the other modules. I use it on both Ubuntu (via shim + grub) and Arch (via direct boot).

This allows controlling the screen brightness from the usual places (gnome power menu thingy or via light for the i3 crowd). See the Arch Linux Wiki for more info [0].

Arch : ddcci-driver-linux-dkms (aur)

Ubuntu : ddcci-dkms

[0] https://wiki.archlinux.org/index.php/Backlight#External_moni...

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#53

For a command-line option, ddcctl ( https://github.com/kfix/ddcctl ) works nicely in my experience, with a Dell Ultrasharp connected via USB-C. I have a script hacked together to fetch the internal display's brightness once a minute and apply it, with a scaling factor, to the external, so that they're both effectively controlled by the laptop's ambient light sensor. It's really nice for working in a room with lots of…

Thanks for the recommendation! I use ddcctl + an Alfred workflow[1], but Lunar looks much nicer!

[1]: https://storage.googleapis.com/ta-share/2020-07-10.11.01.02....

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#54
post #46

Sometimes I just wonder why does apple don't provide such a basic features/necessities.

If you have a touch bar it does, in my experience. Tap the brightness button to open up controls for each monitor.

I don't have a touchbar mac to test, but does it work with external non-apple displays? Via Karabiner you can configure keys to change the external display brightness. Works great on a Thunderbolt Display. Completely ignores my Dell / LG.

The main reason why I think this wouldn't work is because in the display properties there's no brightness slider for non Apple external displays. There is one for Apple displays.

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#55
post #42

For those on Windows there's Twinkle Tray, works remarkably well. It has the ability to set timers, which I set to dim my monitor at night and increase the brightness during the day.

I have 2 Dell monitors and I haven't been able to get this to work either on the built-in Intel graphics or with HDMI plugged into an AMD card.

I just tried this with two Dell U2711s connected via DisplayPort to a USB-C adapter[0] and everything is working really well!

I have a laptop with a Ryzen 3 and a 1660ti, so it might be the Nvidia graphics that is enabling this.

[0] https://smile.amazon.com/Cable-Matters-Multiport-DisplayPort...

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#56
post #40

Does anyone have trouble with their Macbook recognizing an external display? I have a new 2020 Macbook Pro and it struggles to recognize my Samsung display. I often have to reboot the Mac for it to be recognized.

I’ve got issues where macOS sees both monitors but won’t send output to both every time I come out of sleep. Like one of the displays will turn on like it has signal, then hang for a second and go back to sleep, repeat. I use a program called disable monitor, which shows all the profiles for the display. For some reason when one doesn’t connect it goes into the first profile for the resolution/refresh rate/color dept…

I wonder wether there's some problem with the usb-c alternate modes and their implementations / drivers.

Below are a bunch of my experiences with this which shows that behaviours are all over the place which kind of excludes an outright broken OS or piece of equipment. To me it looks much more like a compatibility issue.

I don't own a usb-c mac, but I've never had any problems whatsoever with my 2013 retina, always works perfectly even with 4k@60Hz screens.

I have a desktop PC which exhibits the same kind of weird behaviour you have. It has a thunderbolt 3 / usb-c / dp connector which is downright awful.

I've managed to connect an Apple thunderbolt display to it with official tb2 -> tb3 adapter, it works well most of the time. Put the computer to sleep though and the screen never comes back on. Sometimes it doesn't detect the USB ports on it either. Mostly works if I force the thunderbolt mode to DisplayPort only in the bios.

I've next connected a regular usb-c monitor to it (DP alternate mode + usb2 for peripherals). Works great in bios. Mostly works on Linux. On windows it turns off when getting to the login screen. I don't know how, but I've managed to get it to work exactly once. When I turned the computer back on the next morning, it was again off on the windows login screen. The monitor IS detected, it shows up in the Display Preferences if I connect it to both usb-c and display port. It just won't turn on.

On Linux, it kinda works. I would say there's a 50/50 chance it won't detect it at 60 Hz. Sometimes, if it works at 60Hz, if the display goes to sleep it won't come back on at 60Hz. I guess at least there is some output, so it's got that going over windows.

I found an option on the bios to enable "high speed display output". No idea what exactly that means, it didn't do anything.

This same screen works perfectly with a usb-c (no thunderbolt) laptop on linux. Never had any issue, always detected as 4k@60Hz.

The same monitor and same PC over DP: no problem.

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#57
I believe that the difficulty of controlling external monitor brightness is a significant factor in almost all people running external displays too bright (often much too bright). Because the standard software that comes out of the box doesn’t let you adjust the brightness of external monitors in any operating system I know of, and adjusting brightness by pressing buttons on the monitor’s on-screen display is invariably a pain.

Windows has two completely different APIs for adjusting screen brightness: one seems to only work on internal displays, the other seems to only work on external displays. I say “seems to” because they don’t document these facts, this is just what I observe by fiddling with the APIs. And only the first one is exposed anywhere in the UI: in Settings → System → Display (where you change the screen resolution and such) it lets you change the brightness of an internal display, but says something like “you can’t adjust the brightness of this device” for external monitors.

Laptop brightness keys (what Linux calls XF86BrightnessUp and XF86BrightnessDown) can’t be remapped by any means I know of. I don’t know of any way of being notified when the internal display brightness changes, either. I think you can poll the value, though it’s three years since I prodded this stuff and my memory is vague. Even so, it’d always be a delayed reaction. Kinda wish I were back on my last laptop where I used Arch Linux + i3 and handled XF86Brightness{Up,Down} myself.

(That brings me to my second major annoyance about built-in monitor brightness control software: stepping by a linear 10% the whole way is stupid; something like a logarithmic scale is much more sensible. The difference between 1% and 10% is at least as important in low lighting as the difference between 10% and 50%. I wrapped xbacklight to make it logarithmic on Arch, but I can’t do that on Windows, where the keys just jump by 10%. Similar deal with phone brightness, the difference two millimetres makes at the left end of the scale is more than the whole right hand half of the scale. Who on earth thought linear brightness was the right thing? Do they know nothing about human perception of brightness? Why is this obviously-badly-wrong practice universally adopted?)

What would be rather nice would be the ability to calibrate internal and external displays to match, so that the brightness of connected external displays could match my internal monitor immediately, following my chosen curve.

As it is, I use ScreenBright and script it so I can do both my external displays at once. (Now, I could reimplement the needed functionality from the relevant API in a short time, but ScreenBright does the job so I don’t bother.) I tend to type `b 20` in the mornings, sometimes `b 40` in the afternoons, and `b 0` in the evening. Seldom do I want to go past 40%. As I said, most people run their external monitors too bright, often much too bright.

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#59
post #27

Worked over VGA with my DELL monitor and MacBook Air (both from 2012). Where has this been all my life! I didn't even know it was a thing and thought there was a special chip in the Apple screens to be able to control your screen from your computer.

If this works for you, please also give Lunar[1] a try! It's free, and has a handy mode where it can sync your already adaptive built-in brightness to the external monitors.

I'm the developer of Lunar so feel free to ask any questions about it.

[1] https://lunar.fyi

Re: MonitorControl: Control external monitor brightness and volume on your Mac

#60

I use External Display Brightens app ( https://github.com/fnesveda/ExternalDisplayBrightness ) and it seems to be easier to use

If you like keyboard shortcuts you might like to give Lunar[1] a try. It also has shortcuts for changing contrast and volume of the monitor as well as do that automatically for you based on the builtin monitor brightness or the sun elevation in your location.

[1] https://lunar.fyi

Post reply on HN