PipeWire 1.0 wydane: Linux otwiera się na Bluetooth LC3

Acer Swift 3 z Fedora Linux 37 KDE Plasma spin
Acer Swift 3 z Fedora Linux 37 KDE Plasma spin

No i po wielu latach wydano pełną wersję PipeWire oznaczoną jako 1.0. Nowości wcale nie ma tak dużo, ale wprowadzono pewien standard Bluetooth.

PipeWire to otwartoźródłowy projekt, który ma na celu ułatwienie obsługi strumieni dźwięku i obrazu na systemach operacyjnych opartych na jądrze Linux. Można go porównać do narzędzi takich jak JACK (Jack Audio Connection Kit) i PulseAudio, które zarządzają dźwiękiem na tych systemach.

PipeWire wyróżnia się jednolitym zarządzaniem dźwiękiem i obrazem, kompatybilnością z PulseAudio, niskimi opóźnieniami i integracją z, między innymi, Waylandem. Moja przesiadka na PipeWire była ogromnym skokiem zadowolenia z Linuksa. Zaraz obok Waylanda, był to element, który znacznie wpłynął na to jak dobrze mi się korzysta z komputera. Otóż z PipeWire o wiele lepiej współpracują słuchawki Bluetooth. Nagle (bo po przesiadce z PulseAudio) te zaczęły działać normalnie, bezproblemowo, a do tego uzyskałem dostęp do wielu kodeków, w tym AAC czy LDAC. PipeWire też znacznie ułatwia udostępnianie ekranu dzięki jednolitemu interfejsowi.

Dostępne kodeki w systemie Fedora Linux z PipeWire
Dostępne kodeki w systemie Fedora Linux z PipeWire

PipeWire 1.0

No i właśnie wydano okrągłą wersję – PipeWire 1.0.0 El Presidente. Co wprowadzono? Wymieniamy niektóre nowości.

  • Naprawa wycieku pamięci memfd/dmabuf podczas przesyłania buforów podczas zamykania.
  • Obsługa równoczesnych wywołań jack_port_get_buffer()
  • Poprawa raportowania czasu (mniej jittera) w ALSA podczas korzystania z IRQ.
  • Wiele poprawek dokumentacji.
  • Usunięcie ostrzeżenia, gdy klient próbuje zmienić zignorowane właściwości.
  • Naprawa wycieku pamięci memfd/dmabuf podczas przesyłania buforów podczas zamykania.
  • Naprawa potencjalnego segfaulta podczas kopiowania struktur mieszania.
  • Naprawa wycieku pamięci w filter-chain.
  • Ustawianie rtp.ptime na nadawcach, a nie odbiornikach.
  • Moduły ROC zostały przeniesione do wersji ROC 0.3.
  • Dodanie zapytania o parametr opóźnienia w libcamera.
  • Naprawa kilku ostrzeżeń kompilatora.
  • Zaktualizowano wtyczkę EVL.
  • Bluetooth LC3 z kolejnymi udoskonaleniami
  • Naprawa emisji zdarzeń, gdy zmienia się stan źródła/drenu.
  • Unikaj enumeracji parametrów portu, których nie zamierzamy używać.
  • Optymalizacja ponownego użycia bufora.
  • Dodanie stron podręcznika dla pw-dump, pw-loopback, modułów, pipewire-pulse.
  • Strony podręcznika są teraz tworzone za pomocą Doxygen.
  • Dodanie dokumentacji dla pulse-modules.

Wśród nowości wyróżniłem poprawki dla Bluetooth LC3. Co to takiego? To niedawno wprowadzony standard przesyłu strumieniowego audio właśnie poprzez Bluetooth. Kodek Bluetooth LC3 (Low Complexity Communication Codec) kompresuje audio na bieżąco, ale stara się zachować w miarę dobrą jakość. To pozwala na przesłanie dobrze brzmiący dźwięk z użyciem niskiej przepustowości i z niższym zużyciem energii. Bluetooth LC3 ma brzmieć lepiej od standardowego kodeka SBC i to przy wykorzystaniu niższego bitrate’u.

LC3 to więc mała rewolucja, zwłaszcza dla osób korzystających, między innymi, z aparatów słuchowych. Nowość jest też świetna w kontekście słuchawek TWS, głównie dzięki opcji wykorzystania wielu synchronicznych połączeń.

Źródło: Pipewire Gitlab

Chcesz być na bieżąco? Śledź ROOTBLOG w Google News!