How to turn on HiDPI mode on external display in macOS

When the Mac is connected to a high-resolution 2K monitor, for example, the DELL U2518D of mine has a default resolution of 2560*1440, which is stuffed into a 25-inch screen. The text is actually a bit small.

image

But what I want should be:

image

If you directly use the Scale method to lower the resolution, for example, to 1080p:

image

In this way the text is large, but the edges will be blurred, because there is no HiDPI support like the Mac built-in screen.

image

So the function of enabling HiDPI as written in this article is to zoom in + clarity:

image

How to turn on the external display HiDPI, take macOS 10.15 as an example:

  1. Disable SIP
  • Power off, turn on and hold cmd+R to enter the recovery mode.
  • Open the terminal in the utility.
  • Input csrutil disable
  • Restart normally
  1. Turn on HiDPIEnter the system normally, open the terminal, and enter:
     sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
  2. Query the external monitor number
  • Query vendor: ioreg -l | grep "DisplayVendorID"
  • Query the current display: ioreg -l | grep "DisplayProductID"

    imageIn this step, you will find the inner screen. Pay attention to the distinction. The one on the far right here is the outer screen.

    In addition, when you change the display interface in the future, such as changing from HDMI to DP/mDP, etc., the DisplayProductID above will change and need to be reset.
  1. Set HiDPI profile
  • First convert the above two IDs to hexadecimal numbers. Just find a mobile calculator, or search for an online conversion tool on the web.
image

Which is:

DisplayVendorID 4268 - 10ac
DisplayProductID 16700 - 413c
  • Create a new file anywhere (such as the desktop) and name it:
    DisplayProductID-413c

Replace 413c above with your ID.

  • Copy the xml below, paste it into the file above, and edit it with a text tool such as Notepad.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>DisplayProductID</key>
    <integer>16700</integer>
    <key>DisplayVendorID</key>
    <integer>4268</integer>
    <key>scale-resolutions</key>
    <array>
        <data>AAAKAAAABaAAAAABACAAAA==</data>
        <data>AAAFAAAAAtAAAAABACAAAA==</data>
        <data>AAAPAAAACHAAAAABACAAAA==</data>
        <data>AAAHgAAABDgAAAABACAAAA==</data>
        <data>AAAMgAAABwgAAAABACAAAA==</data>
        <data>AAAGQAAAA4QAAAABACAAAA==</data>
        <data>AAAKAgAABaAAAAABACAAAA==</data>
        <data>AAAKrAAABgAAAAABACAAAA==</data>
        <data>AAAFVgAAAwAAAAABACAAAA==</data>
    </array>
</dict>
</plist>

Replace the values under DisplayProductID and DisplayVendorID in xml with your own, and use decimal numbers directly here.

  • Copy the configuration file to the system directoryThis directory has permission restrictions, so first run in the terminal:sudo mount -uw /
  • Open the system folder, you can use Finder’s Go to Folder:/System/Library/Displays/Contents/Resources/Overrides/
image
  • Find the folder corresponding to your DisplayVendorID, and paste the newly created file into it
image

If there is no Vendor folder, just create a new folder according to the naming method of the red box above, and then paste the Product file.

  1. Install RDM software This is a software to modify the resolution, link:
    https://avi.alkalay.net/software/RDM/
image
  1. Restart
  2. Select resolution in RDM
image

The one with ⚡️ in the picture is the newly opened resolution that supports HiDPI.

Here, choose 1920*1080, and you’re done!

Ref:
“为 Mac OS 10.15 开启 HiDPI,让 2K 显示器更舒适”
https://zhuanlan.zhihu.com/p/97827119