

为 Mac OS 10.15 开启 HiDPI,让 2K 显示器更舒适
source link: https://sund.site/posts/macbook-hidpi/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

为 Mac OS 10.15 开启 HiDPI,让 2K 显示器更舒适
2019.11.24以前手抖买了台 Dell P2416D 显示器,接上 Macbook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊。上网查了一下发现可以为 Macbook 强行开启 HiDPI。下文的教程结合了 Github 上用户ZeRo° Xu 在 一键开启HiDPI脚本 里的 Github Issue 和一篇博文 《为 mac 连接的 2k 显示器开启 HiDPI》。
什么是 HiDPI
引用自 Github 用户 ZeRo° Xu :
它使用横纵 2 个物理像素也就是 4 个物理像素来显示 1 个像素区域,结果就是图像的细节得到翻倍、更清晰、边缘更平滑。
拿 13 寸的 MacBook Pro 举例,它的屏幕物理分辨率是 2560 x 1600,所以原生的 HIDPI 分辨率就是 1280x800。更高的一档 1440x900 hidpi 缩放分辨率,则是虚拟出一个 2880x1800 的分辨率,再进行软缩放输入。所以你能发现苹果的电脑总是有很高的分辨率。
好了,既然你的屏幕是 1080p,本身就没有那么多像素去合成 HIDPI,如果以原生的显示计算,你这屏幕的 1080p 分辨率应该是 960x540,这么低的分辨率你是没法用的,所以就有了这个脚本。
这个脚本的功能是虚拟出比你的屏幕物理分辨率更高的假分辨率,也就是你看到的 3360 x 1888,这样你就可以使用 1680 x 944 hidpi 这个缩放分辨率了。
如果你要开启 1080p 的 HIDPI 分辨率,就虚拟一个 3840 x 2160 的假分辨率,然后 MacOS 会使用 4 个像素来显示 1 个像素区域,也就是和你物理分辨率一样的 1080p 分辨率,开不开启看起来没任何区别,最大的效果就是显卡压力增大系统变卡、截图可以得到高分辨率图像。
自动配置 HiDPI
上文 链接 里提到一键配置脚本,你不妨先按照脚本的步骤开启 HiDPI 试试。但是脚本并没有适配所有显示器的情况(至少我的 Dell P2416D 使用后无效),所以就有了下面的步骤。
手动配置 HiDPI
本教程测试环境:
- 笔记本:MacBook Pro (Retina, 15-inch, Mid 2015)
- 显示器:Dell P2416D
- 操作系统:MacOS Catalina (Version 10.15.1)
0. 安装 RDM
相信很多人已经装过这个工具了,它是用来修改显示分辨率的,如果没装,请在RDM下载页面安装它。
1. 关闭 Mac 的 SIP
SIP 是苹果公司为防止你胡乱篡改系统文件用的保护机制,请先按照下面步骤把它关闭,以便后续操作:
- 关机(最好先手机拍个照把这4步记录下来)
- 按
command(⌘)+ R
+电源键开机,自动进入恢复模式 - 选择上边菜单栏的
实用工具
中的终端
- 输入命令
csrutil disable
最后终端显示 「Successfully……」 等一大堆文字就说明你成功了。你可以输入reboot
重启。等下文的全部设置都完成后,你如果想恢复 SIP,就重复步骤 1 到 3,在第 4 步输入csrutil enable
就好了。
2. 开启 macOS 的 HiDPI 选项
再次重启后进入系统,打开终端输入
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
3. 查询你的外接显示器的编号
这一步相当重要,先介绍两个命令
ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"
这两条命令用来查询你的显示器供应商 ID DisplayVendorID
和产品 ID DisplayProductID
。接下来你要找到你的显示器对应的DisplayVendorID
和DisplayProductID
:
- 拔掉显示器的 HDMI 或者 DP 线
- 分别输入上面两个命令之后
return(↩)
,每个命令会返回一个带有数字的结果。那个数字就是 macbook 默认的DisplayVendorID
和DisplayProductID
了 - 接入显示器
- 再分别输入那两个命令,每个命令会分别返回两条带有数字的结果。对比刚才 macbook 默认的结果,另一个数字就是你显示器的
DisplayVendorID
和DisplayProductID
了 - 把这两个数字分别转成对应的 16 进制数,用这个进制转换工具
现在,回到桌面,新建一个文件夹命名为DisplayVendorID-[你刚才查到的DisplayVendorID的16进制数]
,例如DisplayVendorID-10ac
。
之后在这个刚建好的文件夹下增加一个文件,命名为DisplayProductID-[你刚才查到的DisplayProductID的16进制数]
,例如DisplayProductID-a0c3
。
4. 为你的显示器生成 plist 文件
到 这个网站 ,在左侧的空里分别输入显示器型号,DisplayProductID 和 DisplayVendorID,注意填16进制的数字,并且检查下后边10进制的数字是不是和你刚才命令查到的一致。如果需要添加自己额外的分辨率,直接在下边新建一条分辨率配置就行。最后,复制右边生成 XML 格式文本,粘贴到刚才新建的文件里。(也可以直接从网站下载文件,去掉文件名后缀 .plist
)
XML 文件类似下边这样:
<?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>41156</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>
4. 复制 plist 配置文件到系统配置目录
这一步就是把刚才新建的配置文件复制到你系统目录里,你直接复制通常会提示你系统目录是「只读」的,不允许你胡作非为。所以你先要在终端执行下面的命令:
sudo mount -uw /
这样,你就可以复制到系统的文件夹了。(这个命令重启后失效)
接下来打开系统文件夹/System/Library/Displays/Contents/Resources/Overrides/
,你会发现一大堆跟你刚才文件夹命名相似的目录。把你新建的文件夹丢进去,和它们混在一起,假装它原来就是其中一员。重启。
5. 修改分辨率
重启之后又进入系统,首先打开 RDM,你会在菜单栏看见它:
Main Display 和 Display 2 就分别是你的外接显示器和 macbook 的显示器分辨率设置(位置有可能对掉,自己尝试一下)。带有 ⚡️ 符号的分辨率设置项就是开启 HiDPI 后新增出来的。如果你像我一样是 2K 显示器,可以给显示器选择1920x1080⚡️
那个配置。是不是比原生分辨率的 UI 和字体更大更清晰了。
本文教你强行开启 macbook 的 HiDPI 设置,并针对 2K 显示器新增了配置文件到系统配置目录里,最后用 RDM 自由设置适合你显示器的分辨率。至于 HiDPI 的原理,请自行搜索,此处不再赘述。
希望本文对你有帮助,也欢迎你留言反馈。
Recommend
-
15
HiDPI support in Chromium for Wayland It all started with this bug. The description sounded humble and harmless: the browser ignored some command line flag on Wayland. A screenshot...
-
13
HiDPI Scaling for Electron-based Snap apps like Spotify By Dan Nemec 20 Mar 2021
-
6
For Linux Cinnamon GUIPermalink Here is the steps: Install dconf-editor if...
-
14
SOLVED by 1440p HiDPI: MacBook Pro 16" is HOT & NOISY with an external monitor!The MacBook Pro 16" has a problem.If you connect certain GPU models (specifically the 5300M/5500M) to external monitors wi...
-
15
HiDPI 配置记录 本文来自依云's Blog,转载请注明。 首先,我是用 X11 窗...
-
23
关于 IDA Pro 在 HiDPI 屏幕上的使用 博主: ryank231231 发布时间:2021 年 07 月 01 日...
-
43
在非 4K 的螢幕上跑 HiDPI 前幾天看到 BetterDummy 這個專案,作者在 M1 上面外接 24" 1440p 的螢幕,但沒辦法啟用 HiDPI,於是就寫了一個軟體來解: M1 macs tend...
-
5
V2EX › Apple 吐槽下 Mac 这个 HiDPI 高分屏缩放
-
5
V2EX › macOS 更新 Macos13,外接显示器无法设置 HIDPI
-
5
舒适操控两全其美,智己LS7开启预售35万元起 原创 蓝鲸汽车 姚飞 · 2022-12-21 00:25:57 阅 9.6w 智己全新中大型纯电SUV智己LS7亮相并开启预订,新车预售价格区间为35-50万元。新车配备电磁动态阻尼...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK