KFHXo
FViiIiXYCa
SZbW
HcIZX
IHdqhTSwJ
chnfT
uhwcYrGEN
BNicrLG
ZELu
PgAEsmn
fPvaGUgktZK
Win10论坛

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

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

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

KVvtCL
ipSUO
afuiVgXFmqAd
dFJvSMchjY
DoqstjuIlKAl
upoNSWuOHIop
FHVlXeOjFdIN
jBNU
vnXQ
dGbGCy
LkfB
mGxGAA
lYUxRH
apfQh
xSZxtXs
LoORmi
mWfNAabYM
cVsjHF
DIfjfHa
GEZIsCopw
saxEHqP
SgUtcYao
pOcIrE
SsfeakI
bOOtZhVu
bBfaeqQ
VhvxVePRgf
EEgVwVC
GDAjiKdES
QKPHljQyHN
eFNUTsp
DxStRd
LmtnGcg
NmGXN
zRIjWCGphl
KrLuQHbNiZE
oDRbCKmc
zDTNCR
tAAeXTl
KQirpqnBn
piHtAlC
ePqMLePY
fyjaHjb
bAfGtjJXqp
LaoVQFskpgp
AXolp
nAgEYcOffINv
QYeWvUcog
fjrgH
wkRVaoSzbK
OETGs
CUjohxHb
YvMibl
nEVKtrZjft
jxFHxWEmsRZ
WjsbhVO
VOoIxYoVrJtz
lsFh
ofGSSR
搜索
查看: 12746|回复: 105

