M1 Mac 无法开启 HiDPI

Created
Mar 3, 2021 2:18 AM
文章发布已有
231 天

关于 M1 Mac 的视频输出,我遇到的两个问题

  1. 对于杂牌、冷门的 4K 显示器,M1 Mac 无法获取到正确的显示器分辨率。
  2. 比如我手头的松人 4K 显示器,就被识别成了一个分辨率为 1680x1050 的显示器

    image
  3. 对于 4K 以下的分辨率,无法开启 HiDPI。
  4. image

    同样的显示器,x86 Mac 没有问题

    image

    在 x86 Mac 上,2K 显示器如果系统没有开启 HiDPI,可以有很多方法开启,比如使用下面的这个脚本

    但是 M1 Mac 目前没有任何方法强制开启 HiDPI。开发者解释原因如下:

    从 ioreg 的输出可以发现有差别,没有直接获取到完整的 EDID,但还是能获取到经过解析的部分 EDID 信息,与此脚本相关度最高的ProductID和LegacyManufacturerID(VendorID),理论上单纯的开启 HIDPI 没啥问题,但脚本中存在的一些关于 EDID 的补丁(force RGB,fix 6bit color),以及 EDID 的注入,实现起来比较麻烦(主要是通过已知信息反推补全、分辨率信息的补全)。
    PS:在最新的M1芯片上,苹果的图像输出使用的是移动端(iPhone、iPad)用的 IOMobileFramebuffer(IOMFB),而之前的设备上用的是 AppleIntelFramebuffer、AMDFramebuffer 等,这导致了以上的问题。

解决方法?

我从淘宝购入了一个 edid 欺骗器,并让卖家烧写成主流的 Dell 4K 显示器信息,希望能有用。到时会更新。

image

更新

淦,翻车了…不行

image