黑果小炮灰 发表于 2020-5-10 22:46

黑果的2K屏幕开启HIDPI的正确姿势

Mac OS X系统中,只有4K屏幕及以上才能开启HIDPI,2k屏幕在2k分辨率下 窗口图标字体显得十分小,看起来很不舒适。网上也有一些手动开启HIDPI的教程,其中最广为人知也最为简单的是GitHub xzhih大佬的one-key-hidpi 一行代码即可开启关闭hidpi。代码如下:
bash -c "$(curl -fsSL https://raw.githubusercontent.co ... dpi/master/hidpi.sh)"

我在尝试了几次后,我的2K屏幕使用自定义分辨率为2208x1242获得了良好的体验。但仍存在一些问题,比如开机跑完代码后就会出现大苹果,在关闭啰嗦模式来提升使用体验时 苹果标志变大是我无法接受的。但我了解到手动添加缩放分辨率就不会有大苹果的问题,偶然我又得到了大佬的一键hidpi源码,于是我就萌生了一探究竟的想法。
(以下为本小白的思考过程,仅供参考)
经过我一而再再而三的检查代码,发现了一些有价值的信息:
要修改的显示器配置相关文件夹位置:/系统/资源库/Displays/Contents/Resources/Overrides/
一些命令:
sudo mount -uw / && killall Finder   一定要先执行否则无法粘贴覆盖系统文件(大佬的一部分代码都是在复制粘贴,可能一是因为无法编辑系统文件,二是直接复制粘贴更为简单粗暴)
ioreg -l | grep "DisplayVendorID"   提取显示器供应商ID
ioreg -l | grep "DisplayProductID"    提取显示器产品ID
ioreg -lw0 | grep -i "IODisplayEDID" | sed -e "/[^<*</s///" -e "s/\>//"提取显示器EDID
hidpi=$(printf '%08x %08x' $((${width}*2)) $((${height}*2)) | xxd -r -p | base64) 这行生成了系统将读取的文件内的有关分辨率的信息(分辨率乘以2似乎和HIDPI有关)
假如我在终端提示中输入了2208x1242拿出来在bash单独运行就是
printf '%08x %08x' 4416 2484 | xxd -r -p | base64
输出为:AAARQAAACbQ=
据说同时也需要一个 2208x1242
printf '%08x %08x' 2208 1242 | xxd -r -p | base64
输出为:AAAIoAAABNo=
将以上两个代码都分别加到 DisplayProductID-xx文件内容 scale-resolutions下方的两个data中间
如:scale-resolutions
      array
      data
      AAARQAAACbQ=
      data
      data
      AAAIoAAABNo=
      data
这样就可以仅靠终端手动开启hidpi,并且不会有大苹果的问题。

显示器文件信息如EDID,DisplayVendorID,DisplayProductID,文件夹及文件名称,甚至分辨率信息都可以用hackintool直接自动生成。(hackintool生成的EDID可能与终端生成的不一样,或许hackintool自动修补了原EDID)。

也就是说仅靠hackintool生成的文件夹覆盖原文件夹即可添加分辨率。所以正宗的教程在下面。。。

至于hackintool如何生成显示器文件在hackintool帮助中有介绍:
显示器EDID修补
使用EDID修补你可以进行显示器型号的修改以及添加缩放选项。操作方法如下:
1.从显示列表中选择你要编辑的显示器
2.如果显示器的EDID没有分辨率范围或不好,有选择性地添加/修复分辨率范围
3.单击“添加”按钮添加分辨率,再单击分辨率值进行编辑。选中某个分辨率值再点击“删除”按钮即可删除此分辨率。
4.编辑完成后,点击“导出”按钮在桌面上生成修改好的补丁文件。
安装
安装EDID补丁有两种方法:安装显示器补丁文件,以及显示器驱动:
安装显示器补丁文件:
将生成的DisplayVendorID-x文件夹复制到/system/library/displays/contents/resources/overrides(对于El Capitan系统则是/system/library/displays/overrides )
将生成的icons.plist复制到/system/library/displays/contents/resources/overrides(对于El Capitan则是/system/library/displays/overrides)
安装显示器驱动:
将生成的DisplayEDID-x-x.kext复制到/library/extensions或efi/clover/kexts/other(取决于您的配置)
注意:在复制文件之前,请先关闭系统完整性保护(SIP)

如上是hackintool修补edid的教程,但也能增加缩放分辨率。如果hackintool生成的显示器文件夹覆盖后无效或者有问题,再可以仔细查看我记录的一些命令。两者(hackintool添加分辨率生成显示器文件夹覆盖和终端输出编码编辑加入显示器文件)亲测都有效,但是没有深入实验。有一些无法确定的点。。等着黑友们来继续研究。。。

我只研究了一键hidpi代码,其他的任何手动打开hidpi教程我都不清楚,所以请看官们不喜勿喷。。




黑果小炮灰 发表于 2020-5-11 19:24

难道审核没有过??

殇0情 发表于 2020-5-11 19:59

2K屏有哪个一键开启感觉没作用

daiaoshuang123 发表于 2020-5-11 22:35

最近也是折腾了论坛的几种方法,唯独一键hidpi成功了,你这个方法我这添加后用rdm调带⚡的分辨率点击了没反映。

WJUNie 发表于 2020-5-14 16:41

感觉2k没有必要折腾。。。。。

爱吃黑苹果 发表于 2020-5-14 16:58

感谢分享,可以试试

xstyle 发表于 2020-5-14 17:42

WJUNie 发表于 2020-5-14 16:41 https://www.pcbeta.com/static/image/common/back.gif
感觉2k没有必要折腾。。。。。

如果不换显示器,还是有必要搞一下的,弄了比不弄好,虽然也不完美

addis 发表于 2020-5-23 17:42

WJUNie 发表于 2020-5-14 16:41 https://www.pcbeta.com/static/image/common/back.gif
感觉2k没有必要折腾。。。。。

2k不搞,文字就太小了吧,放大又会模糊

kaikai0706 发表于 2020-5-25 16:48

我的老是不行。。。。

kodm 发表于 2020-9-13 10:37

有点复杂                  

hzx505 发表于 2020-9-13 22:03

看看就好…………

校长0769 发表于 2021-10-15 16:03

感谢分享,可以试试
页: [1]
查看完整版本: 黑果的2K屏幕开启HIDPI的正确姿势