我最近为我的旧笔记本电脑买了一个新硬盘,并在新硬盘上安装了 ubuntu。从新硬盘运行 ubuntu 时,我遇到了一些实时音频问题,而上次安装时在相同的硬件上没有遇到过这些问题。具体来说,大约一分钟后,我每隔大约 3.030 秒就会出现一次常规 xrun。考虑到我在另一个硬盘上安装了另一个可以完美运行的软件,我确信这不是我的硬件的限制,而是软件/配置的问题。但是,我有点不知道在哪里可以找到差异。
我已连接一个控制器(Novation Launchpad Mini MK3),用于与 Bitwig Studio 3.1.3 交互。有时(但不可靠),如果我避免按下控制器上的任何按键,则几乎不会出现 xrun。但是,这并不可靠,如果我停止按下控制器上的按键,xrun 的常规破解会继续大约 30 秒(大约 10 次破解)。
以较低的 CPU 频率运行(例如使用电池供电)会使情况变得更糟。
这两种行为在旧系统上都不会发生。
声卡列表如下
$ lspci | grep Audio
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
我验证了两个系统上的内容相同: -/usr/share/alsa/
和内容 -/usr/share/alsa-base/
和内容 -/usr/share/jackd/
和内容 -/usr/share/pulseaudio/
和内容 两个系统上的我的主目录中都没有本地 alsa 配置。
我使用 QJackCtl 启动 jack(并监控 xruns)。我的设置是 - 采样率:44100 - 帧/周期:256 - 周期/缓冲区:2 我在两个系统上都勾选了“实时”,但是,旧系统以默认优先级运行,结果如下.jackdrc
:
/usr/bin/jackd -dalsa -dhw:PCH -r44100 -p256 -n2
通过这些设置,我在新系统上进行了许多 xrun,因此我尝试将优先级提高到 80(我当前的限制/etc/security/limits.conf
),结果如下.jackdrc
:
/usr/bin/jackd -P80 -dalsa -dhw:PCH -r44100 -p256 -n2
我在新系统上尝试了这些设置,将帧数提高到 2048/周期,采样率提高到 192k,但问题仍然存在,xruns 仍然每 3.030 秒非常有规律地出现一次。
值得注意的是,旧系统使用通用内核:
$ uname -a
Linux riemann 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
而新系统采用低延迟内核:
$ uname -a
Linux laplace 5.3.0-40-lowlatency #32~18.04.1-Ubuntu SMP PREEMPT Mon Feb 3 14:53:06 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
我注意到这些是不同的。当我将新系统降级到 4.15.0-50-generic 内核时,它找不到大多数(内置)硬件、wifi 适配器、声卡……鉴于内核团队不再支持 4.15 内核的更新,我并不急于降级或手动解决驱动程序问题。
我非常困惑,不知道还能去哪里找。我觉得连续 xrun 之间的非常规律的间隔可能包含一些信息,但我似乎看不出它会告诉我什么。
编辑:我最终通过切换到 lubuntu 解决了这个问题。较低的开销(可能还有较少的后台进程)似乎解决了这个问题。
答案1
我其实也有类似的经历。我刚刚从 Ubuntu Studio 19.04 Disco 升级到 19.10 Ermine。
使用 19.04 时我没有xruns
使用 Guitarix + Jack(使用QJackCtl
),现在使用完全相同的配置,每 2 秒左右就会QJackCtl
出现一次。xruns
到目前为止我能想到的唯一显著区别是内核版本的提升:
19.04 was using 5.**0**.X-X-lowlatency
19.10 is using 5.**3**.0-X-lowlatency
我在 openSUSE 上也遇到过类似的问题,但是它的内核延迟不低,而且目前的内核版本是 5.5.X,不过我之前xruns
也遇到过类似的问题,当时使用的是其他 5 版内核。很可能是 5.3.X。
编辑:
好的。所以我的确切内核版本是:
5.0.0-20-lowlatency
5.3.0-45-lowlatency
但启动到 5.0.0-20 没有帮助,所以现在一般来说还有其他原因导致了这个问题。这可能是 openSUSE Tumbleweed 和 Ubuntu Studio 19.10 中的相同根本原因。
Ubuntu Studio 19.04 似乎没有问题。
EDIT2:你也可以尝试Ubuntu Studio 控件应用程序。将 CPU 调节器设置为“性能”后,问题有所缓解。我还从窗口管理器调整中禁用了合成。