New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apple Silicon (M1 GPU) support #210
Comments
|
Hi @lukerooneyio !
|
|
I'm facing the same issue with Mac mini and Dell AW3420DW
Issue description:exactly same as above |
|
I'll be getting an M1 Macbook Pro next month so I'll be able to do more tests then. Thank you for the reports! |
|
Hi Alin, just another user here to say also not working on the Mac mini M1. Sure you didn't need to know but just wanted to say its not isolated. Using it with LG 49wl95c-w |
|
Not working between M1 Mac Mini and Acer XV273K either. |
|
Same as OP on MBP 13" M1. Lunar interface runs and looks like it should be working, but does not control my monitor which is connected directly via USB-C. Lunar previously worked with this monitor on a 16" MBP. |
|
I've tried to fix this but for now it looks like macOS doesn't expose the I2C interface for the M1 GPU framebuffers. All we can do is wait for a macOS update that will add this functionality back, although it's unlikely it's going to happen soon since it was never a publicly known feature. |
|
So the earlier comment about reports that lunar works on M1 was a mistake? Lunar blanket does not work on any M1 device? |
|
I misread a user's feedback which actually stated that for him Lunar worked on MBP 16" but not on the M1 MBP. Sorry for the confusion. |
|
Any workarounds for M1 users? - maybe another utility temporarily? - I miss being able to control volume and brightness :) |
|
The only thing I’ve found so far that works on M1 for volume (it does not attempt to handle brightness) is SoundSource (paid with trial): https://rogueamoeba.com/soundsource/ UPDATE 2021-01-03: Works in the sense of affecting the volume with HDMI/ARC speakers but doesn’t actually set the volume on the TV but fakes it somehow. It’s been a little buggy for me. What I’ve done instead now is write a little script to change the volume on my Sony Bravia TV via API, and triggering that from the volume keys. (Configured them to be function keys instead, then mapped them to scripts via Alfred.) |
|
You can follow the progress (or rather lack of it) in this ddcctl issue: kfix/ddcctl#86 I've tried tirelessly to send DDC messages from my M1 Macbook Pro but the hard truth is that for now macOS doesn't provide a way to do this. For some reason the GPU driver doesn't send the DDC messages to the monitor. All we can do is hope that this is temporary and an update will re-add the I2C functionality to the GPU driver. |
|
same problem on M1 air. Yet I found that QuickShade in App Store can work normally. @alin23 |
|
QuickShade doesn’t adjust the actual brightness level of your display. It renders colors incorrectly and everything just looks worse.
… On Jan 2, 2021, at 7:57 PM, bear-boss ***@***.***> wrote:
same problem on M1 air. Yet I found that QuickShade in App Store can work normally. @alin23 <https://github.com/alin23>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#210 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AMU3TSA5P325RGPYURPEVNDSX7TJ3ANCNFSM4T6GXGYA>.
|
Lunar changes the same brightness that you can change by using the physical controls on your monitor (buttons, touchpads etc). QuickShade adds a software black overlay over the whole screen which, like @lukerooneyio mentioned, renders colors incorrectly, decreases contrast linearly instead of exponentially, and keeps the monitor LED backlight at the same strength which consumes more power and can heat up the monitor panel depending on how much time the monitor is kept on. Of course, all this can be harder to notice for some users, so if you're happy with QuickShade, stick with that for now. Lunar is dependent on having access to low level GPU controls which M1 doesn't provide yet. QuickShade is simply renderring a non-opaque black full screen window which is why it can work no matter the GPU used. |
|
Looking forward to seeing if you get access to the controls on the M1. For now, QuickShade is not a bad alternative. Any suggestions for users to file a radar with Apple for this feature? |
|
I purchased a thunderbolt 2 display from a decade ago, that works nicely and has brightness control on the M1 - does need a thunderbolt 2 to usb-c adapter though |
Yes, Apple vendored displays might still work as there is an alternative method implemented in Lunar that doesn't use DDC.
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. I tried some workarounds like a Raspberry Pi connected to a secondary HDMI input of the monitor that could send the DDC messages, or an Arduino type of board that could send raw DDC requests through the I2C pins of the HDMI connector. None of them worked unfortunately, most monitors only accept DDC requests from the currently selected input. I guess we'll just have to wait for now. |
|
@alin23 Would you need an FPGA to inject DDC requests into an active HDMI signal or is it just not possible at all? |
I didn't consider injecting DDC into an active HDMI signal as that would mean some cable cutting and modifying and this isn't really something that everyday users could do. Maybe some HDMI splitter cable could work but not everyone uses HDMI. I use USB-C for example, other people use DisplayPort or HDMI-To-USB-C. It would be a nightmare to create a hardware solution for all these cables. All I wanted to do is have an affordable board like a Pi, send DDC on a not used HDMI input, because I noticed that my Intel Macbook Pro 15" can very well control my monitor with Lunar through HDMI, even though the selected monitor input is USB-C where my M1 Macbook Pro is connected. It doesn't always work, but it's bearable for now. The Pi though, it keeps saying there's no monitor connected until I switch the input to the Pi HDMI and then ddcutil functions without any problems. |
|
@yonibloch @Rupeeee I'm taking a look at the logs. Until then, can you please try this beta? https://static.lunar.fyi/Lunar-4.5.2-beta1.zip I re-added partial matching as a fallback if all other methods fail. |
|
@yonibloch looks like you missed one file /Applications/Lunar.app/Contents/MacOS/Lunar @ displays --edid --system-info > ~/Desktop/Lunar-sysinfo.txt |
|
Something's odd here.. Let me see if I got this:
The problem seems to be that Lunar thinks that the monitor is connected to the HDMI port and is disabling DDC for the monitor. If the above is correct then the HDMI port detection is flawed |
|
Lunar-sysinfo.txt Yes-- nothing's connected to the HDMI port on the Mac Mini. |
|
Here's a beta build with improved HDMI port detection: https://static.lunar.fyi/Lunar-4.5.2-beta2.zip Let me know if it works ^_^ About the other monitor you see, it's not exactly what you think: https://lunar.fyi/faq#ghost-monitors |
|
It works! |
|
Woo! I'll release 4.5.3 then as there are a bunch more fixes around gamma as well. |
|
Works like a charm! (I updated through the official release not the beta) |
|
@fancymans please update to 4.5.3. This has been fixed already |
|
@alin23 Unfortunately even on 4.5.3 (and even after restarting Mac mini) there is no change in behavior. Diagnostics still successfully changes brightness of monitor, but controls within Lunar do not. Resent diag results, here are new logs after updating to 4.5.3 |
|
Oh weird.. it seems I missed something in the detection logic. I'll take a look tomorrow. Thank you for all the details, it's very helpful! |
|
@fancymans @yonibloch @Rupeeee @waydabber Can you help with testing an updated detection logic for M1? Here's the build: https://static.lunar.fyi/Lunar-4.5.4-beta1.zip You have very different IORegistry trees and I'd like to make sure that this detection works for all of you. |
|
Works perfectly on
Cheers! :) |
|
@alin23 |
|
Works perfectly @alin23 I'm afraid I couldn't find the cached info from the diagnostics (at the directory you specified, or anywhere else on my computer), but I have sent the diagnostics in app (which worked well to change the screen brightness) cheers! |
|
@porcherie let's get on Lunar's Discord for this discussion. It's not exactly related to this issue. |
Great! I'll also be waiting for @fancymans and @yonibloch responses before releasing the upgrade. |
|
About the other not connected monitor, it is a system problem. Read here for more details: https://lunar.fyi/faq#ghost-monitors The washed out colours is another system problem, a lot of M1 users have it. It's usually caused by macOS incorrectly sending an YPbPr signal instead of RGB: https://forums.macrumors.com/threads/m1-mac-external-display-fuzzy-fonts-colors-ypbpr-vs-rgb.2276345/ |
|
Brilliant thank you I'll have a look into both of those! |
It's working over USB-C Thunderbolt now! :) Here's logs again just in case it's needed. Using DDC on main monitor, and gamma for HDMI monitor works out well. |
|
Great to hear that! I'll release the update then. |
|
I use Mac Mini 2020 M1 with ASUS VS229 and DELL U2414H which both supports DDC. When I connect one of them Thunderbolt USB-C the hardware controls works like charm but the other one which connected via HDMI only supports Gamma. Is this possible to support both monitors for Hardware Controls? |
|
@trK54Ylmz There's a whole issue about that here: #125 |
|
I use a USB Audio DAC connected to my monitor. The monitor is connected via usb c to a Macbook Air M1 and the volume indicator is shown on the screen (and it changes the UI) but the volume does not actually change in my headphones. Awesome stuff with this tool! |
|
Hi @adyz Lunar only changes the volume value of the monitor. If you go into the monitor OSD using its physical buttons, and the volume value corresponds to the value in the Lunar UI, then that means everything works as expected and the monitor reacts to the volume commands. USB DACs usually have their own volume, that can't be changed by Lunar or any other app. |
|
@alin23 - Ah, I understand. Thank you! |
|
Hi @alin23 , |




Hi, If you plan on beta testing it for Apple Silicon, I'd be happy to test and give feedback :)
Issue details
Mac device where Lunar is installed (Macbook Pro 2019, iMac, Mac Mini, Hackintosh etc.):
Mac Mini M1
Monitor model (LG UltraFine 5K, DELL P2715Q etc.):
BenQ 4K 27"
Monitor connection to the Mac device (HDMI-to-USB-C, USB-C-to-USB-C, miniDisplayPort-to-DisplayPort etc.):
HDMI
Using an USB Docking Station or Hub:
No
Lunar mode used (check it in the top-right corner of the Lunar interface)
Manual
(only if you know how to compile a C program) Does this utility work for you? https://github.com/kfix/ddcctl
optional response
Issue description:
Lunar loads fine, and I have no issues with using the interface, but adjusting the brightness/contrast has no effect on my monitor.
The text was updated successfully, but these errors were encountered: