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
18.7k stars 332 forks source link

Add option to circumvent the lack of macOS support for the HiDPI variant for native pixel resolution (near-native HiDPI mode support) #965

Closed waydabber closed 2 years ago

waydabber commented 2 years ago

Native smooth scaling won't enable the HiDPI variant of the native resolution as it is prohibited in macOS (one exception was the Ventura dev beta4).

A working workaround for this seems to be is to create a custom HiDPI resolution that has 1px less vertical size than the native resolution.

There should be an option to enable this.

waydabber commented 2 years ago
Screenshot 2022-09-03 at 16 15 02

To avoid confusion, this will not be enabled by default, but especially on low-PPI displays this will probably help a lot.

Zorast commented 2 years ago

Lets test

nlited commented 1 year ago

Hi @waydabber ! One of my monitors is an old Samsung SA850, a classic 2k 2560x1440 monitor. Surprisingly I do have an option to set a native hidpi resolution aka 2560x1440 in hidpi mode (don't really understand how could it be technically possible though, but SwitchResX offers this option) and therefore there is no option to "add a near-native HiDPI variant" for this monitor in BetterDisplay...

waydabber commented 1 year ago

hi @nlited - is this an Intel or Apple Silicon mac? On Intel macs the HiDPI variant should be available (or is usually available) without the workaround.

(also: the option is only available in the v1.3.x beta).

nlited commented 1 year ago

@waydabber it is an apple silicon mac (MBP 16" M1 Pro)!

waydabber commented 1 year ago

Interesting. What is the reported native resolution set for the display? Are you running the latest Monterey?

Screenshot 2022-10-09 at 18 14 11
nlited commented 1 year ago

Yeah, the latest version! here are the screenshots: Снимок экрана 2022-10-09 в 10 47 03 Снимок экрана 2022-10-09 в 10 47 12

waydabber commented 1 year ago

All right. The circumvent option is only available in the v1.3.x version, so that's why it does not appear - however if the 2560x1440 HiDPI works without this, that is great. I don't know how is that possible though :). The native resolution certainly does not work on my config - the option is there (as usual) but the OS won't set the resolution to it even if I try setting it programmatically. I was trying it on a 4K display though. I'll check again with a QHD as well soon.

(Note: your screenshots certainly look LoDPI so if you are using that resolution then it might be that you are running at LoDPI, not HiDPI.)

nlited commented 1 year ago

only available in the v1.3.x version

mine is 1.2.9 and the app says this one is the latest :)

your screenshots certainly look LoDPI

yep, at the time of making these screenshots I accidentally switched to LoDPI :)

waydabber commented 1 year ago

Yes, the 1.3.x is available as beta, you can enable beta under Settings/General. :)

nlited commented 1 year ago

I see! Gonna try it when I'm back to the countryside where I have this 2k monitor :)

nlited commented 1 year ago

@waydabber Hi! I activated "add a near-native HiDPI variant" in version 1.3.4 and yes, the picture definitely got better and gained that HiDPI crispness! Although it looks almost the same when scaling is set to 100% (aka no zooming), it dramatically changes when I zoom some elements or the hole workspace — no more visible blur on my 2k monitor.

No I wonder what is the purpose of the dummy display feature of the app if "add a near-native HiDPI variant" option seems to completely solve that blur/scaling issue on 1440 monitors?)

waydabber commented 1 year ago

Dummies are super useful for a host of other purposes, especially combined with PIP and streaming. You can relegate any app to a separate screen that you can scale as you want in a PIP window with it, you can stream and have a rotated Sidecar display, you can use it as a dedicated screen for screencasts/video calls/youtube content with custom resolutions, you can use a flipped dummy image streamed to a teleprompter, have off-centered desktop with streaming, etc. Also there are some non-native displays (like DisplayLink) that do not work with native smooth scaling or if you want to achieve higher-than-native resolutions, you need to use dummies.

nlited commented 1 year ago

Thanks for the explanation, seems I just don't have the use cases to implement this feature :)