强制 macOS 开启 2K 显示器的 HiDPI

每次干起活儿来都感觉 15 英寸屏幕的 MacBook Pro 还是太小,所以前段时间买了台 26.9 英寸 QHD (2560 × 1440) 的三星。选这台显示器是因为它有 Type-C 口,一根线就可以解决视频、音频、充电以及数据传输,非常方便,实际用起来也是相当不错。但是看习惯了 MacBook Pro 的 Retina 屏,总觉得 macOS 在 2K 分辨率下点对点显示时颗粒感严重,边缘锯齿明显而且字也很糊。所以折腾了一下,强制 macOS 开启 1080P 的 HiDPI,虽然显示的内容少了一点,但是感观舒服了很多。

显示器参数

  • 型号:SAMSUNG S27H850QFC
  • 面板类型:IPS
  • 面板尺寸:26.9 英寸
  • 屏幕比例:16:9
  • 最佳分辨率:2560 × 1440

开启 HiDPI 的步骤

启用 HiDPI 模式

终端输入

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

获取显示器的 DisplayVendorId 和 DisplayProductID

终端输入

1
ioreg -lw0 | grep IODisplayPrefsKey

此时,我的 Mac 输出

1
2
"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a019"
"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@2/display0/AppleDisplay-4c2d-e0f"

其中,第二行即为外接显示器的信息,4c2d 为显示器的 DisplayVendorIde0f 为显示器的 DisplayProductID

编写配置文件

可以使用这个工具编写显示器的配置文件。2K 显示器开启 HiDPI 一般使用 1080P 就可以了,720P 显示会非常大,可显示内容也很少。

我的配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?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>DisplayProductName</key>
<string>SAMSUNG S27H850QFC</string>
<key>DisplayProductID</key>
<integer>3599</integer>
<key>DisplayVendorID</key>
<integer>19501</integer>
<key>scale-resolutions</key>
<array>
<data>AAAPAAAACHAA</data>
<data>AAAMgAAABwgA</data>
<data>AAAKAAAABaAA</data>
</array>
<key>target-default-ppmm</key>
<real>10.0699301</real>
<key>edid-patches</key>
<array>
<dict>
<key>offset</key>
<integer>72</integer>
<key>data</key>
<data>AAAAEAAAAAAAAAAAAAAAAAAA</data>
</dict>
</array>
</dict>
</plist>

保存文件,命名为 DisplayProductID-<DisplayProductID>,即 DisplayProductID-e0f

临时关闭 SIP

由于需要把上面编写好的显示器配置文件放到系统目录下,需要先临时关闭一下 SIP (System Integrity Protection)。

  • 重启,按住 ⌘ + R 进入恢复模式

  • 实用工具中打开终端,输入

    1
    csrutil disable
  • 重启即可关闭 SIP

将配置文件拷贝到系统文件夹

  • 打开目录 /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-<DisplayVendorId>, 即 /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-4c2d

  • 将之前编辑好的配置文件 DisplayProductID-e0f 复制到该路径中

  • 重启 Mac

  • 打开 Displays Preferences,能看到如下配置即说明 HiDPI 开启成功

    Displays Preferences

开启 SIP

配置修改成功以后,为了系统安全,最好还是开启 SIP。进入恢复模式,在终端中输入

1
csrutil enable

重启即可。