- 积分
- 307
- 最后登录
- 2023-12-14
- 精华
- 0
- 阅读权限
- 30
- 主题
- 52
- UID
- 1626969
- 帖子
- 498
- PB币
- 491
- 威望
- 18
- 贡献
- 0
- 技术
- 38
- 活跃
- 975
- UID
- 1626969
- 帖子
- 498
- PB币
- 491
- 贡献
- 0
- 技术
- 38
- 活跃
- 975
|
本帖最后由 JackBlack2006 于 2013-6-23 22:08 编辑
准备工作:你要有 SwitchResX 和 PlistEditor Pro 还有 IORegExplorer 这几样。
并且已经开启 HiDPI,如果没有,终端输入
- sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES;
- sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled;
复制代码
然后重新登录
第一,打开 SwitchResX 提取 EDID 保存
第二,打开终端,输入 ioreg -l 然后查找 DisplayProductID 和 DisplayVendorID 这两个值记下来。例如我这里是
- DisplayVendorID = 14499
- DisplayProductID = 26609
复制代码
还需要查找 IODisplayPrefsKey 记下来。
但是终端里可能看不到完整的,这时候就要 IORegExplorer 了。上面两个值其实 IOReg里面也看得到的。我一开始终端了半天。晕。那么我找到的是
- IODisplayPrefsKey = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPCI2PCIBridge/PEGP@0/ATY,Ipomoea@0/ATIFramebufferNI/display0/AppleDisplay-38a3-67f1
复制代码
你需要记下来的是 AppleDisplay-38a3-67f1
第三,桌面新建文件夹,命名以我自己举例就是
注意最后 38a3。然后在文件夹内 新建一个 plist 文档,或者 txt 也行,命名为
注意最后的 67f1
然后用Finder的 Get Info打开这个文档,删除任何后辍名!
第四步,用 PlistEditor Pro打开你的 DisplayProductID-**** 文件,在下半部贴上以下代码然后点击点击“Sync outline↑”
- <!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>1815</integer>
- <key>DisplayVendorID</key>
- <integer>1970170734</integer>
- <key>IODisplayEDID</key>
- <data>
- AP///////wAGEF+cAAAAAAgRAQOAIRV4CunVmVlTjigmUFQAAAABAQEBAQEBAQEBAQEB
- AQEB3iGgcFCEHzAgIFYAS88QAAAYAAAADwAGECAKCgoKCgoKCgoKAAAA/gBLUzUxNQAx
- NTRXUDEKAAAA/gBDb2xvciBMQ0QKCgoKAI8=
- </data>
- </dict>
- </plist>
复制代码
然后你可以根据第一第二两步得到的数据编辑 DisplayProductID DisplayVendorID 和 EDID 了
注意 RAW DATA 下面 列出了三种 EDID 数据。我们需要的是第2类,例如我的就是
- 00FFFFFF FFFFFF00 38A3F167 01010101 06160103 80301B78 2A92C5A2 59559E27 0E5054BF EF008140 81809500 B300D1C0 01010101 0101023A 80187138 2D40582C 4500DD0C 1100001E 000000FD 00384B1E 5011000A 20202020 20200000 00FC0056 45323230 3158470A 20202020 000000FF 00323231 31313533 304E430A 20200053
复制代码
跑题:如果你要来个霸气点的显示器名字可以这么加一条
- <key>DisplayProductName</key>
- <string>Super Badass Display</string>
复制代码
那么接下来就是添加分辨率了。借花献佛用pH版主的内容吧
~添加新分辨率
首先需要说明的是,或许需要开启QECI后才能按如下方法添加分辨率
1.用PlistEdit Pro打开你的EDID文件
2.在文件的根部添加如下的键值
- <key>scale-resolutions</key>
- <array>
- </array>
复制代码
3.现在在scale-resolution内添加一个
4.把类型由字符串改成数据
5.打开十进制与十六进制转换器(能在网上找到)
6.现在我们改变这些数值来达到添加分辨率的目的
例如:
下面这个数值串将添加1280X800的分辨率
- 00000500 00000320 00000001
复制代码
让我们一起来看看它是如何做到的:
- 00000500 (16进制) > 1280 (十进制)
- 00000320 (16进制)) > 800 (十进制)
- 00000001 (16进制)) > 1 (十进制) <-- 这个值并不重要
复制代码
7.点击“Sync outline↑”
8.你可以在你屏幕支持的最大分辨率和800X600之间添加不同的分辨率
这里补充说明一下,我自己并不是随意添加分辨率
例如什么666X333这样的分辨率,我也没有尝试添加
我只是在windows的分辨率中查看能选用调整的分辨率
然后尝试添加到EDID中,当然,最后都成功了
或许,只要是显卡支持的都能够成功添加
其实我也不建议你们乱加没有用的,超过显卡显示器能力的分辨率。如果你是超级土豪多路交火泰坦战神显卡,那你倒是可以把1080p的显示器设置成 3840 x 2160 ,把多联屏或者4K设置成更高
对于我 本人显卡 最大支持 2560 X 1600,显示器 最大 1920 X 1080,开retina最好的选择是 用 2560x 1440。于是得到数据如下
- 00000A00 000005A0 00000001
复制代码
另外我还加了个 1366x768的分辨率,以免retina失败了,还可以不用忍受黑苹果里 1360x768 这奇怪的分辨率
- 00000556 00000300 00000001
复制代码
所以总结起来我的代码就是(仅供参考)
- <?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>26609</integer>
- <key>DisplayVendorID</key>
- <integer>14499</integer>
- <key>IODisplayEDID</key>
- <data>
- AP///////wA4o/FnAQEBAQYWAQOAMBt4KpLFollVnicOUFS/7wCBQIGAlQCzANHAAQEB
- AQEBAjqAGHE4LUBYLEUA3QwRAAAeAAAA/QA4Sx5QEQAKICAgICAgAAAA/ABWRTIyMDFY
- RwogICAgAAAA/wAyMjExMTUzME5DCiAgAFM=
- </data>
- <key>scale-resolutions</key>
- <array>
- <data>
- AAAKAAAABaAAAAAB
- </data>
- <data>
- AAAFVgAAAwAAAAAB
- </data>
- </array>
- </dict>
- </plist>
复制代码
最后保存
第五,注入EDID,把桌面上的 DisplayVendorID 文件夹复制到 /System/Library/Displays/Overrides 下面。现在你可以先开启 SwitchResX看看是不是添加成功。这个时候应该是 system-inactive。如果你看到的是这样,那就成功了。勇敢重启。如图所示这里是重启以后的结果,system only。
恭喜你现在有retina 分辨率了。以我的例子,不要选择 2560 x 1440这个超过显示器最大分辨率的,不然后果自负 呵呵呵呵 往下拉选择 1280 x 720 HiDPI 看效果吧
题外话:最早那个 [原创内容] 使用swichres+quartz debug开启HiDPI模式,忽略屏幕自身分辨率,享受mac视网膜冲击 的帖子里面很多人报告台式机用不了,要不就是 inactive 无法启用,还有笔记本 无法开启的的,其实说白了,这种事儿还是自己编辑代码靠谱些。SwitchResX 我最开始捣鼓也没成功,下面还多了一堆莫名其妙的文件夹。
遗留问题:多屏幕是否能开启尚未测试,应该可以同样途径为其他屏幕,甚至是电视机,添加新EDID文件放到 /System/Library/Displays/Overrides 下面
参考帖子
https://bbs.pcbeta.com/viewthread-1125390-1-1.html
推荐EDID之进阶篇(图文1L+视频2L) 已更新视频下载链接
https://bbs.pcbeta.com/viewthread-1337606-1-1.html
使用swichres+quartz debug开启HiDPI模式,忽略屏幕自身分辨率,享受mac视网膜冲击
外网
http://www.insanelymac.com/forum/topic/208410-fixing-scrambledstretched-or-wrong-resolution-laptop-display-problems/
Fixing Scrambled,Stretched, or Wrong Resolution Laptop Display Problems
http://www.insanelymac.com/forum/topic/281412-how-to-advanced-edid-injection/
HOW TO: Advanced EDID Injection
欢迎访问本人其他教程
https://bbs.pcbeta.com/viewthread-1349477-1-1.html
哦也6670修改framebuffer成功
https://bbs.pcbeta.com/viewthread-1357966-1-1.html
固定自己黑苹果UUID的方法,仅限Mac版变色龙
|
-
8
查看全部评分
-
|