爲 mac 連接的 2k 顯示器開啓 HiDPI

操作平台:
macbook pro 15寸 2016版
thinkvision t24h-10
macOS Mojave (10.14)
关闭 SIP
因为后面的配置中会需要调整 /System/,System Integrity Protection(SIP) 会禁止操作,所以需要禁用 SIP,来获取对 /System/ 的操作权限。
重启 mac,出现苹果 logo 之前按住 command + r 组合键,启动到 recovery 模式
菜单栏->实用工具->终端,会打开一个终端窗口
输入命令 csrutil disable 即可禁用 SIP^[How to Disable System Integrity Protection (rootless) in Mac OS X]
重启 mac 进入 macOS 正常模式。
开启 HiDPI
使用命令:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
获取显示器的 ID
使用命令获取显示器的 Product ID 和 Vendor ID:
ioreg -lw0 | grep IODisplayPrefsKey
我的 mac 获取的显示器信息结果是:
"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/ATY,Berbice@3/AMDFramebufferVIB/display0/AppleDisplay-30ae-61b5"
外接显示器标记为 AppleDisplay
内建显示器标记为 AppleBacklightDisplay
因为我只在用外接显示器,所以只得到了外接显示器的信息,上述标记在打印信息的最后出现。
AppleDisplay 的后面有两个十六进制数:
前一个也就是 30ae ,是 DisplayVendorID
后一个也就是 61b5,是 DisplayProductID
添加显示配置文件
需要访问 SCALED RESOLUTIONS FOR YOUR MACBOOKS EXTERNAL MONITOR 针对自己的显示器按照自己的需求制作显示配置文件。
打开上面的链接会看到如下:
其中右边区域来更改配置,左边显示配置文件的内容。
修改 DisplayProductName 后的内容用来更改显示器的名称,比如我的是 T24H-10
修改 DisplayProductID ,这里修改为刚才获取的 61b5,字母需要小写
修改 DisplayVendorID ,这里修改为刚才获取的 30ae,字母需要小写
修改 Scale Resolutions,这里一般使用默认的配置,如果你要添加自己的分辨率,需要注意也要添加 2 倍于目标分辨率的项,观察默认的分辨率配置项都是成对的,一个目标分辨率,在其上有个二倍于目标分辨率的项
点击上图左边栏右下角的 DisplayProductID-61b5 按钮(按钮名称会根据 ProductId 命名),就会下载到一个文件 DisplayProductID-61b5.plist(我的这个文件下载到了 ~/Downloads 下)
新建一个目录,目录名为 DisplayVendorID-xxxx ,其中 xxxx 为上面查到的 30ae:
mkdir DisplayVendorID-30ae
重命名下载到的配置文件(去掉 .plist 后缀),并放置到刚创建的 DisplayVendorID-30ae 目录下:
mv ~/Downloads/DisplayProductID-61b5.plist DisplayVendorID-30ae/DisplayProductID-61b5
将 DisplayVendorID-30ae 目录拷贝到 /System/Library/Displays/Contents/Resources/Overrides/ 下:
sudo mv DisplayVendorID-30ae /System/Library/Displays/Contents/Resources/Overrides/
注意⚠️
上面第 8 小步可能在更新 macOS Catalina 后操作不能成功(提示 read-only file system),评论区有网友提供了解决方案,需要修改系统根目录的权限,使用 mount 命令将目录从 read-only 变为 read-write:
sudo mount -uw / killall Finder
在 mac 重启后会恢复为原有的权限,亲测可用,感谢网友提供解决方案!
开启 SIP
为了系统安全还是要把 SIP 开启的,更改 SIP 需要重启,正好上面的显示配置也得重启生效。
重启 mac,出现苹果 logo 之前按住 command + r 组合键,启动到 recovery 模式
菜单栏-实用工具-终端,会打开一个终端窗口
输入命令 csrutil enable 即可开启 SIP
重启 mac 进入 macOS 正常模式
RDM 调整分辨率
点击 http://avi.alkalay.net/software/RDM/ 下载 RDM 最新版,此时是 v2.2
安装 RDM
运行 RDM 后,菜单栏会出现其图表,点击即可修改分辨率,带小闪电的就是开启 HiDPI 的,比如我的可选项:
最终选择的是 1920 * 1080,这样字体够大,同时整个显示效果够细腻,效果很明显,如果配置为 1920*1080 的分辨率不使用 HiDPI 就会很模糊,使用了 HiDPI 就会细腻了很多,很 Retina!
参考
上面的配置方法主要参考和使用了 SCALED RESOLUTIONS FOR YOUR MACBOOKS EXTERNAL MONITOR。