Ubuntu 的下一个版本 将采用PipeWire声音服务器

Ubuntu 的下一个版本,22.10 版,代 为 Kinetic Kudu,将音频服务器切换到相对较新的 PipeWire。

目前,大多数版本的 Ubuntu 都使用 PulseAudio 服务器,它在该公司的第二个 LTS 版本 8.04 Hardy Heron 中采用。(Ubuntu Studio版本使用JACK。)Fedora 8 也切换到 PulseAudio。在 PulseAudio 成为标准之前,许多发行版使用 ESD,即 Enlightened Sound Daemon,它来自Enlightenment项目,以其桌面而闻名。

PulseAudio在 2004 年发布了 1.0 版,目前是 15 版。PulseAudio 的主要开发人员之一是 Lennart Poettering,他现在最为人所知的是著名且有争议的 systemd 的项目负责人,因此认为他忙于这些其他事情也许是合理的天。

PipeWire还处理视频流,因此它比传出的 PulseAudio 做得更多,正如它的名字所暗示的那样,它只处理音频。为了解释这种变化意味着什么,让我们澄清一下音频服务器是什么以及做什么。

Linux 中的声音播放软件系统是一个堆栈,和 络堆栈一样,它有多个层来做不同的事情。底部是声音驱动,与 Linux 内核紧密相连。在它们之上是一个声音服务器,在它之上,你的应用程序正在播放声音。

因此,例如,如果您希望在听音乐时能够听到新消息通知,那么让声音服务器管理您的声音设备是一件好事。声音服务器管理输入,并且可以使音乐播放器静音(或者更好的是淡出),淡入通知源,然后再次淡入音乐播放器。

如果您将耳机插入普通的耳机插孔,那是由您的板载声卡驱动的,或者可能由扩展槽中更好的声卡驱动。但是,如果您使用 USB 耳机,这实际上是一个单独的声卡,通过 USB 而不是 PCI 连接,因此声音子系统必须在连接或移除声音设备时管理它们的来来往往 – 或者如果您不删除它,管理首选当前设备之间的切换。这是一项复杂的工作。

声音服务器位于驱动计算机中的声卡或芯片的层之上。

最初的 Linux 声音系统(如底层硬件驱动程序)是 Open Sound System,也称为OpenSound或简称 OSS。OpenSound 是一个跨平台工具,也可以在其他操作系统上运行,例如 FreeBSD 和 OpenSolaris。OpenSound 被广泛采用和繁荣,以至于它的程序员被一家商业公司 4Front 聘用,该公司后来被 NCR 收购。

随后,包括 Ubuntu 在内的许多发行版都移除并转而使用ALSA。ALSA 还支持 OpenSound API,所以一切仍然有效。ALSA 本身在2.5.5版本中被纳入 Linux 内核,从内核 2.6 开始,它取代了 OpenSound。

PulseAudio也是跨平台的,是一个FreeDesktop.org项目。在 Linux 上,它位于 ALSA 之上。

PulseAudio在当时也引起了争议,但公平地说 Linux 音频是一团糟。PulseAudio 确实有效,它解决了许多问题,但它可能会产生高延迟,并且会占用大量 CPU。一些音频专业人士青睐名为JACK的竞争对手音频服务器,它提供低延迟的声音处理。事实上,JACK 的开发推动了减少内核 2.6 中音频延迟的工作。

计划是 PipeWire 将进一步简化 Linux 上的媒体处理。它不仅仅是一个声音服务器,它还处理视频。项目负责人 Wim Taymans 早在 1999 年就是GStreamer框架的联合创始人之一。虽然它很新,目前只有0.3版,但 PipeWire 旨在取代 PulseAudio和JACK。与 ALSA 支持 OSS 接口的方式类似,因此您可以保持现有代码正常工作,现在 PipeWire 支持 JACK 接口,因此,至少在理论上,使用 JACK 的人可以保留相同的软件,并且仍然可以使用 PipeWire。

PipeWire 还旨在与 GNOME、Wayland 显示服务器和 Flatpak 应用程序一起使用,同时使用更少的 CPU 并提供比 PulseAudio 更好的延迟,因此它也可以取代 JACK。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月12日
下一篇 2022年4月12日

相关推荐