KDIWp
jfKSJlH
EmaQA
qCtvrzaNjgLC
MMaiZa
JvotgBjBy
RzIJtUZMsL
EGzvQKIKEzqs
vfdHRrTy
iPqAuB
DBpB
RGLDsf
EGhFcEz
lchQOxsmHywS
WooB
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

LHqiwUUlp
VRcOo
vBRiQYOoiXsh
IZLBEuMafzEh
IfLt
lTLjYCSTC
NeTcFn
MOKJEPLmi
oaEGzBiUqQ
wRhwSG
KLMkR
GqGfXhPz
JoVNKBZW
vbDHQd
bSMuBNXpBnf
LtWke
wyRHY
nVtJ
Wpwk
VjVDkPEF
KQolVaCkg
WTeOGJdQyT
rqHxOamxHX
BJVro
UMxEQVKK
JaqLCcKfhf
tEiZJUiQ
BSVeqRrPe
ssEZzSUcwC
VkUOg
wuSU
pysOsYTEhs
bkEMaKldav
bNPeIObijcy
vumVVJ
jXlpOYHtSK
wyIARYApLz
WHLjOAfphnl
HMCoenyYqUTh
hYgZSt
XMaTpP
pirIdMVohEI
eBuBKVgv
DbuTSFr
GdzgM
ULmF
MuxCpeDDlAo
eWtqReQtdevm
atkw
LvemfED
RVVmgAQsynH
WBAhgVqjUPl
XZoqVrc
AgUdHeeAgU
iHnRCJfSTc
UBcmUfBa
FDqQXEACVU
PbCcCbr
qpQB
RiHegonf
zrNflw
xBOiLxWxz
lwNgT
ntzF
RJTp
GerMHDt
LdvWizFSoq
lJcODC
搜索
查看: 18647|回复: 85

[分享] 修正绝大部分Skylake笔记本电脑内建显示器连接类型错误问题 [复制链接]
跳转到指定楼层
复制 

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

楼主
发表于 2016-11-21 01:39:14 IP属地美国 |只看该作者 |倒序浏览
快御云安全


问题表述


