My initial testing of the HDMI 2.1 port on the M2 Pro MacBook Pro 14″ connected to an LG C1 48″ OLED TV was successful in being able to run at 4K resolution, 120 Hz refresh rate, and HDR enabled. The VRR menu shows it running at full YCbCr444 at 10 bit.
That’s the good news, but the bad news is I have found that there are some serious limitations to this setup due to how Apple implements its display scaling.
Resolution Scaling in macOS
First, a brief explanation of resolution scaling in macOS. Apple introduced the “retina display” a long time ago on its phones and computers with built-in displays. The characteristic of a retina display is to make the image much sharper by rendering four times as many pixels (2x the width and 2x the height) than you would typically have.
macOS can run a display in its native resolution, meaning a 4K or UHD display at 3840×2160 pixels for example. But to make the image sharper, macOS does scaling by following this retina display principal as well. That means it can show a user interface that looks the size of a 1920×1080 or 1080p screen by actually rendering at 2160p in order to use 4 times as many pixels, increasing sharpness.
That’s why by default, the 5K display found previously in the 27″ iMac and now the Apple Studio Display is so sharp but still readable. The resolution looks like the size of a 1440p screen, while using 4 times as many pixels.
And that’s where the problem lies with the HDMI 2.1 support in the M2 Pro and Max machines. The HDMI port has enough bandwidth for scaled 1080p (rendering 2160p) resolution at 120Hz with HDR. However, if you set the scaled resolution to anything higher than 2304×1296 (rendering 4608×2592), you won’t be able to enable HDR at 120Hz.
That includes the scaled 2560×1440 (rendering 5K) resolution that macOS supports on machines like the iMac and 5K displays. I find that size to be a great balance between screen real estate for readability and sharpness, and I would like to use that resolution on the 48″ LG OLED TV. Unfortunately, you can only go up to 100Hz refresh rate and still have HDR at scaled 1440p.
Go any higher than 1440p, including scaled 3008×1692, 3200×1800, or 3360×1890 and you’ll be limited to just 60Hz if you still want to use HDR.
I found a way to improve the situation a little bit. There are several programs like SwitchResX or BetterDisplay that let you add additional resolution options. Through my testing, I found that I could go as high as 2400×1350 (while still maintaining a 16:9 aspect ratio) and still get 120Hz HDR. That is 125% of 1920×1080, while the 2304×1296 resolution you can set out-of-the-box is 120%.
It’s not quite up to 2560×1440, but it is 93.75% of the way there, and the round numbers look nice. If you go up slightly to YxZ resolution or higher, you’ll need to step down the refresh rate or lose HDR.
Is There a Solution?
I don’t know if there is a better way to get around this limitation or enable the higher scaled resolutions. The UI for the HDR toggle goes away as soon as the combination of the resolution and refresh rate are higher than a certain limit, which means they implemented logic specifically to handle this case. Therefore, I think it may be a limitation of the HDMI 2.1 port’s bandwidth and not a bug in macOS.
Windows allows you to customize the scale factor so that you can, for example, render at 4K resolution, but then scale the UI up by 150% (which also gets close to the 1440p size). The sharpness isn’t as good as 200% scaling, but it’s still sharper than no scaling.
If anyone has better solutions to this, please let me know in the comments. Thank you, and have a great day!