Just as high refresh and HDR were becoming really mainstream, Big Sur completely broke what was working flawlessly in Catalina (and it has not been fixed as of either 11.5, or the Monterey betas so far - and by completely broke, I mean does not work, at all, for anybody, not just 'some edge case').
With Catalina, my Mac Pro happily drove 2 27" 4K monitors in 10 bit color at 144Hz.
With Big Sur? I can run those same screens at 60Hz 10 bit, or 95Hz 8 bit.
I guess I just need to get a Pro Display XDR...
I'm not saying the ProDisplay XDR isn't a good screen, or even overpriced in the class of displays it lives in, but there is a major leap between "I write code/documents/etc. all day and like vibrant monitors" and "I do professional multimedia work and need hyper-accurate displays to do my job correctly."
Telling all the people who want HDR to go buy a $5,000 display they don't need is a bit of a mean spirited move.
Plus an extra $1,000 for the stand to mount it. That never stops being funny.
It's a bit tangential, but I keep seeing people mentioning 4K monitors with high refresh rates on HN, but I've never seen any. Would you care mentioning what make / model those are?
https://support.displaylink.com/knowledgebase/articles/11880... https://support.displaylink.com/knowledgebase/articles/18493...
What I don’t know is if you’re allowed to selectively upgrade to, say, the latest version of Catalina. But you can pick and choose updates, so maybe?
I want high refresh rates, which help even for operations work, web browsing, not just photography and eye fatigue. And I want HDR.
Frankly, the only reason I'd consider the XDR is as mentioned, aesthetics - I've got the 2019 Mac Pro, and I recently bought a house and set my desk at home up in the middle of my office, not against a wall, so entirely superficially, the aesthetics of the back of the XDR display could look nice.
The only thing the XDR has going for it is color accuracy (which is orthogonal, though certainly impacted, I'm sure, to lossy compression), and resolution (though I still like my two ultra thin bezel 4K screens versus one 6K screen). The refresh rate on the XDR is 60Hz.
Oh, and the XDR is not bugged/broken/crippled by Apple so as not to be able to run at full capability.
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 don’t understand how that could cost the equivalent of 7 months of junior developer salary anywhere.
Yes, I live in Romania, and salaries have been increasing a bit but they're still a joke for junior devs.
Also, Romanians tend to have excellent language skills in most Latin languages and English so that helps a lot too. They're also really friendly in my experience. I would notice that when I walked around the office people talking among themselves would often switch to English when I was near them so I wouldn't feel left out. And they'd always ask me to join them if I went for lunch alone. And I'm not even a manager :) I was just there to do the technical side.
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.
Was it a typo?
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
For gnome there is https://extensions.gnome.org/extension/2645/brightness-contr... This addon adds brightness sliders in the power menu for your external monitors.
Wow, color me surprised. That doesn't sound like a desktop Linux app at all :)
>I once almost bricked my LG monitor, because I accidentally locked the hardware buttons on my monitor, via an undocumented manufacturer specific option.
Reminds of the good old days of late 90s / early 2000s desktop Linux, when the wrong video timing settings in your XFree86 config could make your CRT monitor (almost literally) explode.
But I'm sure 2022 will be "the year of Linux on the desktop", finally :)
I never heard of Lunar before but completely understand the use case, all the more so it doesn’t seem Apple is interested in filling that gap outside of its pro display.
Spaces, the multiple desktops, single monitor feature of MacOs has been neglected for too long.
Did you ever attempt to reach out to Apple about how this should be implemented on the new kernel? I would hope there's some forum for this kind of question still.
It may in fact increase power use a bit because rendering black pixels needs more energy to excite the crystals.
I haven't contacted Apple because I don't think they are interested in implementing such a thing really. I've written more about why I think that here: https://lobste.rs/s/2zajeu/journey_controlling_external_moni...
I really appreciate this class of application that exposes more hardware functionality to the end user. Flux (which may or may not be a direct competitor) is another great example, as is Halide, the pro camera app for iPhones. They're certainly not flashy, but they can be great quality-of-life improvements.
And they're difficult to write! They require using APIs that are often woefully under-documented, and terribly difficult to debug. I wanted to write an app that would slowly lower your device's volume over time (so you could raise the volume for a song that you like, but then not accidentally spend the next 30 minutes with the volume super loud), and even doing simple things like listing audio devices and getting their names was endlessly frustrating.
I had a great experience using SimplyCoreAudio for that task, I assume you probably already know about it: https://github.com/rnine/SimplyCoreAudio
Intel mac, usb-c sound to an external 4k monitor used to work flawlessly in Mojave. Big Sur, stopped working.
After launching the app my system started freezing so bad I had a hard time closing the app, inputs unresponsive for 30 sec then active for 1 sec to become unresponsive again.
I figured I'd try to launch it with my monitor unplugged and worked fine, but after plugging in my monitor again it doesn't connect again.
I've tried closing the app, uninstalling it and rebooting my system. Nothing works and now I'm left with no external display. What the hell?!
EDIT: after unplugging my dongle from usb-c (i.e. un-powering it instead of just unplugging it from the laptop) everything works again! phew. I guess it put the dongle in some weird state?
All the app does is call a macOS function called IOAVServiceWriteI2C to send a standard DDC message to the monitor (something like “set brightness to 30”)
In your case, either the dongle or the monitor reacts unexpectedly to that message. What should happen is that the dongle should simply forward that message as it is to the monitor and the monitor should have firmware logic to interpret it correctly and either set the brightness to the sent value, or not do anything.
That’s why Apple will never implement native brightness changing using DDC.
They can’t risk having users come with problems like this one in the press, because the monitor or hub/dock does something funny with the DDC message and crashes.
Lunar can also function in software mode using gamma by following the instructions here: https://lunar.fyi/faq#bad-ddc
That mode will never crash a monitor because it doesn’t send any data to it.
The dongle that's having problems is a "Selore&S-Global USB-C HDMI + DP" if that's something you want to keep on file.
Thanks for the detailed response and all your work making the app possible!
I ended up just buying a pure USB hub with a switch, and running a persistent polling bash script on the Mac and the Linux machines that calls the appropriate DDC commands to switch the monitor input based on which machine the USB hub is switched to. It's fast and works great.
https://github.com/haimgel/display-switch/ https://haim.dev/posts/2020-07-28-dual-monitor-kvm/ https://news.ycombinator.com/item?id=24357308
It’s a new platform so I don’t expect every single feature of every piece of software to work on day 1, but I haven’t encountered anything show-stopping.
Not being able to adjust monitor brightness using a 3rd party tool for a few months until the developer adds the new hardware isn’t really the end of the world.
Some people don't even feel the need for such a thing and just stare hours at a time into a blinding 100% brightness panel when working at night time.
I think that can cause macular degeneration much faster than just "not filtering blue light", but this is not as talked about so people don't think about its effects that much.
Most of my monitors are way too bright at 0% at night. On my 4K I even need to work at 0% during the day and reduce contrast at night (which messes up colour depth).
And yeah the OSD controls are horrible.
I still work on a real VT520 CRT terminal sometimes and it amazes me how it can go from super bright to hardly readable in pitch dark. And has amazingly handy analog brightness/contrast knobs. Not all innovation is progress.
Using my monitor via HDMI and apples 100$ dongle it constantly turns off randomly and will not come back on without unplug and plug back in.
Everything else is great but after like 5 updates that claim to fix the issue but still having issues maybe apple should make some notification about the problem so people don’t buy this if they have serious work they need to get done.
On the other hand, both my fullspec 2016 and 2019 MBP have days where the displays and usb and Bluetooth hubs freeze every few minutes and I’m watching a the screens go blank and the windows being retiled while I can’t type. The only thing that continues is audio over the 3.5mm port.
So for me, things improved with M1.
I started with the Blogophonic theme but I have heavily edited it since then: https://github.com/formspree/blogophonic-hugo
Unfortunately I don’t have some pre-made theme that I can share, I mostly improvised with colours and styles that I noticed look good on other websites, then settled on some colour scheme and style using Sass variables that I use all over the place.
I have a usb switcher with a button, and then my desktop I have coded up to switch the input on my monitor when the keyboard appears/disappears (udev rules trigger that).
Curious why he did not use Mac App Store to sell his app?
> reading brightness, contrast or volume from the monitor fails about 30% of the time
I2C over long lengths of wire isn't the sturdiest physical layer... I would expect the low level I2C handlers to retry a few times on no ACK received, but a retry_count of 5 might resolve most of the issues around a bit flipping on its way through the wire :)
I'm more surprised that I2C works at all over the long, thin Thunderbolt cable of my LG. Huge bandwidth going through it for video and the USB hub, lots of current passing through for charging the MacBook at the same time, I'm amazed it works so well.
Apple vendored displays have a proprietary protocol implemented over USB so that macOS can natively change the brightness and volume.
Lunar can take advantage of that as well as you can see here at `Apple DisplayServices`: https://lunar.fyi/faq#ddc
So if you want to Sync the Macbook brightness to the XDR, or sync from one XDR to another, or just get more hotkeys to control presets and contrast, Lunar can still bring something over XDR's features.
OMG. What will be next? Apple vendored flash cards?
Location mode is everything I've ever wanted from non-Apple monitors with a Mac mini. https://lunar.fyi/#location
I bought a Pluggable doc, for $300, of course it wasn’t until after I couldn’t get it to work did Pluggable team tell me it wouldn’t work, “a known problem”, which they didn’t disclose. This was 7-8 months ago.
I needed the extra ports so I kept the dock, and used both monitors in landscape mode, it killed my productivity.
About 2 months ago I needed to reboot my machine, Zoom couldn’t find audio.
When the machine restarted one of the monitors was in portrait mode, it hadn’t been configured in portrait mode, but it was in portrait mode. I hadn’t done any updates, automatic updates are turned off. Then machine started with 1 monitor in portrait mode.
Everyone tells me it can’t work, Pluggable, Apple, Apple support forums.
This experience tells me the M1 release was half baked at least on the OS side.
The product was rushed to market maybe to capture market segment, maybe because component parts were already allocated, and shipping the M1 devices would help Apple to offset lost sales due to parts availability for the Intel Mac’s.
Hard to say, but I would have also expected something as trivial as rotating the display to be available without the need to buy a 3rd party $300 device, that isn’t supposed to work.
https://github.com/MonitorControl/MonitorControl
Ans seems they are on track to fix M1 DDC :)
Brightness actually wasn't my biggest gripe, it was my monitor's stupid volume controls (three menu levels deep). And Lunar takes care of both!
Without automatic brightness control for my external display, I had the exact same problems the author of Lunar describes in his article, constantly and manually adjusting the brightness of my display throughout the day, with its awful on screen menu.
Before I got my Mac with an M1, I‘ve used Brightness Menulet, which also worked quite ok, but not nearly as polished and functional.
There is a good chance this is because the read is done too fast. If it gets less reliable with a super long HDMI cable then it's almost certainly the clock speed.
I2C is a clocked protocol where the host (the laptop) decides the clock speed. It isn't designed as a high speed data transfer mechanism, and requires that all the signals get to the other end of the wire and back all within every clock cycle. Since there is very little data to send, a clock speed of 10kHz should do the job just fine. But I bet the hardware is set to something silly like 10 MHz by default, since it probably uses the same I2C drivers and hardware blocks as used for communicating with other things on-chip and within the system.
I enjoyed the article though.
No company with a pulse could be this incompetent.
Frankly, it all just makes me happier to be out of the ecosystem. I love the fact that there are people like you willing to write beautiful, functional and native system apps, but it also hits me with a pang of sadness when I hear that you spent 7 months salary on a device that will merely give you the ability to package and distribute apps to a certain platform. It's frankly dystopian, and I get the feeling that Apple will continue to edge out "lower-level" software like this in their bid to "increase userland security" (see: gimping MacOS APIs).