For some time now, users with an M1 Mac have been finding themselves unable to control the brightness of third-party displays (using third-party apps) that are not made specifically compatible with Macs.
A developer of one of those apps—Lunar—said in a Github support thread of MonitorControl, a similar app, that M1 support is unlikely for apps that control brightness on external displays. Developer Alin Panaitiu explains in a different thread that the shortcoming is not a bug and is deliberately added to M1 Macs:
“This is not a bug, it’s simply the fact that M1 shares a big part of its architecture with the iPad A14 chip and Apple developers borrowed part of the GPU driver code from the iPad kernel which doesn’t expose an I2C controller (which Lunar needs for DDC requests) and probably never will.”
In order to send commands like changing the brightness of a display, establishing a communication between the Mac and the display, Apple’s displays use their own protocol. This same protocol is also present within LG displays that Apple sells.
However, when it comes to third-party displays, the developers of the aforementioned apps and other apps that offer similar controls use a collection of protocols called the DDC (Display Data Channel).
This set of protocols is supported by most third-party displays and monitors as they allow you to establish a connection between your Mac’s graphics card and the display itself, letting you change the brightness of the external display right from your Mac.
While older Macs with Intel chips had integrated graphics that featured an I2C graphics controller used to send DDC requests, the newer Macs with the M1 chip lack its support rendering apps like Lunar and MonitorControl useless.
Since it is a deliberate decision, it is unclear if Apple will revert the existence of an I2C controller for M1 Macs in the future. So, for now, users who took advantage of this functionality in the past are left helpless with the only alternative option of using displays that Apple officially supports.