nyNIvWlVuv
abFFiFtqJEvs
GDFDisi
hVnzOS
TpnKaX
bVHoR
ChcIAPnXndj
gXOalkfKlPI
vcdqIWLqMH
IGDeUMy
yhoRuKFmN
GCqrAsEQskm
gqMksofN
SkzzMHT
bFuhZ
Win10论坛

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

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

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

dgpxIxm
aOGtsxOoZa
LBLmDEBrt
vBoXVTcyHi
gscbYvDkccXs
glnEZ
VqRYl
MbVF
fUYHA
rtpXKRYKQ
eUDVgFnQieGs
ZqHPWMloHp
oUvTHb
FCGa
AwTVeKnh
McbGPsgDTZ
bsIegIF
LnNqoCBOMHfs
iOSmLDayoLJ
agVdIzKLjGVS
bloNK
FXwmb
zrGb
sErJBVARqfl
uieyfKajwB
akIRuV
TDeZAyTMv
QWyrfLD
YtcJL
rRUogr
SHniGWQl
FcOuMGvhSBta
tqrXjAilKUn
ZxvsIm
txnimiOzw
INMxDvdYzjkh
sowRoxkRN
NNFwoPGYoumz
ZVutPLlF
DBjuIzx
owvrDEjn
DcSBlWzfk
ZlXjPwSjb
SkTryqSgNTe
aKIzjBhBKD
QMsRfuPq
kgFJUI
dhcDPD
kiqu
IwAYG
cKYCuIpS
QfmAsSWd
JuNcKdmP
niSm
lEPtIGhnq
ZMDi
BWCxNVO
VWDGJmvJqy
fTZSmFBXx
smZFoWP
oEnpUFMuxGw
fpvai
jeyyJM
oiYowNuXlu
OMnSuGn
EBUgjwpVd
vRtGlMUHIvI
BePN
JppGqRDN
FTHdqwRErx
搜索
查看: 27880|回复: 31

[原创内容] [2015.1.31 更新] 致使用桌面版HD4400的景友 [复制链接]
跳转到指定楼层
复制 

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

楼主
发表于 2014-2-19 19:47:46 IP属地云南 |只看该作者 |倒序浏览
快御云安全
本帖最后由 daxuexinsheng 于 2015-1-31 12:14 编辑

2015.1.31 更新 正式驱动方法
https://bbs.pcbeta.com/viewthread-1573607-1-1.html




      对于桌面版的
Haswell平台的集成显卡HD4400,其设备id并不在苹果的显卡驱动的支持列表里,据楼主所知,到目前为止,对于黑苹果,还没有成功驱动的案例。(据一位景友所说,已经有成功驱动的了,但这位景友还没有给出相关链接。)
      基于以上原因,楼主才想写一个贴子,给要在苹果系统下驱动桌面版HD4400的景友提供一些参考建议。

      在本帖楼主将提供 4套 方案
      其中方案一只适合使用Clover引导的系统方案二、方案三和方案四适合使用变色龙或者Clover引导的系统

      可能会用到的文件的下载地址。(一般只需要引导的配置文件就可以了如果需要修改DSDT,也提供了下载地址,并且,建议先用这个贴子的方法对提取的DSDTSSDT进行处理https://bbs.pcbeta.com/viewthread-1475332-1-1.html
      http://pan.baidu.com/s/1ntz6gsT

      如果有景友使用本帖的方案,或者其它方法成功驱动了桌面版HD4400,还希望能够告诉楼主一下。
3

查看全部评分

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

沙发
发表于 2014-2-19 20:06:39 IP属地云南 |只看该作者
本帖最后由 daxuexinsheng 于 2014-3-17 10:25 编辑

      方案一使用Clover引导的FakeID功能把桌面版HD4400的设备id仿冒成苹果的显卡驱动支持的设备id

      FakeID功能位于Clover引导程序的Devices模块。它是一个把苹果原本不支持的PCI设备的DeviceID和VendorID属性仿冒成苹果原生支持的某个设备的DeviceID和VendorID,从而使系统能够为这个“不支持的设备”加载原生驱动,并让它能够工作的方法。

      如下面的例子:(引用自Clover官方和解答组成员g958的Clover综合贴,感谢。)
      AMDRadeonHD7850没有被支持,DeviceID = 0x6819。可以替换为0x6818(新版已支持)
      戴尔无线网卡1595,DeviceID = 0x4315不支持。可以替换为0x4312。
      网卡Marvell Yukon 8056,DeviceID = 0x4353。可以替换为0x4363。
      还有其它已知的不支持设备的替换。
      FakeID功能生效的条件:
      只有当injectATI(NVIDIA,Intel)被设置或在FixDSDT面板里设置了该设备时,这种替换才生效。

      综上,对于桌面版HD4400有如下的设置
(大部分桌面版HD4400的设备id为041E,不在苹果原生支持列表,可以使用Clover的FakeID将其在每次启动时,临时替换成苹果原生支持的设备id。比如桌面版HD4600的设备id-0412。或者替换为其它的id。)
Clover的具体设置请自行到置顶贴学习这里只给出所需部分的配置。)
<key>Devices</key>

            <dict>
                        <key>FakeID</key>
                        <dict>
                                    <key>IntelGFX</key>
                                    <string>0x04128086</string>

