waydabber / BetterDisplay

Unlock your displays on your Mac! Flexible HiDPI scaling, XDR/HDR extra brightness, virtual screens, DDC control, extra dimming, PIP/streaming, EDID override and lots more!
https://betterdisplay.pro
19.75k stars 345 forks source link

Dummy mirroring method for HiDPI scaling (native smooth scaling not affected) - Utilize MacBook Pro/M2 air notch area while having flexible resolution options #142

Closed waydabber closed 2 years ago

waydabber commented 2 years ago

Issue description

Mirroring any content to the internal display of the 2021 MacBook Pros will force the mirror under the notch.

Root cause

This is an inherent limitation of the macOS mirroring. The notch has a specific size and the menu bar must be able to accommodate the notch nicely. In a mirrored setup, the mirror main (in this case the dummy) is "notchless" by principle. MacOS therefore pushes the mirrored content beneath the notch on the internal display.

An additional problem is that the MacBook Pro's native resolution (notch included) has a very specific aspect ratio that is not divisible. Apart from the default screen sizes offered by macOS there is no much additional possibility to nicely screen sizes for this aspect ratio.

BetterDummy can be used to mirror a 16:10 dummy beneath the notch area.

Resolution

A resolution to this problem is highly unlikely.

waydabber commented 2 years ago

Update: I found a solution to this problem (in principle). Will need to implement though and will be a bit hard to test without an MBP. :)

yuzhanglong commented 2 years ago

I have the same problem,could you have solution?

waydabber commented 2 years ago

I still don't have an MBP so I am not sure how things exactly work out, but you can see what happens if you stream a dummy (using the v1.1.0-beta version) to the internal display instead of mirroring it. What will happens to the notch?

yuzhanglong commented 2 years ago

I still don't have an MBP so I am not sure how things exactly work out, but you can see what happens if you stream a dummy (using the v1.1.0-beta version) to the internal display instead of mirroring it. What will happens to the notch?

It works, but have some problem, The display content seems vague:

image

when I use "native", it works well(but the words are too small 😭😭): image

waydabber commented 2 years ago

I am not sure what vague means. :) You should set the dummy to the desired HiDPI resolution (not Standard as that will result in a low-rez resolution) and the stream target display (which is the internal display of the MBP) to its Default or Native resolution (but you don't have to change it manually, BetterDummy tries to take care of it during full screen streaming when this is not disabled by by enabling Advanced -> Do not force native mode for full screen stream.

waydabber commented 2 years ago

But I think streaming is not happening for you somehow, things might not be set up properly. You should stream the dummy to the internal display, not the other way around.

waydabber commented 2 years ago

This will be dealt with in the next update by using an alternate method.

waydabber commented 2 years ago

If you have this issue and are using the app only to mirror a dummy screen to a real display on Apple Silicon in order to have flexible HiDPI resolutions, please check out the latest beta which includes a new smooth scaling feature for native displays (no dummy required).

The feature requires macOS Monterey 12.4, 12.5 beta or Ventura and requires a Pro license.

Thank you!

yuzhanglong commented 2 years ago

If you have this issue and are using the app only to mirror a dummy screen to a real display on Apple Silicon in order to have flexible HiDPI resolutions, please check out the latest beta which includes a new smooth scaling feature for native displays (no dummy required).

The feature requires macOS Monterey 12.4, 12.5 beta or Ventura and requires a Pro license.

Thank you!

Pro license...