Shiux
Shiux
文章49
标签36
分类7

文章分类

一言

文章归档

黑苹果一键 HiDPI

黑苹果一键 HiDPI

搞了一台飞利浦的 2K 显示屏,本来以为只要外接显示屏的分辨率够了就可以获得 Retina 的细腻效果。但事与愿违,后来查询后发现苹果的 Retina 效果是外接显示器不可能达到那样的细腻,但外接显示器只要分辨率够,可以通过软件渲染得来 Retina 效果,这就是 HiDPI 技术。

HiDPI 本质上是用软件的方式实现单位面积内的高密度像素。用四个像素点来表现一个像素,因此能够更加清晰细腻。

高 PPI (硬件) + HiDPI 渲染 (软件) = 更细腻的显示效果 (retina)

Retina原理

但是悲剧的是,苹果觉得 2K 显示器没法做到真 HiDPI(4K 刚好渲染出真 1080P 的 retina 效果),所以只有在 4K 屏幕上才能直接开启 HiDPI。

所以这里先划下重点,如果想要完美效果,那直接上 4K 屏!

但是已经买了 2K 屏,总不能退掉,而且 4K 屏的价格也是 2K 屏的 2 倍以上。所以 2K 屏也可以通过软件强行告诉系统,这个屏幕可以开 HiDPI,你就直接开吧!

下面就记录在给 2K 屏开启 HiDPI 碰到的问题,有手动和脚本自动两种方法,但是不知道怎么回事,海天手动的方法就是没开启成功,最后使用脚本却成功开启了。

开启 HiDPI 的对比

下面两张是用 iphone 手机手持在一个相对差不多的位置拍摄的,可以看出,开启后字体的显示还是清晰很多。

img

img

手动开启 HiDPI

获取外接显示器 DisplayVendorID 和 DisplayProductID

在终端工具输入:

1
2
3
4
# 获取DisplayVendorID
ioreg -l | grep "DisplayVendorID"
# 获取DisplayProductID
ioreg -l | grep "DisplayProductID"

就可以获得显示器的 DisplayVendorID 和 DisplayProductID,如果获得两个,那说明的你的 macbook 还在亮着,可以合盖来排除掉,获得外接显示器的 DisplayVendorID 和 DisplayProductID。

制作外接显示屏系统配置文件

转换为 16 进制

将 DisplayVendorID 和 DisplayProductID 的数值,转换为 16 进制,网上有很多工具,这里就不提供了。

创建显示器配置文件夹

然后新建文件夹,命名为:DisplayVendorID-XXXX,其中 XXXX 是刚才转换的 DisplayVendorID 的 16 进制值小写。

创建显示器配置内容

这一步需要借助工具来生成,点击这里进行生成,将显示器的名称、DisplayVendorID 和 DisplayProductID 对应填写进去,即可获得配置文件,然后下载文件到,刚创建的 DisplayVendorID-XXXX 文件夹内。(记得将 plist 的后缀去掉)

生成

到这一步,显示器的配置文件已经手动创建好了,需要将文件放到系统的 /System/Library/Displays/Contents/Resources/Overrides/ 文件夹内。(这里需要打开 SIP,方法可参考文末)

然后使用软件 RDM 即可开启 HiDPI。

脚本开启 HiDPI

找到两个脚本,大家都可以试一下,我是使用国人制作的 one-key-hidpi 开启成功的。

看介绍 one-key-hidpi 的作者还是参考的 Enable-HiDPI-OSX,但是我使用 Enable-HiDPI-OSX 却没有成功。

脚本一键开启很方便,将脚本下载下来,运行脚本,按照提示操作即可。

下载脚本并运行

1
2
3
4
5
6
7
# 下载脚本
curl -o ~/onekeyhidpi.sh https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh

# 运行脚本
chmod +x ~/onekeyhidpi.sh

~/onekeyhidpi.sh

按照脚本提示输入对应数字即可

脚本一键开启HiDPI

开启 SIP

苹果操作系统对于系统的保护是很严格的,不管是上面的手动操作,还是脚本,都必须打开 SIP 也就是系统防火墙。

查看 SIP 状态

在终端中输入 csrutil status,就可以看到是 enabled 还是 disabled

关闭 SIP

  1. 重启 MAC,按住 cmd+R 直到屏幕上出现苹果的标志和进度条,进入 Recovery 模式
  2. 在屏幕左上方的工具栏找到实用工具(左数第 3 个),打开终端,输入:csrutil disable
  3. 重启 mac

打开 SIP

  1. 重启 MAC,按住 cmd+R 直到屏幕上出现苹果的标志和进度条,进入 Recovery 模式
  2. 在屏幕左上方的工具栏找到实用工具(左数第 3 个),打开终端,输入:csrutil enable
  3. 重启 mac

使用 RDM 设置分辨率

RDM 全称为 Retina Display Manage,下载安装即可:http://avi.alkalay.net/software/RDM/

重启后打开 RDM,选取带雷电符号的 1920x1080,即可开启 HiDPI。

RDM开启

注意

最后在提醒一下,最好用一个好的扩展坞连接,我一开始用一个山泽的扩展坞,怎么也点不了 1920×1080 的 HiDPI 的设置,但是换了个绿联的就可以了。

神奇的是,HiDPI 开启成功后,我换回山泽的,却还是可以正常使用。

本文作者:Shiux
本文链接:https://blog.shiux.com/article/hackintosh-one-key-hidip/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可