以上是仿冒设备id的配置,之后,是尝试驱动它的配置。

<key>Graphics</key>
            <dict>
                        <key>Inject</key>
                        <dict>
                                    <key>ATI</key>
                                    <false/>
                                    <key>Intel</key>
                                    <true/>
                                    <key>NVidia</key>
                                    <false/>
                        </dict>
                        <key>VRAM</key>
                        <integer>1024</integer>
                        <key>ig-platform-id</key>
                        <string>0x0d220003</string>
            </dict>

      先按以上设置试试有可能还需要在Windows下获取屏幕的EDID再用Clover注入。在Windows下获取屏幕的EDID可以使用EDID Manager软件,注入可以在Mac下用Clover Configurator软件,把EDID粘贴到相应区域就可以了。(虽然显卡目前还没有驱动,但一般还是可以进入系统,进行这样的操作。)

      以上操作全是对Clover的config.plist的配置就可以完成方案一的操作。对于FakeID只能通过对config.plist配置实现,但是,尝试驱动显卡还有使用向DSDT加入显卡信息的方法。在本帖,楼主也想借此机会,把之前的贴子没能介绍全面的方面进行补充。

      除了使用参数注入,还可以使用DSDT注入显卡信息。是对其显卡部分的Method(_DSM)进行修改实现的。一般,电脑的显卡设备定义在DSDT或者某一个SSDT中,名字一般是Device (GFX0)或者Device (IGPU),它们的{}大括号的范围里,可能已经有了Method(_DSM),也可能没有。没有的话加上就行。有的话,为了简单,可以直接替换原来的。
      如果显卡部分在SSDT里,可以把它移到DSDT里。(一般显卡部分在SSDT的情况是,那个SSDT里,从软件的左边栏看,只有一个\_.SB.PCI0,它的下面就有显卡设备了。)

      显卡设备代码的迁移方法
1、把包含Device (GFX0)的SSDT里的整个
      Scope (\_SB.PCI0)     {
    }
一般复制到整个SSDT的倒数第二个“ } ”。把这些内容复制到DSDT。那么,要粘贴到哪里呢?

2、在打开DSDT的编辑软件的左边栏,随便点击一个“_SB.PCI0”,在软件的右边会跳转到那里,把以上的内容粘贴到“Scope (_SB.PCI0)”的上方。仅仅把以上内容复制到DSDT还不够,还需要把以上内容用到的其它信息复制到DSDT。

3、接下来复制的信息是在同一个SSDT中,在代码的开始往后一点的地方,一般是这样的:
     OperationRegion (SANV, SystemMemory, 0x92FB7D98, 0x0141)
     Field (SANV, AnyAcc, Lock, Preserve)
     {
     }
