Hacker News new | past | comments | ask | show | jobs | submit login

This seemed neat so I installed Lunar to try out on my M1 MacBook Air with a LG HDR display connected over HDMI.

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?




I can’t say for sure what the problem is in your case, but it’s definitely not a problem in Lunar.

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.


I've tinkered around a bit and found that with another dongle that uses displayport everything works fine. Changing volume and brightness from the keyboard not having to fiddle with monitor menus is a godsend :)

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!


Display Data Channel generally doesn't work through dongles. I'm not really sure how usb-c dongles work (block diagram, etc.), so I don't know why this is the case.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: