waydabber
waydabber on Hacker News
MonitorControl is an app to control the brightness and volume of your external display like it was a native Apple display (via the native Apple keys showing the native OSD).
The new 4.0.0 version was recently released and has a huge amount of new features compared to previous versions (even though v3.x.x was alerady a feature packed release). App development was supercharged recently - if you did not try MonitorControl or you last tried version 2 or 3 (the latter was released this September), check it out!
Some new stuff among other things:
- Complete overhaul of the menu UI with Big Sur/Monterey Control Center style sliders.
- New combined hw-sw brightness algorithm that is closer then ever to the Apple native feeling.
- Smooth brightness transitions.
- A lot of customization options and tweakable DDC settings for advanced users.
- Fully supports virtual displays (DisplayLink, Sidecar etc) and non-hardware dimming.
- Custom keyboard shortcuts (+ of course native Apple keys)
- Brightness syncing from the built-in display
- Compatibility with BetterDummy https://github.com/waydabber/BetterDummy
+ all the improvements of v3 (Apple Silicon support etc).
The app is free and open source. :)
Posted by
waydabber on Saturday November 13, 2021 @12:17PM
from the github.com dept.
Yep, sorry, I guess I was clicking the wrong link while trying to respond to something else.
I agree with you, it is funny that we need dummies and workarounds (being hardware or software).
Hi, I tested the Screen Sharing scenario with BetterDummy running on an Intel headless Mac Mini 2018 running Big Sur. Works splendidly, all resolutions are available and resolution change works on-the fly through Screen Sharing!
According to my tests the app seems to provide headless macs with a HiDPI virtual display with customizable resolution (tested via Screen Sharing, resolution switch on the fly worked, all resolutions are available without any real display connected - should work with VNC as well, but I did not test that).
I tested this as part of testing the app on Intel and Big Sur (BetterDummy worked fine on this Intel config with an integrated Intel UHD630 so headless Mac Mini 2018 users should be fine).
I can confirm this, I had now the chance to test it as well. My findings:
- Works just fine on an Intel Mac (tested one with Intel UHD 630).
- Works well with Big Sur (tested on an Intel Mac).
- Does seem to provide headless macs with a HiDPI virtual display with customizable resolution (tested via Screen Sharing, resolution switch on the fly worked, all resolutions are available without any real display connected - should work with VNC as well, but I did not test that).
Amazing, thanks for the report! Did not have a chance to test it on Intel but I did compile the app to be Intel and Big Sur+ compatible and the APIs used by the app should be available on these platforms as well.
Immersed apparently uses the same technique as BetterDummy to create virtual displays. I don't know if without a subscription BetterDummy created additional virtual displays show up in Immersed (as I have Elite), but for sure, BetterDummy created displays show up in Immersed.
It is actually a software alternative for a hardware fix to a software annoyance lol. :)
Hey, I have a Quest 2, I'll try this one out myself as well. :) Thanks for the idea!
This is an interesting question, honestly I have no idea. It might be that these APIs are relying on the presence of a GPU for acceleration (as the private framework APIs used are made by apple for Sidecar and AirPlay primarily). If you test this, please let me know about the results at the project GitHub page (
https://github.com/waydabber/BetterDummy). Thank you!
The app is compiled for Big Sur but I did not test it and received conflicting reports whether it works or not. Please try it and let me know! Thanks!
SwitchResX I think is different. It is superior in a way that it creates additional display modes which macOS then can use as a native resolutions on Intel. On M1 the problem is that it can only create scaled resolutions and even at that cannot create HiDPI resolutions if the display reports itself as sub-4K. This is due to an inherent limitation in the M1 driver implemented by Apple, not the fault of the SwitchResX developer. I was a SwitchResX user for many years on Intel macs and was dumbstruck when after replacing my Intel macs with M1 I found out that I cannot use my displays as I used to.
BetterDummy simply navigates around the whole problem by creating Virtual Displays that are mirrored to the main display. This is in one regard inferior, since this is inherently a workaround but on the other hand can work on-the-fly and all possible resolutions are instantly available and accessible via System Preferences/Displays.
I don't think displayplacer is intended to create a virtual display, it seems to be a CLI to manipulate display modes and mirroring for existing display so these seem to be two different things entirely. I might be wrong of course.
No, you won't have trouble using your Mac at native resolutions with an 1920x1200 display, you don't need BetterDummy for that! :)
I stand corrected, 4:3 (16:12) is already available in the app just wasn't thinking right lol. So Sidecar scaling is supported as of now.
Yeah thanks @alin23 for creating extra work for me lol :), I'll be working on fixing that in MonitorControl (
https://monitorcontrol.app).
Hmm. Didn't think of that use, but tried it and works nicely. However BetterDummy does not have 4:3 (iPad) aspect ratio support as of 1.0.7, I'll add so SideCar would fill the iPad screen properly.
BetterDummy will not help with that, the app fully runs in user space as a normal app and can start after login.
There is some difference, but it is marginal indeed at least in terms of speed. Via the traitional route with a real dummy, the display hardware needs to produce two sets of displayport output streams (one of which is converted to HDMI via a DisplayPort-HDMI controller chip MCDP2900 to drive the Dummy) + sync up the two displays in terms of vertical sync (this does not always work well, this is why real HDMI dummy users experience mouse jittery sometimes) and also has to scale the full-res framebuffer to two independent display (but scaling is done super efficiently on M1). With BetterDummy all this is not needed obviously.
For ppl who until now had to resort to mirroring the internal displays (as M1 MacBooks - before the new MBPs - support only the internal display + a single external display) the benefit is more obvious, they now can use clamshell mode and don't have to drive the full MacBook display hardware (with brightness turned down to zero) all the time.
You can simply create two dummies and mirror each one to separate displays. Or you can use the 4K display as is (since it will natively have 1920x1080 HiDPI on M1) and create a dummy to use with the QHD display to get 1920x1080 HiDPI.
Of course, you can configure everything as usual under System Preferences/Displays.
If you have a 2+ display setup for example, you can create a Dummy, mirror it to one display but leave the other display unaffected. Or you can create 2 dummies, mirror each one to a separate display.
Every display can serve as a Main or Extended display, as well as a Mirror for some other display. Therefore a mirrored set can be Main or Extended as well. A typical use case is to use your MacBook display as an Extended display alongside your external display which is a Mirror of a Dummy that is set as Main display (providing all the fine grained HiDPI resolution options).
Hope this helps!
Yeah, I made this app as I switched a family member's mac from an Intel mini to M1 and was mystified by the fact that no matter what tricks I was trying, it was not working with the Lenovo 24" QHD display as before (getting a 4K display was not an option due to cost and size constraints - no good 24" 4K display is available for a reasonable price and there ppl who don't want huge displays on their desks). I purchased a HDMI dummy but had constant issues with it, so I had to explore other avenues.
My creativity is normally put to use on something other, like MonitorControl, but working on BetterDummy is fun as well. :)
https://github.com/MonitorControl/MonitorControl