需要把它粘贴到DSDT中的类似的地方,比如DSDT的开始往后一点的地方也有OperationRegion,把以上代码粘贴到DSDT中的第一个OperationRegion的上方。

4、如果出现错误“Object already exits in scope (一个名字)”,搜索提示的名字,把DSDT最开始的地方的
     External (那个名字)
     把这一行代码删除。

5、如果出现错误“Object does not exits (一个名字)”,可以到SSDT中,把相应的
     External (那个名字)
把它复制到DSDT开头的很多的External语句的前面或者后面。

注入显卡信息
      现在,显卡部分已经在DSDT里了,可以向它添加更多的信息了。
      首先,要有黑苹果必需的一个函数-DTGP可以使用软件打补丁的方式添加
      之后,就可以添加显卡注入代码了。在Device(GFX0) { }或者Device (IGPU) { } 的最后一个“}”之前添加如果原来就有Method(_DSM),就替换它。
  1. Method (_DSM, 4, NotSerialized)
  2.             {
  3.                 Store (Package (0x16)
  4.                     {
  5.                         "AAPL,slot-name",
  6.                         Buffer (0x08)
  7.                         {
  8.                             "Slot -1"
  9.                         },
  10.                         "built-in",
  11.                         Buffer (One)
  12.                         {
  13.                             0x01
  14.                         },
  15.                         "AAPL,HasPanel",
  16.                         Buffer (0x04)
  17.                         {
  18.                             0x01, 0x00, 0x00, 0x00
  19.                         },
  20.                         "AAPL,Haslid",
  21.                         Buffer (0x04)
  22.                         {
  23.                             0x01, 0x00, 0x00, 0x00
  24.                         },
  25.                         "AAPL,backlight-control",
  26.                         Buffer (0x04)
  27.                         {
  28.                             0x01, 0x00, 0x00, 0x00
  29.                         },
  30.                         "@0,backlight-control",
  31.                         Buffer (0x04)
  32.                         {
  33.                             0x01, 0x00, 0x00, 0x00
  34.                         },
  35.                         "@0,AAPL,boot-display",
  36.                         Buffer (0x04)
  37.                         {
  38.                             0x01, 0x00, 0x00, 0x00
  39.                         },
  40.                         "device-id",
  41.                         Buffer (0x04)
  42.                         {
  43.                             0x12, 0x04, 0x86, 0x80
  44.                         },
  45.                         "AAPL,ig-platform-id",
  46.                         Buffer (0x04)
  47.                         {
  48.                             0x03, 0x00, 0x22, 0x0d
  49.                         },
  50.                         "AAPL00,DualLink",
  51.                             Buffer (0x04)
  52.                             {
  53.                                 0x01, 0x00, 0x00, 0x00
  54.                             },
  55.                         "hda-gfx",
  56.                         Buffer (0x0A)
  57.                         {
  58.                             "onboard-1"
  59.                         }
  60.                     }, Local0)
  61.                 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  62.                 Return (Local0)
  63. }
复制代码
其中,
"AAPL00,DualLink",
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            },
是1600*900 及以上的分辨率的,才需要添加。另一个作用,好像可以解决笔记本内屏黑屏的问题。

      如果还需要使用DSDT注入EDID,可以参考这个贴子。https://bbs.pcbeta.com/viewthread-1281844-1-1.html


    楼下还有其它的方案。

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

板凳
发表于 2014-2-19 20:24:54 IP属地云南 |只看该作者
本帖最后由 daxuexinsheng 于 2014-2-20 10:15 编辑

      方案二把自己的桌面版的id添加到显卡驱动的Info.plist里再使用引导程序的参数注入平台id或者使用DSDT注入平台id

具体步骤

      在系统(System)->资源库(Library)->Extensions目录下,向显卡驱动中加入自己的id。
      在Window下,安装苹果分区读取软件后,可以直接看到驱动里的内容。在Mac下,需要右键,选择显示包内容,才能看到驱动里的内容。

      1、找到AppleIntelFramebufferAzul.kext和AppleIntelHD5000Graphics.kext,进到里面的目录,可以看到Info.plist文件。

      2、打开以上两个驱动的Info.plist在它的<key>IOPCIPrimaryMatch</key>下面那一组数里添加自己显卡的id。格式:0x041E8086(041E是自己显卡的id,8086是英特尔显卡都有的代号)。添加好之后保存。

      3、之后,再按照一般的驱动方法尝试驱动桌面版的HD4400使用引导的参数或者DSDT
