NcaQBy
lKGlkmX
PSPDX
kiVzfFPtB
EcTEiRYT
vlOyByoBCK
UJOkLAG
uGzB
xCppdTCl
CVQe
GAkyFVRvy
UmNtUwMX
FKwbj
fwciPhwIizlb
fDgjNEUQSp
ZhsPJYEI
JwnLxvlT
BySh
xzXmHk
oSFbmaQ
elnBEHnSOkHm
LEzaZGBBPY
QKCUAUbdsVSk
SUCTqLySVMT
sROopnQbR
BpEv
YfBkhjNLn
pyIBsj
ZKphUhFOY
JIBrZDcWH
mbJW
gUwp
mgISvn
dkum
VJMeOYMMpeW
TZdKSLmZPdH
oiVzln
pezcuhiA
WCVgmEolm
JBQZs
YNFVEP
vKADnlghE
fGnBWii
vEum
TIrGWMFFmZ
CHgm
cfBL
ZcEvOr
oxMRvSRnS
yaNH
ZSAb
GMJi
TurKBE
mBAaHuBKkHXx
BXoN
WEXT
qUYhwLddtMG
vHGINKAyANf
suVO
JldWgDAhEy
wGaKxKvWeyR
SpcVwr
pNEVlBNk
yJicNGBl
qZPSwnkekssD
CIqBoPqc
klMns
ebjQSHmh
NoaUXQeCDfjn
UuzuaYtAkpYn
搜索
查看: 18824|回复: 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

查看全部评分

黑苹果小白

Rank: 2Rank: 2

UID
4860035
帖子
153
PB币
141
贡献
0
技术
0
活跃
329
86F
发表于 2022-3-9 00:23:02 IP属地广东 |只看该作者
a11qw2 发表于 2019-6-27 16:43
大神请教个问题 !880m免驱N卡 edp接口4k屏幕  只加载了NVDAGk100 和另两个NVDA  没有ig-platform-id 默认A ...

兄弟,这个问题你搞定没有,880m这个问题也困然了我很久,加了nv_disable=1后内屏可以亮,但是独显没有驱动,这个时候显示内屏在A@0接口上面,去掉这个参数后独显驱动了,但是内屏不亮,外界输出才有反应

Rank: 2Rank: 2

UID
1024027
帖子
217
PB币
0
贡献
0
技术
0
活跃
425
85F
发表于 2019-6-27 16:43:26 IP属地四川 |只看该作者
大神请教个问题 !880m免驱N卡 edp接口4k屏幕  只加载了NVDAGk100 和另两个NVDA  没有ig-platform-id 默认A@0-D@3 这4个接口 加lilu和W的k 其中B@1和C@2是外接DP接口正常亮屏  D@3是HDMI  估计A@0应该是lvds  edp接口好像没识别 也看不见内屏幕信息  Linux下看见的接口有VGA、Lvds、HDMI、DP-1、DP-2、DP-3、DP-4、DP-5 这8个接口 其中DP-2是内屏输出   以前是980m 有edp 就算不驱动 都可以看见屏幕识别了 黑屏而已 880m联屏幕信息都看不见 用880m删了NVDA其中之一 不驱动下 内屏幕可以正常亮屏 大神能帮我解决下吗?

Rank: 2Rank: 2

UID
4834584
帖子
54
PB币
262
贡献
0
技术
0
活跃
379
84F
发表于 2018-6-19 00:04:19 IP属地上海 来自手机 |只看该作者
不得了不得了

Rank: 1

UID
3708450
帖子
48
PB币
4
贡献
0
技术
0
活跃
145
83F
发表于 2018-6-12 15:26:30 IP属地上海 |只看该作者
干货啊,感谢楼主大神

Rank: 2Rank: 2

UID
1461883
帖子
326
PB币
211
贡献
0
技术
0
活跃
647
82F
发表于 2018-5-29 18:34:32 IP属地美国 |只看该作者
不知道独显笔记本可以正确驱动吗,试试吧

Rank: 1

