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 in my hand has a default resolution of 2560*1440, which is stuffed into a 25-inch screen. The text is actually a bit small.

But what I want should be:

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

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.

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

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

Disable SIP

  • Open the terminal in the utility.
  • Input csrutil disable
  • Restart normally

Turn on HiDPI

Enter the system normally, open the terminal, and enter:

sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

Query the external monitor number

  • Query the current display: ioreg -l | grep "DisplayProductID"

In 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.

Set HiDPI profile

Which is:

`DisplayVendorID 4268 - 10ac`<br/>
`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 directory.
    This 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/
  • Find the folder corresponding to your DisplayVendorID, and paste the newly created file into it

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.

Install RDM software

This is a software to modify the resolution, link:
https://avi.alkalay.net/software/RDM/

Restart

Select resolution in RDM

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 显示器更舒适

DONATE:

https://www.patreon.com/avantcontra
There are many articles, patches, source code and some advanced Patron-only content there.

Or you can get a source code/patch directly in gumroad.
https://gumroad.com/avantcontra

MORE articles in my site:
https://floatbug.com