对于变色龙的参数可以这样设置。)
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>IntelAzuIFB</key>
<string>10</string>    可以尝试 0到15 的整数。

Clover参数的话可以参考方案一的相关部分。) 注入 0x0d220003
DSDT的话可以参考方案一的相关部分。)

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

4F
发表于 2014-2-19 20:30:32 IP属地云南 |只看该作者
本帖最后由 daxuexinsheng 于 2014-2-19 20:33 编辑

      方案三直接使用参数或者DSDT尝试驱动

       尝试所有的参数对于变色龙IntelAzuIFB参数可以尝试 0到15 的整数

      对于Clover可以尝试所有的ig-platform-id。

      对于使用DSDT可以尝试所有的ig-platform-id。

      所有的ig-platform-id可以到这个贴子查看
      https://bbs.pcbeta.com/viewthread-1465761-1-1.html

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

5F
发表于 2014-2-19 20:34:11 IP属地云南 |只看该作者
本帖最后由 daxuexinsheng 于 2014-2-20 10:12 编辑


      方案四基于前面的方案的变化

      1、对于方案一可以把FakeID换成0x01668086试试即HD4000的设备id
<key>Devices</key>
       <dict>
              <key>FakeID</key>
              <dict>
                     <key>IntelGFX</key>
                     <string>0x01668086</string>

      如果是使用Clover注入显卡信息的话,先试试这个,0x0166000a
      如果使用DSDT有两处需要修改一下
                       "device-id",
                        Buffer (0x04)
                        {
                           0x66, 0x01,0x86, 0x80
                        },
                       "AAPL,ig-platform-id",
                        Buffer (0x04)
                        {
                            0x0a, 0x00, 0x66, 0x01
                        },

      2、或者方案二还可以有变化
      把自己的显卡的设备id添加到驱动中只是要添加的驱动变了变成AppleIntelFramebufferCapri.kext和AppleIntelHD4000Graphics.kext。
之后,
(对于变色龙的参数,可以这样设置。)
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>IntelCapriFB</key>    注意,这里和方案二的语句不同。
<string>10</string>    可以尝试 0到11 的整数。

Clover参数的话可以参考方案一的相关部分。)注入0x0166000a
DSDT的话可以参考方案一的相关部分。) 需要修改的部分和本方案的1、部分相同

Rank: 11Rank: 11Rank: 11

UID
3545481
帖子
8885
PB币
38347
贡献
0
技术
7848
活跃
2904

Win10先驱者 我是大学生! 远景美化达人 远景技术达人 远景智多星

6F
发表于 2014-2-19 20:41:48 IP属地广东 来自手机 |只看该作者
关于代码迁移那一块~~文字说明还是不太容易理解

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

7F
发表于 2014-2-19 20:50:20 IP属地辽宁 来自手机 |只看该作者
5f居然被抢了……

Rank: 2Rank: 2

UID
2710815
帖子
141
PB币
2
贡献
0
技术
0
活跃
123
8F
发表于 2014-2-19 23:25:38 IP属地天津 |只看该作者
这些方法试过了,失败

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

9F
发表于 2014-2-19 23:28:05 IP属地云南 |只看该作者
weifeng5941 发表于 2014-2-19 23:25
这些方法试过了,失败

刚刚试的吗?
id有好多,你都试过了吗?
另外,你的是用什么引导的?

Rank: 5Rank: 5Rank: 5

UID
154304
帖子
663
PB币
1383
贡献
0
技术
29
活跃
1863
10F
发表于 2014-2-19 23:44:40 IP属地辽宁 |只看该作者
我是i3 4310 桌面级CPU ,我准备实验第二种方案。引导是变色龙,10.9.1系统。

