对于pulseaudio,tsched会做什么(默认设置是什么)?


9

如果我修改/etc/pulse/default.pa并更改此行:

load-module module-udev-detect

至:

load-module module-udev-detect tsched=0

我显然正在禁用tsched。同样,如果我将行更改为

load-module module-udev-detect tsched=yes

我正在启用tsched。两者都可以通过运行进行验证,

pactl list | grep tsched

并研究文档

tsched从0.9.11开始。使用基于系统计时器的模型(也称为无故障)。默认为1(启用)。如果您的硬件未返回准确的时序信息(例如Creative声卡),则可以尝试将tsched = 0设置为启用0.9.10及更高版本中使用的基于中断的时序。

但是我有两台机器(不同的硬件),一台返回tsched=yes,一台不返回。

默认值是否真的为1(启用/是)?如果没有在pactl中显示它,是否有办法验证它是否已真正启用?(在硬件中)由什么决定是否真的启用了它?

Answers:


7

这里有一个很好的(技术性)讨论:

http://www.alsa-project.org/~tiwai/lk2k/lk2k.html

什么是音序器?

定序器的作用=
在正确的时间(序列)将事件传送到正确的目的地(设备)。

因此,这与内核管理硬件(在本例中为声卡)的方式有关。一些声卡(通常是Intel声卡)需要实时缩放。

PulseAudio /故障排除的Arch Wiki页面上说:

PulseAudio声音服务器的较新实现使用基于计时器的音频调度,而不是传统的中断驱动方法。

基于计时器的计划可能会暴露某些ALSA驱动程序中的问题。另一方面,其他驱动程序可能会在不启用该功能的情况下出现故障,因此请检查一下是否可以在您的系统上使用。


嗯,Takasi岩井俊二的页面得到了删除,但它通过Web归档是可见:web.archive.org/web/20180913155640/www.alsa-project.org/~tiwai/...
pevik
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.