Live data from Hacker News

The journey to controlling external monitors on M1 Macs

alinpanaitiu.com

71–80 of 188 posts

Re: The journey to controlling external monitors on M1 Macs

#71
post #5

Very cool, had no idea this was even possible. Is there anything like this for Linux?

On Linux, there is a very comprehensive CLI utility called ddcutil: https://github.com/rockowitz/ddcutil The same author also made some kind of UI for it but I haven't used it so I don't know how it looks or performs: https://github.com/rockowitz/ddcui

Thanks!

Re: The journey to controlling external monitors on M1 Macs

#72
post #26

Great write-up and a fun read. I was caught off guard by this note: > the delivery guy called me about a laptop: the custom configured M1 MacBook Pro that costed as much as 7 junior developer monthly salaries has arrived! I tried the MacBook Pro configurator and could only get up to $2300 USD (excluding optional software like Logic Pro). I’m sure the price and taxation are higher in the author’s country, but I still…

When I got my first job as a Junior Malware Researcher, I was earning $422 per month. That times 7 is exactly the cost of the MacBook Pro I got (1TB SSD, 16GB RAM) Yes, I live in Romania, and salaries have been increasing a bit but they're still a joke for junior devs.

It always blows my mind when I compare the value of my company's MacBook Pros to the salaries of our offshore developers.

Having said that, when I look at a fully spec'd out Mac Pro, it comes out to $54,000. Add in a fully spec'd out Pro Display XDR, which is another $7k, and that's $61k.

According to levels.fyi, L3/E3/ICT2 SWEs at Google/Facebook/Apple get a salary of ~$130k, so just under 6 months of an American junior developer FAANG salary.

Re: The journey to controlling external monitors on M1 Macs

#73

Funny, I just started playing with DDC a few days ago. I've got a work (Mac) and a personal laptop (Dell XPS with Linux) that I like switching between. I had a thunderbolt hub, but was getting tired of moving the cable back and forth, and it was also unreliable on the Mac, causing it to heat up and slow down on occasion. I ended up just buying a pure USB hub with a switch, and running a persistent polling bash script…

If you get bored of the polling, there is a tool that does this in an event driven way:

https://github.com/haimgel/display-switch/ https://haim.dev/posts/2020-07-28-dual-monitor-kvm/ https://news.ycombinator.com/item?id=24357308

Re: The journey to controlling external monitors on M1 Macs

#74

Very cool, had no idea this was even possible. Is there anything like this for Linux?

There is an unofficial Linux kernel module that allows userspace control of brightness (in a similar way to how laptop brightness is controllable):

https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux

Re: The journey to controlling external monitors on M1 Macs

#75
post #59

Earlier quoted context omitted.

> Which is a perfectly reasonable decision Why is that "reasonable"? How does it ultimately benefit end-users when they can no-longer use userland software to control their monitor via DDC?

It's a raw bus? It's like an operating systems idea of a network stack being to hand all software raw ethernet access. It is an obvious concurrency disaster once you have more than one application trying to access it, the data transmitted and control handed over is entirely opaque to the operating system (god knows what monitor vendors sneak over DDC) and most importantly all of these are absurdly low level implement…

https://www.google.com/search?q=macos+send+ethernet+frames&h...

if you have root access, you should be allowed to have raw device access. the problem seems to be that apple no longer believes in users owning their computers, if it ever did.

Re: The journey to controlling external monitors on M1 Macs

#76
post #6

Very cool, had no idea this was even possible. Is there anything like this for Linux?

There is https://www.ddcutil.com/ It has a command line utility and a qt GUI. Unfortunately the GUI is a bit convoluted, because it exposes every option that you can change on the monitor. I once almost bricked my LG monitor, because I accidentally locked the hardware buttons on my monitor, via an undocumented manufacturer specific option. For gnome there is https://extensions.gnome.org/extension/2645/brightness-cont…

Note that ddcutil usually isn't usable without root, so that GNOME extension seems unlikely to work.

Re: The journey to controlling external monitors on M1 Macs

#77

Very cool, had no idea this was even possible. Is there anything like this for Linux?

I've successfully used DDCControl: http://ddccontrol.sourceforge.net in the past.

I think that moved to GitHub:

https://github.com/ddccontrol/ddccontrol

Re: The journey to controlling external monitors on M1 Macs

#78

It's appalling that something like this necessary.

Controlling external displays via DDC was never supported, and only works even on Intel Macs via a "private," undocumented API. It's neither appalling nor even surprising that this wasn't prioritized for the M1 kernel, and it is likewise reasonable that some more reverse engineering would be required.

From other comments, it would appear that they did used to support this and only cut it out since Catalina?

Re: The journey to controlling external monitors on M1 Macs

#80

DDC is great - I remember saving a Samsung 193P monitor (no buttons and controlled by a proprietary driver that only worked on WinXP) that had its brightness set unusably low by its prior owner. I also remember someone using DDC scripts as a KVM solution by switching the monitor inputs programmatically.

I had 2x 173P back then. Even to this day, the build quality and design is amazing. The panel not so much, but hey, it was 2004.
Post reply on HN