给Mac Big Sur修改外接显示器的分辨率
本文参考 《Mac 外接显示器色彩问题》和 《为 macOS 10.15 开启 HiDPI,让 2K 显示器更舒适》两篇文章。
刚买来新的 HUAWEI Mateview 无线版,显示器分辨率为
3840*2560
,该死的 3:2
屏幕啊,我图啥......
外接2015年的Macbook Air的MiniDP口输出准4K分辨率。
但是,但是,但是~~Air只能输出 16:9
和 16:10
的分辨率,让我搞了整整一下午来调整这个分辨率,4个小时啊。
算了,总结一下吧。
关闭SIP
Big sur 和之前版本不同,需要的操作如下:
- 关机
- 长按
Command
键 和R
键(都不要松开),短按 开机电源键,直到出现进度条才能松开。 - 找到终端,然后输入
csrutil authenticated-root disable
,出现successfully
字样就算是成功了。(之前的版本是csrutil disable
)
查询设备号
- 先断开显示器,输入如下代码:
1 | ioreg -l | grep "DisplayVendorID" |
- 再插上显示器,再次运行上方代码。
- 两次得出来的不同的设备号就可以区分哪个
VendorID
和ProductID
是外接显示器的。
- 记下那串代码,并将外接显示器的两个ID转换成对应的十六进制数, 如
8950
即22f6
,28194
即66e2
生成配置参数
- 在用户目录 ,即
~
下,使用DisplayVendorID-xxxx
(xxxx
即对应外接显示器 Vendor 号的16进制 )创建一个文件夹。 - 然后在对应文件夹下创建一个 使用
DisplayProductID-yyyy
( yyyy` 即对应外接显示器 Product 号的16进制 )创建一个无后缀名的文件。 - 到 Scaled Resolution for your Mac 网站生成配置参数,在红色框中分别填入你外接显示器的对应参数,和你想使你的显示器所呈现的分辨率参数。
- 复制右侧的 xml 代码至刚刚的
DisplayProductID-yyyy
文件中,并保存。
导入系统
在Big Sur系统下,根目录 /
是禁止写入的,需要稍微用点技巧(走点弯路)。
- 新建一个文件夹,将解除SIP之后的
/
挂载到某个地方,如下方所示:
1 | mkdir ~/nvme |
其中,/dev/disk1s5
中的 /disk1s5
要通过
磁盘工具 各自查看自己的 设备
,最后面的 s1
去掉不写。
- 然后就可以
cd
进去查看对应目录下的文件内容,但是所有读写操作都需要加上sudo
才可以。
1 | cd ~/nvme/System/Library/Displays/Contents/Resources/Overrides |
- 把
~/DisplayVendorID-xxxx
复制到~/nvme/System/Library/Displays/Contents/Resources/Overrides
里面:
1 | sudo cp -r ~/DisplayVendorID-22f6 ~/nvme/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-22f6 |
复制完毕之后可以再 ls
查看,就存在了。
- 但是这种复制只是一种暂时的,重启之后就会被镜像文件所覆盖,所以要重新 snapshot 一下。注意,这一步一定要做,否则重启就失效了。
1 | sudo bless --folder ~/nvme/System/Library/Displays/Contents/Resources/Overrides --bootefi --create-snapshot |