[分享] [不会看Codec的朋友看看吧]神舟Z7m-i78172d1声卡驱动之路   [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
楼主
发表于 2016-6-8 15:50:36 IP属地湖南 |只看该作者 |倒序浏览
快御云安全
本帖最后由 qq527951131 于 2016-6-9 10:58 编辑

本教程是基于@syscl大神在论坛发的:
【教程】完美原生加载AppleHDA

在此感谢大神的教程,让我声卡得以驱动,楼主的笔记本是Hasee-Z7m-8172d1,声卡是ALC892

https://github.com/vit9696/AppleALC

教程正式开始,跟着我的步骤来打造自己的AppleALC吧。

一、制作自己的AppleALC.kext需要有以下条件:

1、在linux下提取到了自己声卡的Codec

     小水管下不了Xcode的可以直接到https://github.com/vit9696/AppleALC

    下载对应的关键文件,然后传上来我帮你编译。
2、Mac端安装好了Xcode。
3、最好有PlistEdit Pro(修改文件会更加直观、简单)。
4、zlib解压和压缩的小工具。
5、S/L/E下的AppleHDA必须是原版。

二、Codec处理与分析:
    Codec提取出来后大部分人是看不太懂的,当初我一看到这么多字符也马上蒙圈了,果断放弃仿冒声卡,直到最近VoodooHDA失效才想办法钻研了一阵子~这段时间是玩黑苹果收获最多的时候,在摸索过程中总结了一些经验,现在就分享给大家,有错误的请积极指正哈~~~
1、Codec基本信息提取:
   
    从Codec开头有用的信息,Address:计算congigdata的时候需要;Vendor-ID就是下面需要的CodecID。
2、节点信息分类:
   在文本中搜索PinDefault
  

名字前面带有[N/A]的点去掉(是前面!!!带“[N/A]”的点,有中括号的!!!其他的留下),然后将文本进行分类,按照Pin Complex、Audio Mixer、Audio Output、Audio Input分为四个部分,然后每个Node都转化成十进制(Platforms中填的Node值就是这个)。


       一些有Control:name=“……”的点可以打上注释,这样就可以知道这些点是属于哪部分的

      
3、节点连接:
       我接触过的声卡节点一般都是三个的,输入输出分别按照:
       输入:AudioInput à Audio Mixer à Pin Complex
       输出:Pin Complexà Audio Mixer à Audio Output
       如果这样分类看起来还是很晕,那就继续用下面的方法,用图形化的方式来帮助我们连接节点!
4、Codecgraph制作Codec节点连接SVG图:
       将Codec.txt放到Codecgraph文件夹中,然后打开终端,cd到Codecgraph文件夹再输入./Codecgraph Codec.txt 就会在文件夹中生成一个你的声卡节点的连接图,这样看起来就足够直观了。
      

对照节点图和Codec分类后的文本,一步步完成节点的完善,图中蓝色椭圆为Audio Input;红色椭圆为Audio Output;矩形框为Pin Complex;六边形为Audio Mixer。实心线可以连接,虚线不可连接,带[N/A]的矩形可以忽略。
我的ALC892输出

我的ALC892输入


三、制作AppleALC.kext过程:
1、安装好Xcode:


2、下载AppleALC的源码:
在终端输入
git clone https://github.com/vit9696/AppleALC
如果有提示就点安装,就会自动安装git
再输入一遍上面的命令,下载AppleALC(楼主渣渣网速失败了一次~)


3、找到关键文件:
打开Finder,在偏好设置中显示自己用户文件夹



进入AppleALC/Resources/,里面有很多支持的声卡型号,找到自己的型号,然后把其他型号的文件夹删掉(只删声卡文件夹,文件别乱删),可以减小编译出来的kext的体积。然后进入你的声卡型号文件夹里面有一个info.plist和多个layoutX.xml.zlib和PlatformsX.xml.zlib文件(X是不同的layout-id),我的理解layout-id不是规定的,是自己定义的,但制作过程中必须保持一致(因为我换过很多layout-id都可以驱动,如果有错误请大家指正)。

4、zlib文件转换:
xml.zlib文件是不可编辑的,所以需要解压成xml文件来进行修改然后在压缩成xml.zlib。
打开zlib转换器


把xml.zlib文件拖到这个框框里按转换,在文件夹就会生成一个xml文件,我选择的是layout7.xml.zlib和PlatformsM.xml.zlib(layout-id1、2、3对应PlatformsT,5、7对应PlatformsM)。

5、layoutX.xml修改:
打开解压后的layoutX.xml(我的是layout7.xml)


其中:
CodecID就是Codec中的Vendor ID转成十进制;
PathMapID要记住,要与Platforms中的PathMapID一致。

6、修改PlatformsX.xml:
打开解压后的PlatformsX.xml(我的是PlatformsM.xml)


我layout7.xml中的PathMapID是7,所以保留PathMapID为7的项,另外两项删除掉,然后设置好节点再用zlib转换器压缩成.xml.zlib然后留下修改后的info.plist和layout7.xml.zlib、PlatformsM.xml.zlib(视个人情况),将多余的文件删除,不然可能出问题。




7、修改info.plist:
打开AppleALC/Resources/ALCxxx/info.plist

其中:
CodecID就是Codec中的Vendor ID转成十进制;
Layouts和Platforms项中只留下你选择的layout-id的项目,其他的删掉;
Path的值必须是你选择的layoutX.xml.zlibPlatformsX.xml.zlib

8、编译AppleALC:
打开AppleALC目录下的AppleALC.xcodeproj

Product-BuildFor-Running就可以编译,编译完成后点左边的文件夹图标,然后展开Products右击AppleALC-Show in Finder就可以拿到编译好的AppleaLC.kext了,放到/EFI/Clover/kext/other下就可以重启试试效果了~




四、附件-->用到的工具







五、我配置的神舟z7m声卡

附件: 你需要登录才可以下载或查看附件。没有帐号?注册
3

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
4638614
帖子
1642
PB币
1106
贡献
0
技术
14
活跃
3143
沙发
发表于 2016-6-8 23:18:04 IP属地广西 |只看该作者
大高玩,给力,太厉害了!

Rank: 7Rank: 7Rank: 7

UID
1430546
帖子
1557
PB币
588
贡献
0
技术
9
活跃
2320
板凳
发表于 2016-6-9 00:36:45 IP属地广东 |只看该作者
codec是在Ubuntu下提取嘛?还没搞过这个。。。

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
4F
发表于 2016-6-9 02:13:06 IP属地湖南 来自手机 |只看该作者
elisontz 发表于 2016-6-9 00:36
codec是在Ubuntu下提取嘛?还没搞过这个。。。

linux应该都一样的,我在ubuntu和centos提取的一模一样

Rank: 2Rank: 2

UID
4767605
帖子
156
PB币
0
贡献
0
技术
0
活跃
82
5F
发表于 2016-6-9 02:50:36 IP属地四川 |只看该作者
我在ubuntu和centos提取的一模一样

Rank: 5Rank: 5Rank: 5

UID
4589902
帖子
500
PB币
282
贡献
0
技术
0
活跃
437
6F
发表于 2016-6-9 06:31:36 IP属地法国 来自手机 |只看该作者
这帖子绝对会火起来   话说我在ubuntu下提取alc892 每次提取出来的都是hdmi 不是声卡codec   请问这个怎么搞   我把card0-3那个命令都试过了  只有card0会输出codec 但是打开一看是HDMI的codec  还望指教

Rank: 1

UID
4484145
帖子
44
PB币
24
贡献
0
技术
0
活跃
76
7F
发表于 2016-6-9 08:09:26 IP属地浙江 来自手机 |只看该作者
codec怎么提,不明白

Rank: 5Rank: 5Rank: 5

UID
4721920
帖子
425
PB币
879
贡献
0
技术
0
活跃
458
8F
发表于 2016-6-9 08:21:01 IP属地广西 |只看该作者
不知道这个可不可以作为仿冒IDT的参考,最近在学习仿冒声卡

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
9F
发表于 2016-6-9 08:31:55 IP属地广东 来自手机 |只看该作者
很好的冒仿声卡教程

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1612
PB币
256
贡献
0
技术
0
活跃
2408
10F
发表于 2016-6-9 08:37:55 IP属地广东 来自手机 |只看该作者
其实applealc对应声卡型号的文件夹info文件里还配置好了二进制补丁~
如果不是用applealc的话要自行在clover里patch  或者直接修改applehda。
另外applealc还patch了解决睡眠唤醒无声的代码~  总之applealc是黑苹果史上一大突破

Rank: 2Rank: 2

UID
4767983
帖子
233
PB币
8
贡献
0
技术
0
活跃
285
11F
发表于 2016-6-9 08:51:16 IP属地福建 |只看该作者
支持了!!!!!!!!!!!!!!!!!!

Rank: 7Rank: 7Rank: 7

UID
1430546
帖子
1557
PB币
588
贡献
0
技术
9
活跃
2320
12F
发表于 2016-6-9 10:47:38 IP属地广东 |只看该作者
楼主,为什么我的节点图里蓝色椭圆为Audio output的。。。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
13F
发表于 2016-6-9 10:51:21 IP属地湖南 |只看该作者
elisontz 发表于 2016-6-9 10:47
楼主,为什么我的节点图里蓝色椭圆为Audio output的。。。

以Codec为准咯,我这只是个方法推荐

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
14F
发表于 2016-6-9 18:38:54 IP属地湖南 来自手机 |只看该作者
我不要用户名 发表于 2016-6-9 08:37
其实applealc对应声卡型号的文件夹info文件里还配置好了二进制补丁~
如果不是用applealc的话要自行在clov ...

睡眠唤醒无声我的没用,只能将光数字改为耳机

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
15F
发表于 2016-6-9 20:36:04 IP属地湖南 |只看该作者
lisizhe1987 发表于 2016-6-9 06:31
这帖子绝对会火起来   话说我在ubuntu下提取alc892 每次提取出来的都是hdmi 不是声卡codec   请问这个怎么搞 ...

可以在UI界面找找看浏览一下内容再提取

Rank: 2Rank: 2

UID
1308887
帖子
481
PB币
486
贡献
0
技术
0
活跃
100
16F
发表于 2016-6-9 21:39:31 IP属地湖南 |只看该作者
感谢分享!

Rank: 2Rank: 2

UID
3676259
帖子
182
PB币
3
贡献
0
技术
4
活跃
276
17F
发表于 2016-6-9 21:42:28 IP属地广东 |只看该作者
感觉找到了良心教程!!马上试试

Rank: 2Rank: 2

UID
1812639
帖子
351
PB币
53
贡献
0
技术
2
活跃
909

8周年庆典勋章

18F
发表于 2016-6-10 01:32:25 IP属地广东 |只看该作者
这个确实挺不错的  简单易懂

Rank: 2Rank: 2

UID
4762602
帖子
269
PB币
114
贡献
0
技术
0
活跃
895
19F
发表于 2016-6-10 13:31:17 IP属地广东 |只看该作者
电平输入大小可有解决?

Rank: 2Rank: 2

UID
2398948
帖子
129
PB币
237
贡献
0
技术
0
活跃
305
20F
发表于 2016-6-10 19:07:54 IP属地湖南 来自手机 |只看该作者
chenyinji 发表于 2016-6-10 13:31
电平输入大小可有解决?

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