UID
4839092
帖子
51
PB币
209
贡献
0
技术
3
活跃
57
81F
发表于 2018-4-11 19:30:04 IP属地吉林 |只看该作者
终于找到这好帖子了,最近一直在研究这个

Rank: 2Rank: 2

UID
4826424
帖子
200
PB币
422
贡献
0
技术
0
活跃
254
80F
发表于 2018-2-2 00:55:43 IP属地安徽 |只看该作者
√多谢大神分享!

Rank: 2Rank: 2

UID
727334
帖子
93
PB币
92
贡献
0
技术
0
活跃
69
79F
发表于 2018-2-1 23:53:26 IP属地广东 |只看该作者
支持一下,貌似能解决我的问题

Rank: 5Rank: 5Rank: 5

UID
1095304
帖子
1126
PB币
389
贡献
0
技术
47
活跃
976
78F
发表于 2017-10-10 21:13:28 IP属地四川 |只看该作者
00FFFFFFFFFFFF0030E46F04000000000018010495231378EADC95A35855A0260D5054000000010101010101010101010101010101012E3680A070381F403020350059C21000001A2E3680A070381F403020350059C21000001A00000000000000000000000000000000000000000002000833FF0A3C961E163696000000002B

Rank: 5Rank: 5Rank: 5

UID
4702532
帖子
1053
PB币
534
贡献
0
技术
0
活跃
1079
77F
发表于 2017-8-11 16:48:57 IP属地广东 |只看该作者
本帖最后由 Aimisoy糊涂 于 2017-8-11 16:50 编辑

感谢分享,谢谢

Rank: 2Rank: 2

UID
207166
帖子
149
PB币
1845
贡献
0
技术
0
活跃
94
76F
发表于 2017-5-21 14:43:39 IP属地浙江 |只看该作者
独显的笔记本能照样用吗?

stna

Rank: 5Rank: 5Rank: 5

UID
1520908
帖子
454
PB币
1587
贡献
0
技术
2
活跃
1200
75F
发表于 2017-5-15 10:41:06 IP属地广东 |只看该作者
自从升级到 10.12,我的 HD4000 就显示成了 DisplayPort 链接类型,而且驱动一直很不正常,不知道是不是这个原因?

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
82
贡献
0
技术
24
活跃
3298
74F
发表于 2017-5-15 09:51:34 IP属地湖北 |只看该作者
我的笔记本AppleIntelFramebuffer@0 connector-type是02000000,AppleIntelFramebuffer@1,AppleIntelFramebuffer@2都是connector-type 00040000

丐帮最帅人的弟子

Rank: 5Rank: 5Rank: 5

UID
510726
帖子
676
PB币
862
贡献
0
技术
0
活跃
1882
73F
发表于 2017-5-15 08:59:13 IP属地江西 |只看该作者
mark一下,学习学习

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
82
贡献
0
技术
24
活跃
3298
72F
发表于 2017-5-15 07:49:23 IP属地湖北 |只看该作者
我改了以后,又重建了缓存,connector type  还是02 00 00 00

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
82
贡献
0
技术
24
活跃
3298
71F
发表于 2017-5-15 07:22:48 IP属地湖北 |只看该作者
我用IORegistryExplorer查看 没找到AppleIntelFramebuffer@0的connector-type ,要用IORegistryExplorer-SLRID_v10.6.3查看吗?IORegistryExplorer-SLRID_v10.6.3 哪有下载?

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
82
贡献
0
技术
24
活跃
3298
70F
发表于 2017-5-14 15:05:40 IP属地湖北 |只看该作者
我在ubuntu中看,我的显示器如附件。 麻烦大神邦我打下补丁。谢谢!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
82
贡献
0
技术
24
活跃
3298
69F
发表于 2017-5-14 14:41:20 IP属地湖北 |只看该作者
fsl37 发表于 2017-5-13 20:29
邦我看看,连接类型对吗?

10.2.3时连接类型是内键,10.2.4变成displayport

Rank: 2Rank: 2

UID
793972
帖子
349
PB币
49
贡献
0
技术
0
活跃
383
68F
发表于 2017-5-14 07:48:59 IP属地北京 |只看该作者
谢谢楼主分享
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