IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> dump-coeff -> 正文阅读

[系统运维]dump-coeff

dump-coeff.sh
在 macOS 中转储 HDA 编解码器节点的处理功能,使用 AppleALC 的 .alc-verb

在 AppleALC 中正常设置引脚配置(这是一个单独的问题)。但是,某些系统上的某些卡还需要设置供应商特定的处理上限值。此脚本有助于识别这些附加值。ConfigData

问题
也:

a)您在AppleALC中找到了一个布局,它使声音看起来好像在工作(所有滑块等都存在),但没有声音。同一张卡在 Linux 中具有工作声音。

艺术

b) 在 macOS 和 Linux 的干净启动中,您有声音,但在 Windows 中使用 Realtek 声音驱动程序后,声音不再在 macOS 或 Linux 中播放。同样,滑块存在,声音看起来正在工作,但没有声音。

解决方案
通常,这是因为未设置(问题 a.)或设置了特定于供应商的节点上的某些处理功能,但随后由适用于 Windows 的 Realtek 声音驱动程序(问题 b.)再次主动清除(在 sutdown 上)。

诀窍是能够比较工作声音和非工作声音之间的处理上限值。

对于问题a.,您需要在Linux中转储参数(带声音)和在macOS中转储参数(无声音)。

对于问题b.您需要在Windows之后的冷启动到macOS(即有声音)和在Windows之后的热启动到macOS(即没有声音)时转储参数。(在 Linux 中进行初始转储仍然很有用,以获取正确的值,请参见下文。ncoeff

Linux 参数转储
注意:如果您已经有完整安装,则可以从完整安装中完成,也可以从Linux live USB完成。

首先执行以下命令,该命令会将处理上限转储添加到 Linux 编解码器转储中,并在当前引导期间持续:

echo 1 | sudo tee /sys/module/snd_hda_codec/parameters/dump_coef
然后使用以下命令转储 Linux 编解码器:

cat /proc/asound/card0/codec#0
您可能需要更改卡或编解码器编号。

在转储中搜索"处理上限" - 通常只有一个节点具有这些上限。对于具有处理上限的每个节点,将有一个值。ncoeff

macOS 参数转储
使用此存储库中的脚本。dump-coeff.sh

device-index:通常为 0,但您可能需要更改此值才能访问正确的编解码器。
node-id:在 Linux 编解码器转储中看到的相同节点 ID 值。
count:这应该是在 Linux 编解码器转储中看到的值。ncoeff
该脚本将在 macOS 中以类似于 Linux 编解码器转储的格式转储处理上限值:应适用于 ,在从 Linux 编解码器转储中仅提取相关行后。diff

窗口参数转储
来自hla63的信息:"华硕博客上的RtHDDump(Windows应用程序)"可用于将这些值转储到Windows上。

现在怎么办?
现在,您可以看到哪些处理上限不同。你可能会发现说10或11个值不同。在这一点上,需要一些猜测和常识,以便弄清楚哪些值是重要的 - 通常你只需要改变1或2个值来获得声音,所以你需要实验来找到哪些值是重要的。

假设节点0x20,处理上限0x37 0x0101有声音,而0x0100没有声音。然后,要设置所需的值,您需要执行以下操作:

alc-verb 0x20 0x5 0x37(将处理系数指数设置为接下来读/写)

alc-verb 0x20 0x4 0x0101(设置处理系数的值)

在上述命令之后,编解码器现在将准备好写入(或读取)下一个大写字母(0x38),因此为了测试写入是否有效,我们需要:

alc-verb 0x20 0x5 0x37(将处理系数指数设置为接下来读/写)

alc-verb 0x20 0xC 0x0(读取值处理系数的值)

如何使更改永久生效?
希望经过一些上面的游戏后,你会得到声音。现在,您希望使更改永久生效。这需要打包动词并将它们添加到AppleALC中的布局中。ConfigData

以0x7或0xF开头的动词是3位(12位)动词,例如0x705,0xF05。其他动词是 1 位(4 位)动词。原生 macOS 和原生 Intel HDA 惯例是将 4 位谓词写为单个数字,例如,0x4,0xC;但是Linux惯例是将它们写成三位数字,始终以0作为第2和第3位数字,例如,0x400,0xC00。

12 位谓词的包装如下:

0x0nnvvvdd
4 位谓词的包装如下:

0x0nnvdddd
其中 nn 是节点 ID;v 或 vvv 是动词;dddd 或 dd 是数据。(打包版本始终完全相同,无论用于编写扩展动词的约定如何。

例如:

alc-verb 0x20 0x5 0x37
alc-verb 0x20 0x4 0x0101
包装到:

0x02050037
0x02040101
处理上限设置始终成对出现,如上例所示。第一个动词是SET_COEF_INDEX(又名0x5,0x500),并在节点上设置处理系数,该系数将由下一个命令读取或写入。第二个动词是SET_PROC_COEF(又名0x4,0x400),它实际上设置了值。

找到使用 手动启用声音的最小动词后,您可以打包它们并将其添加到AppleALC中动词数据的末尾,以用于声卡和布局。alc-verbConfigData

要尝试此操作,您可以直接在 EFI 驱动器上进行编辑。确保标识并编辑您正在使用的编解码器 ID 和布局 ID 的条目。应将任何新值添加到现有 ./EFI/OC/Kexts/AppleALC.kext/Contents/Info.plistConfigData

AppleALC PR?
如果您在Realtek Windows驱动程序之后修复了声音(并且您已经确定了需要更改的最小处理coefs数量),那么将更改作为PR提交给AppleALC可能是一个好主意,因为它可能会为其他用户解决相同的问题。您应始终与原始布局作者核实他们对更改是否满意。

关于语法的说明alc-verb
alc-verb 0x20 0x4 0x0101也可以作为 或 运行 (即 接受 Apple/Intel 语法或 Linux 语法动词)。alc-verb 0x20 0x400 0x0101alc-verb 0x20 SET_PROC_COEF 0x0101alc-verb

在 Linux 上(使用而不是 )后两个版本有效,但第一个版本不起作用(即 只接受 Linux 语法动词)。hda-verbalc-verbhda-verb

从AppleALC版本1.6.9开始使用,所有三个版本都可以正常工作。在版本 1.6.9 之前使用 AppleALC,只有第一个版本可以正常工作。alc-verbalc-verb

学分
Acidanthera for AppleALC
hla63 for Windows dump information
用于原创研究的 narcyzzo
用于编写脚本和说明的 mikebeaton

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:59:52  更:2022-03-08 23:01:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:42:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码