如果我修改/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
并调查文档,
切德自 0.9.11 起。使用基于系统计时器的模型(又称无故障)。默认为 1(启用)。如果您的硬件没有返回准确的计时信息(例如 Creative 声卡),您可以尝试设置 tsched=0 以启用 0.9.10 及之前版本中使用的基于中断的计时。
但是我有两台机器(不同的硬件),一台返回tsched=yes
,一台不返回。
默认值真的是 1(启用/是)吗?如果它没有出现在 pactl 中,有没有办法验证它是否真的启用了?什么(在硬件中)决定它是否真的启用了?
答案1
这里有一个很好的(技术)讨论:
http://www.alsa-project.org/~tiwai/lk2k/lk2k.html
什么是 Sequencer?
序列器的作用 =
在正确的时间(序列)将事件传递到正确的目的地(设备)。
因此,这与内核如何管理硬件(在本例中为声卡)有关。某些声卡(通常是 Intel 声卡)需要实时排序。
Arch Wiki 的页面PulseAudio/故障排除说:
PulseAudio 声音服务器的较新实现使用基于计时器的音频调度,而不是传统的中断驱动方法。
基于计时器的调度可能会暴露某些 ALSA 驱动程序中的问题。另一方面,其他驱动程序在未启用该调度时可能会出现故障,因此请检查您的系统上哪些功能可以正常工作。