@AironMan I'm on an M1 Pro. I saw the same lower res on first boot after updating.
What works for me is setting the refresh to 60hz in system preferences. Then start messing with Better Display settings. Set resolution to 4k, enable HiDPI, and then set refresh rate to 120. Try toggling config protections on and off. Takes a few tries but eventually 4K/120/HiDPI will stick. System preferences still shows 60Hz but it is actually 120, confirmed by BetterDisplay and LG C2. I've tested this a few times.
It seems to go back to lower resolution every time I reconnect the display, so quite a pain, but at least it can work.
You should be able to use Configuration Protection menu's Refresh Rate option to force an "unexposed" refresh rate on reconnect. I saw @AironMan's post about this not working properly. I should check why this is the case (it should work, at least that was the intention when doing the feature).
The "unexposed" refresh rates are not listed as valid display modes in the system's display mode list, that's why you don't see them in the normal Display Mode menu and under System Settings/Displays. The "unexposed" stuff uses some low level APIs to change the refresh rate (works very much like how the Color Mode menu does its stuff).
You can check the entire mode list using this command:
Code:
/Applications/BetterDisplay.app/Contents/MacOS/BetterDisplay get -n=lg -displayModeList
You can check the low level connection modes recognized by the system based on the EDID using this command:
Code:
/Applications/BetterDisplay.app/Contents/MacOS/BetterDisplay get -n=lg -connectionModeListAll
(note: if the 'lg' string is not in the display name, you need to substitute that accordingly - the match with -n= is case insensitive.)
You can switch connection modes manually with the `set -connectionMode=` command for the display using it's unique identifier.
When the connection mode is switcehed to a different refresh rate like this, vsync does adapt to this in macOS but the system generally thinks it's the old refresh rate, so System Settings will not provide the right information. When using a non-matching resolution, the desktop will be cut off.
For more information on how to change connection modes using CLI:
Add CLI option to set, get and list external display connection configuration (bit depth, RGB/YCbCr, subsampling, range) · Issue #3229 · waydabber/BetterDisplay
This is not the standard mode change but alters the negotiated connection mode itself. Works on Apple Silicon only with natively connected external displays.
github.com
For more info about BetterDisplay's CLI stuff in general:
Integration features, CLI
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! - waydabber/BetterDisplay
github.com
Last edited: