- 积分
- 4078
- 最后登录
- 2018-6-18
- 精华
- 0
- 阅读权限
- 205
- 主题
- 86
- UID
- 424619
- 帖子
- 4181
- PB币
- 535
- 威望
- 401
- 贡献
- 0
- 技术
- 748
- 活跃
- 2223
远景FANS
- UID
- 424619
- 帖子
- 4181
- PB币
- 535
- 贡献
- 0
- 技术
- 748
- 活跃
- 2223
|
问题表述
绝大部分笔记本内建显示器的连接类型(connector type)是eDP的, 但是, 仔细察看了AppleIntelSKLGraphicsFramebuffer里面ig-platform-id在port 0000上面全是LVDS(02000000)的, LVDS和eDP实际上都可以驱动我们笔记本的内建显示器, 但是, 两个接口之间有很大的区别. 因此, 有必要对连接类型做修正.
eDP和LVDS的区别
我不打算用长篇大论来介绍eDP和LVDS的区别, 因为我知道你们懒(我也懒), 所以简单来说
- eDP和LVDS采用不同的信号格式: 一个走aux通道, 一个走ddc通道
- eDP是DP接口的扩展(extend), 意图在取代掉老旧的LVDS
- eDP能够提供比LVDS更高的带宽和分辨率, 与此同时减少了占用的空间
查阅资料发现, eDP和DP差异更多体现在电压, 接口定义上面, 可以说是同宗的关系, 因此, 可以直接使用DP的接口类型来表示eDP.
上述的比较必然引发了我们对Framebuffer的修改, 一般来说SKL笔记本的显示屏接口类型是eDP, 因此直接应用我的补丁即可
- Comment: eDP, port 0000, 0x191e0000, 0x19160000, 0x19260000, 0x19270000, 0x191b0000, 0x19160002, 0x19260002, 0x191e0003, 0x19260004, 0x19270004, 0x193b0005 credit syscl
- Find: 00000800 02000000 98000000 01050900 00040000
- Replace: 00000800 00040000 98000000 01050900 00040000
- Name: AppleIntelSKLGraphicsFramebuffer
复制代码 如果需要直接复制粘贴到Clover中的config.plist文件中则需要如下的形式
- <dict>
- <key>Comment</key>
- <string>eDP, port 0000, 0x191e0000, 0x19160000, 0x19260000, 0x19270000, 0x191b0000, 0x19160002, 0x19260002, 0x191e0003, 0x19260004, 0x19270004, 0x193b0005 credit syscl</string>
- <key>Disabled</key>
- <false/>
- <key>Find</key>
- <data>
- AAAIAAIAAACYAAAAAQUJAAAEAAA=
- </data>
- <key>Name</key>
- <string>AppleIntelSKLGraphicsFramebuffer</string>
- <key>Replace</key>
- <data>
- AAAIAAAEAACYAAAAAQUJAAAEAAA=
- </data>
- </dict>
复制代码
不熟悉上面破解步骤的朋友请参阅一劳永逸!更新不再替换Kext(Kexts to patch)教程
重启后, 通过IORegistryExplorer-SLRID_v10.6.3查看AppleIntelFramebuffer@0的connector-type, 如果
connector-type = <00 04 00 00>表明修改成功, 反之你需要下面的命令重建缓存
- sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
- sudo rm -rf /System/Library/PrelinkedKernels/prelinkedkernel
- sudo kextcache -u /
复制代码
更多细节
实际上, 如果你的connector-type不是eDP, 亦或者是你使用的台式机, 需要修正连接类型, 这时候我们需要借助Ubuntu的xrand的命令来查看显示器的连接类型, 以XPS 13 9350为例, 在Ubuntu中打开终端, 输入
会给出
- Screen 0: minimum 320 x 200, current 3200 x 1800, maximum 8192 x 8192
- eDP-1 connected primary 3200x1800+0+0 (normal left inverted right x axis y axis) 294mm x 165mm
- 3200x1800 59.98*+ 47.99
- 2048x1536 60.00
- 1920x1440 60.00
- 1856x1392 60.01
- 1792x1344 60.01
- 1920x1200 59.95
- 1920x1080 59.93
- 1600x1200 60.00
- 1680x1050 59.95 59.88
- 1600x1024 60.17
- 1400x1050 59.98
- 1280x1024 60.02
- 1440x900 59.89
- 1280x960 60.00
- 1360x768 59.80 59.96
- 1152x864 60.00
- 1024x768 60.04 60.00
- 960x720 60.00
- 928x696 60.05
- 896x672 60.01
- 960x600 60.00
- 960x540 59.99
- 800x600 60.00 60.32 56.25
- 840x525 60.01 59.88
- 800x512 60.17
- 700x525 59.98
- 640x512 60.02
- 720x450 59.89
- 640x480 60.00 59.94
- 680x384 59.80 59.96
- 576x432 60.06
- 512x384 60.00
- 400x300 60.32 56.34
- 320x240 60.05
- DP-1 disconnected (normal left inverted right x axis y axis)
- HDMI-1 disconnected (normal left inverted right x axis y axis)
- DP-2 disconnected (normal left inverted right x axis y axis)
- HDMI-2 disconnected (normal left inverted right x axis y axis)
复制代码 注意到
- eDP-1 connected primary 3200x1800+0+0 (normal left inverted right x axis y axis) 294mm x 165mm
复制代码 connected primary前面的内容便是我们要找的主要显示器连接类型, 改成你想要的类型即可, 附上参考表
连接类型(connetor type) | 数值(Data) | HDMI | 00 08 00 00 | DVI | 00 02 00 00 | eDP | 00 04 00 00 | DP | 00 04 00 00 | LVDS | 02 00 00 00 |
以修改成HDMI为例, 只需要将00000800 02000000 98000000 01050900 00040000 --> 00000800 00080000 98000000 01050900 00040000 即可.
祝你们成功!
syscl
////
|
-
6
查看全部评分
-
|