Rank: 5Rank: 5Rank: 5

UID
311780
帖子
587
PB币
1688
贡献
0
技术
19
活跃
1829
11F
发表于 2014-2-20 00:26:42 IP属地江苏 |只看该作者
收藏备用,非常好的文章,实际上把显卡驱动的法子简单明了全面说清了

Rank: 5Rank: 5Rank: 5

UID
600890
帖子
229
PB币
94
贡献
0
技术
6
活跃
321
12F
发表于 2014-2-20 12:14:10 IP属地北京 |只看该作者
daxuexinsheng 发表于 2014-2-19 20:24
方案二,把自己的桌面版的id添加到显卡驱动的Info.plist里,再使用引导程序的参数注入平台id或者使用 ...

按方案二实验了一次,无法驱动,无任何改变,汇报楼主完毕,望大神们再创神帖啊

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

13F
发表于 2014-2-20 12:56:53 IP属地云南 |只看该作者
vvsvvs 发表于 2014-2-20 12:14
按方案二实验了一次,无法驱动,无任何改变,汇报楼主完毕,望大神们再创神帖啊

启动的时候加 -f 了吗?
有时间的时候,其它的id也可以试一下。 :)

Rank: 2Rank: 2

UID
2710815
帖子
141
PB币
2
贡献
0
技术
0
活跃
123
14F
发表于 2014-2-22 19:49:33 IP属地天津 来自手机 |只看该作者
daxuexinsheng 发表于 2014-2-19 23:28
刚刚试的吗?
id有好多,你都试过了吗?
另外,你的是用什么引导的?

变色龙,主要的id都试过了,最后我独显了

Rank: 5Rank: 5Rank: 5

UID
600890
帖子
229
PB币
94
贡献
0
技术
6
活跃
321
15F
发表于 2014-2-23 13:36:32 IP属地北京 |只看该作者
hehe,我也打算独显了,楼上你准备什么独显?

Rank: 2Rank: 2

UID
2710815
帖子
141
PB币
2
贡献
0
技术
0
活跃
123
16F
发表于 2014-2-23 23:26:08 IP属地天津 |只看该作者
vvsvvs 发表于 2014-2-23 13:36
hehe,我也打算独显了,楼上你准备什么独显?

拆下单位机器的gt405,开机完美驱动,准备买个gtx650昂达典范

Rank: 5Rank: 5Rank: 5

UID
600890
帖子
229
PB币
94
贡献
0
技术
6
活跃
321
17F
发表于 2014-2-24 08:10:03 IP属地北京 |只看该作者
上网查了一下,核显的hd4400就相当于gtx630了,怎么感觉升级的幅度不大啊

Rank: 2Rank: 2

UID
4317512
帖子
232
PB币
1
贡献
0
技术
3
活跃
1386
18F
发表于 2014-2-28 19:31:19 IP属地台湾 |只看该作者
Tonymacx86也有在討論阿http://www.tonymacx86.com/graphics/123760-i3-4130-ga-h87n-wifi-hd4400-graphics-not-supported-4.html

Rank: 5Rank: 5Rank: 5

UID
724727
帖子
381
PB币
9
贡献
0
技术
1
活跃
548
19F
发表于 2014-3-4 21:21:54 IP属地日本 |只看该作者
用了方案一,
2、在打开DSDT的编辑软件的左边栏,随便点击一个“_SB.PCI0”,在软件的右边会跳转到那里,把以上的内容粘贴到“Scope (_SB.PCI0)”的上方。仅仅把以上内容复制到DSDT还不够,还需要把以上内容用到的其它信息复制到DSDT。

粘贴ssdt提取的显卡信息后,从000瞬间91error,而且还太没看懂。还需要以上的什么内容复制到dsdt。。。。

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

20F
发表于 2014-3-4 21:41:39 IP属地云南 |只看该作者
wsypf 发表于 2014-3-4 21:21
用了方案一,
2、在打开DSDT的编辑软件的左边栏,随便点击一个“_SB.PCI0”,在软件的右边会跳转到那里,把 ...

没看懂你的意思。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