绝大部分笔记本内建显示器的连接类型(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, 因此直接应用我的补丁即可
  1. Comment:   eDP, port 0000, 0x191e0000, 0x19160000, 0x19260000, 0x19270000, 0x191b0000, 0x19160002, 0x19260002, 0x191e0003, 0x19260004, 0x19270004, 0x193b0005 credit syscl
  2. Find:     00000800 02000000 98000000 01050900 00040000
  3. Replace: 00000800 00040000 98000000 01050900 00040000
  4. Name:    AppleIntelSKLGraphicsFramebuffer
复制代码
如果需要直接复制粘贴到Clover中的config.plist文件中则需要如下的形式
  1. <dict>
  2.                                 <key>Comment</key>
  3.                                 <string>eDP, port 0000, 0x191e0000, 0x19160000, 0x19260000, 0x19270000, 0x191b0000, 0x19160002, 0x19260002, 0x191e0003, 0x19260004, 0x19270004, 0x193b0005 credit syscl</string>
  4.                                 <key>Disabled</key>
  5.                                 <false/>
  6.                                 <key>Find</key>
  7.                                 <data>
  8.                                 AAAIAAIAAACYAAAAAQUJAAAEAAA=
  9.                                 </data>
  10.                                 <key>Name</key>
  11.                                 <string>AppleIntelSKLGraphicsFramebuffer</string>
  12.                                 <key>Replace</key>
  13.                                 <data>
  14.                                 AAAIAAAEAACYAAAAAQUJAAAEAAA=
  15.                                 </data>
  16.                         </dict>
复制代码

不熟悉上面破解步骤的朋友请参阅一劳永逸!更新不再替换Kext(Kexts to patch)教程


重启后, 通过IORegistryExplorer-SLRID_v10.6.3查看AppleIntelFramebuffer@0的connector-type, 如果
connector-type = <00 04 00 00>表明修改成功, 反之你需要下面的命令重建缓存
  1. sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
  2. sudo rm -rf /System/Library/PrelinkedKernels/prelinkedkernel
  3. sudo kextcache -u /
复制代码




更多细节


实际上, 如果你的connector-type不是eDP, 亦或者是你使用的台式机, 需要修正连接类型, 这时候我们需要借助Ubuntu的xrand的命令来查看显示器的连接类型, 以XPS 13 9350为例, 在Ubuntu中打开终端, 输入
  1. xrandr
复制代码
会给出
  1. Screen 0: minimum 320 x 200, current 3200 x 1800, maximum 8192 x 8192
  2. eDP-1 connected primary 3200x1800+0+0 (normal left inverted right x axis y axis) 294mm x 165mm
  3.    3200x1800     59.98*+  47.99  
  4.    2048x1536     60.00  
  5.    1920x1440     60.00  
  6.    1856x1392     60.01  
  7.    1792x1344     60.01  
  8.    1920x1200     59.95  
  9.    1920x1080     59.93  
  10.    1600x1200     60.00  
  11.    1680x1050     59.95    59.88  
  12.    1600x1024     60.17  
  13.    1400x1050     59.98  
  14.    1280x1024     60.02  
  15.    1440x900      59.89  
  16.    1280x960      60.00  
  17.    1360x768      59.80    59.96  
  18.    1152x864      60.00  
  19.    1024x768      60.04    60.00  
  20.    960x720       60.00  
  21.    928x696       60.05  
  22.    896x672       60.01  
  23.    960x600       60.00  
  24.    960x540       59.99  
  25.    800x600       60.00    60.32    56.25  
  26.    840x525       60.01    59.88  
  27.    800x512       60.17  
  28.    700x525       59.98  
  29.    640x512       60.02  
  30.    720x450       59.89  
  31.    640x480       60.00    59.94  
  32.    680x384       59.80    59.96  
  33.    576x432       60.06  
  34.    512x384       60.00  
  35.    400x300       60.32    56.34  
  36.    320x240       60.05  
  37. DP-1 disconnected (normal left inverted right x axis y axis)
  38. HDMI-1 disconnected (normal left inverted right x axis y axis)
  39. DP-2 disconnected (normal left inverted right x axis y axis)
  40. HDMI-2 disconnected (normal left inverted right x axis y axis)
复制代码
注意到
  1. 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
////

点评

syscl  IvyBridge, Haswell, Broadwell也可以用同样的方法进行修改  发表于 2016-11-21 08:39 IP属地美国
6

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

沙发
发表于 2016-11-21 01:39:37 IP属地美国 |只看该作者
本帖最后由 syscl 于 2016-11-21 08:52 编辑


更多待补充的接口类型以及数值
接口类型(connector type) 数值(data)
DVI-DL(DVI Dual Link) 04 00 00 00
DVI-SL(DVI Single Link) 00 02 00 00
S-V 08 00 00 00
  • 注: VGA已经被废除



syscl


Rank: 7Rank: 7Rank: 7

UID
1430546
帖子
1557
PB币
588
贡献
0
技术
9
活跃
2320
板凳
发表于 2016-11-21 01:49:42 IP属地广东 |只看该作者
干货满满

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

4F
发表于 2016-11-21 06:16:23 IP属地内蒙古 |只看该作者
没touch貌似是不能直接用 -u 的...
表示对核显完全不懂......

Rank: 2Rank: 2

UID
3692035
帖子
319
PB币
3
贡献
0
技术
1
活跃
437
5F
发表于 2016-11-21 07:14:02 IP属地广东 |只看该作者
本帖最后由 Jack_KK 于 2016-11-21 07:49 编辑

我的台式机AppleIntelFramebuffer@0 connector-type是01000000,还有AppleIntelFramebuffer@1,AppleIntelFramebuffer@2都是connector-type 04000000咋整,实际使用的是AppleIntelFramebuffer@2, dvi-d接口。怎么改呢

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1034
贡献
0
技术
156
活跃
3179

7周年庆典勋章 8周年庆典勋章 我是大学生!

6F
发表于 2016-11-21 07:42:02 IP属地江苏 来自手机 |只看该作者
不得了,前排支持

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1034
贡献
0
技术
156
活跃
3179

7周年庆典勋章 8周年庆典勋章 我是大学生!

7F
发表于 2016-11-21 08:06:51 IP属地江苏 来自手机 |只看该作者
我问一下吧,这个改了有什么好处么?eDP貌似比LVDS更先进一些

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

8F
发表于 2016-11-21 08:19:51 IP属地美国 |只看该作者
Jack_KK 发表于 2016-11-21 07:14
我的台式机AppleIntelFramebuffer@0 connector-type是01000000,还有AppleIntelFramebuffer@1,AppleIntelF ...

04 00 00 00这是啥类型?

////

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

9F
发表于 2016-11-21 08:22:57 IP属地美国 |只看该作者
gujiangjiang 发表于 2016-11-21 08:06
我问一下吧,这个改了有什么好处么?eDP貌似比LVDS更先进一些

你的接口类型本来是DP的, 结果用LVDS来控制,本来就不对呀。。

举个例子,如果是HDMI的接口,如果用了DP的配置,就会出现无声的现象。。再说了eDP本来带宽就比LVDS高,你不设置成eDP怎么正确驱动那块屏幕呢。。。

配置正确很重要啊。。

Rank: 2Rank: 2

UID
3692035
帖子
319
PB币
3
贡献
0
技术
1
活跃
437
10F
发表于 2016-11-21 08:23:26 IP属地广东 |只看该作者
syscl 发表于 2016-11-21 08:19
04 00 00 00这是啥类型?

////

写错了,是00 04 00 00

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

11F
发表于 2016-11-21 08:32:26 IP属地美国 |只看该作者
Jack_KK 发表于 2016-11-21 08:23
写错了,是00 04 00 00

那你应该
  1. 02040a00 00040000 87010000 --> 02040a00 04000000 87010000
复制代码
或者
  1. 02040a00 00040000 C7010000 --> 02040a00 04000000 C7010000
复制代码
因为我不知道你的Framebuffer是啥, 所以你得把上面两个都注入进去看看.

////

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1034
贡献
0
技术
156
活跃
3179

7周年庆典勋章 8周年庆典勋章 我是大学生!

12F
发表于 2016-11-21 08:34:25 IP属地江苏 来自手机 |只看该作者
syscl 发表于 2016-11-21 08:22
你的接口类型本来是DP的, 结果用LVDS来控制,本来就不对呀。。

举个例子,如果是HDMI的接口,如果用了 ...

终于看懂了,我以为你要改成ldvs,原来是你要改成eDP,我看反了,哈哈哈

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

13F
发表于 2016-11-21 08:40:48 IP属地美国 |只看该作者
gujiangjiang 发表于 2016-11-21 08:34
终于看懂了,我以为你要改成ldvs,原来是你要改成eDP,我看反了,哈哈哈

改完这个更觉得苹果连LVDS都不更新,真是一坨屎..

UID
4768016
帖子
2487
PB币
19968
贡献
0
技术
0
活跃
3596

7周年庆典勋章

14F
发表于 2016-11-21 09:23:46 IP属地广东 |只看该作者
Mark一下,晚点再看。。。一眼下去没看懂,还有版主你的声卡用的是哪种,能否共享一下,应该都是alc256吧

Rank: 2Rank: 2

UID
234070
帖子
192
PB币
1078
贡献
0
技术
6
活跃
705
15F
发表于 2016-11-21 09:41:16 IP属地日本 |只看该作者
素晴らしいです!

Rank: 2Rank: 2

UID
2100101
帖子
390
PB币
721
贡献
0
技术
1
活跃
840
16F
发表于 2016-11-21 09:50:37 IP属地上海 |只看该作者
LVDS很老了,苹果不更新不知道啥原因,总共有原因的。eDP。

Rank: 5Rank: 5Rank: 5

UID
1311460
帖子
822
PB币
125
贡献
0
技术
62
活跃
2409
17F
发表于 2016-11-21 09:52:53 IP属地福建 |只看该作者
强悍啊!感觉chromebook pixel 2013有救了!找个时间试试。多谢大神分享!

Rank: 7Rank: 7Rank: 7

UID
713168
帖子
1653
PB币
39
贡献
0
技术
6
活跃
3417
18F
发表于 2016-11-21 10:05:42 IP属地浙江 |只看该作者
谢谢楼主分享

Rank: 1

UID
4810262
帖子
38
PB币
15
贡献
0
技术
0
活跃
167
19F
发表于 2016-11-21 10:41:55 IP属地江苏 |只看该作者
谢谢楼主分享

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1034
贡献
0
技术
156
活跃
3179

7周年庆典勋章 8周年庆典勋章 我是大学生!

20F
发表于 2016-11-21 12:23:13 IP属地江苏 |只看该作者
我在思考一个问题,用这个能不能解决原生4k的问题?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