Win10论坛

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

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

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

搜索
查看: 7970|回复: 103

[分享] [不会看Codec的朋友看看吧]神舟Z7m-i78172d1声卡驱动之路 [复制链接]

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-8 15:50:36 |显示全部楼层
本帖最后由 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: 5Rank: 5Rank: 5

UID
4638614
帖子
1029
PB币
270
贡献
0
技术
14
活跃
1483
发表于 2016-6-8 23:18:04 |显示全部楼层
大高玩,给力,太厉害了!

Rank: 7Rank: 7Rank: 7

UID
1430546
帖子
1490
PB币
679
贡献
0
技术
9
活跃
1594
发表于 2016-6-9 00:36:45 |显示全部楼层
codec是在Ubuntu下提取嘛?还没搞过这个。。。

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-9 02:13:06 来自手机 |显示全部楼层
elisontz 发表于 2016-6-9 00:36
codec是在Ubuntu下提取嘛?还没搞过这个。。。

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

Rank: 2Rank: 2

UID
4767605
帖子
156
PB币
0
贡献
0
技术
0
活跃
82
发表于 2016-6-9 02:50:36 |显示全部楼层
我在ubuntu和centos提取的一模一样

Rank: 5Rank: 5Rank: 5

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

Rank: 1

UID
4484145
帖子
44
PB币
24
贡献
0
技术
0
活跃
76
发表于 2016-6-9 08:09:26 来自手机 |显示全部楼层
codec怎么提,不明白

Rank: 5Rank: 5Rank: 5

UID
4721920
帖子
424
PB币
874
贡献
0
技术
0
活跃
446
发表于 2016-6-9 08:21:01 |显示全部楼层
不知道这个可不可以作为仿冒IDT的参考,最近在学习仿冒声卡

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1328
PB币
190
贡献
0
技术
0
活跃
1296
发表于 2016-6-9 08:31:55 来自手机 |显示全部楼层
很好的冒仿声卡教程

作死党

Rank: 7Rank: 7Rank: 7

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

Rank: 2Rank: 2

UID
4767983
帖子
212
PB币
16
贡献
0
技术
0
活跃
169
发表于 2016-6-9 08:51:16 |显示全部楼层
支持了!!!!!!!!!!!!!!!!!!

Rank: 7Rank: 7Rank: 7

UID
1430546
帖子
1490
PB币
679
贡献
0
技术
9
活跃
1594
发表于 2016-6-9 10:47:38 |显示全部楼层
楼主,为什么我的节点图里蓝色椭圆为Audio output的。。。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-9 10:51:21 |显示全部楼层
elisontz 发表于 2016-6-9 10:47
楼主,为什么我的节点图里蓝色椭圆为Audio output的。。。

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

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-9 18:38:54 来自手机 |显示全部楼层
我不要用户名 发表于 2016-6-9 08:37
其实applealc对应声卡型号的文件夹info文件里还配置好了二进制补丁~
如果不是用applealc的话要自行在clov ...

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

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-9 20:36:04 |显示全部楼层
lisizhe1987 发表于 2016-6-9 06:31
这帖子绝对会火起来   话说我在ubuntu下提取alc892 每次提取出来的都是hdmi 不是声卡codec   请问这个怎么搞 ...

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

Rank: 2Rank: 2

UID
1308887
帖子
427
PB币
263
贡献
0
技术
0
活跃
81
发表于 2016-6-9 21:39:31 |显示全部楼层
感谢分享!

Rank: 2Rank: 2

UID
3676259
帖子
180
PB币
2
贡献
0
技术
4
活跃
258
发表于 2016-6-9 21:42:28 |显示全部楼层
感觉找到了良心教程!!马上试试

Rank: 2Rank: 2

UID
1812639
帖子
328
PB币
0
贡献
0
技术
2
活跃
858

8周年庆典勋章

发表于 2016-6-10 01:32:25 |显示全部楼层
这个确实挺不错的  简单易懂

Rank: 2Rank: 2

UID
4762602
帖子
160
PB币
69
贡献
0
技术
0
活跃
555
发表于 2016-6-10 13:31:17 |显示全部楼层
电平输入大小可有解决?

Rank: 2Rank: 2

UID
2398948
帖子
125
PB币
36
贡献
0
技术
0
活跃
258
发表于 2016-6-10 19:07:54 来自手机 |显示全部楼层
chenyinji 发表于 2016-6-10 13:31
电平输入大小可有解决?

我的mic很正常
关闭

站长推荐

已经开启实名认证了哟
这里可以进行实名操作:点我点我点我
回顶部
Copyright (C) 2005-2019 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件