this post was submitted on 15 Oct 2023
216 points (99.5% liked)

Linux

48002 readers
944 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

PipeWire 0.3.81 (2023-10-06) This is the first 1.0 release candidate that is API and ABI compatible with previous 0.3.x releases.

Highlights

  • jackdbus support is now enabled by default.
  • IRQ based scheduling in ALSA was improved and enabled by default for Pro-Audio profile. It will also link the pcms together to get lower latency. This now matches what JACK does and results in equal latency for Pro-Audio profiles.
  • Support both old and new versions of webrtc-audio-processing to make the transition easier.
  • Forced quantum changes by nodes or metadata will now also force a suspend and resume of the graph, like the rate changes to make sure all nodes adapt to the new quantum. This is important for Pro-Audio nodes that need to reconfigure the hardware to a new period in IRQ based scheduling.
  • Fix a regression in regex parsing.
  • Many bugfixes and improvements.

PipeWire

  • Jackdbus is by default enabled now. The idea is that when jackdbus is installed, the real libjack.so is in the path and we can become a real JACK client.
  • Forces quantum changes by nodes or metadata will now also force a suspend and resume in the graph, like the rate changes to make sure all nodes adapt to the new quantum. This is important for Pro-Audio nodes that need to reconfigure the hardware to a new period.
  • The stream now has an EARLY_PROCESS option that can be used to implement custom buffer fill levels. (#3480)
  • Fix a regression in regex parsing. (#3528)
  • Fix a bug in position reporting in the driver node. (#3189) (#3544)
  • Destroying a link will now recalculate the graph correctly.
  • Fix the rate comparison for finding the best rate in the graph.
  • Use malloc_trim() when available to release memory. (#1840)

Tools

  • pw-cat now supports DFF DSD files.
  • pw-cli avoid some NULL derefs in some cases.

Modules

  • The RAOP sink has seen some cleanups and improvements. It will now ask for feedback every 2 seconds to keep some devices alive.
  • A bug in filter-chain was fixed where it would fail to apply the gain when mixing just one source.
  • The filter-chain can now pass the stream volume to a control in the filter-chain graph. (#3434)
  • Improve volume handling in RAOP sink.

Pulse-server

  • Some cleanup in the pending_stream handling.
  • Fix a regression in the event emission code where it failed to emit a changed event when a node was linked. (#3522)
  • Lower the realtime priority of pulseaudio clients.
  • Set pulse.module.id on the echo-cancel streams. (#3541)

SPA

  • Support both old and new versions of webrtc-audio-processing to make the transition easier.
  • The ALSA driver now does the sync of all followers directly from the wakeup event. This results in more stable rate matching.
  • IRQ based scheduling in ALSA was improved and enabled by default for Pro-Audio profile. It will also link the pcms together to get lower latency. This now matches what JACK does and gives equal latency for Pro-Audio profiles.
  • GNU/Hurd support was added.
  • Some improvements to passthrough handling.

Bluetooth

  • Improvements to the codec handling when PipeWire is used as Audio Gateway.
  • Adapt to new Bluez API for BAP devices.

JACK

  • When the jack library is set in the default library path, avoid using LD_LIBRARY_PATH because this can cause confusion.
  • Handle clearing the latency on a port.
  • jack_property now always manages to actually change the metadata because it waits for a roundtrip before exiting.
top 18 comments
sorted by: hot top controversial new old
[–] nx2@feddit.de 51 points 1 year ago (1 children)

These guys do the real work rarely appreciated

[–] Contend6248@feddit.de 1 points 1 year ago

True, what a blessing.

[–] OneRedFox@beehaw.org 19 points 1 year ago

I've been using PipeWire for a couple years now and it's honestly the most painless audio experience I've ever had on Linux. Looking forward to the 1.0 release!

[–] avidamoeba@lemmy.ca 5 points 1 year ago (1 children)

Anyone know when it'll become the default audio server in Ubuntu?

[–] AProfessional@lemmy.world 13 points 1 year ago (1 children)

I’m not certain but I believe it has been the default in 22.10 and newer.

[–] umbrella@lemmy.ml 7 points 1 year ago (1 children)
[–] avidamoeba@lemmy.ca 1 points 1 year ago

Exciting. So I'll see it in 24.04 LTS on my end.

[–] perishthethought@lemm.ee 4 points 1 year ago (6 children)

I get the sense this is a tool used by developers, not end users. Is that right?

[–] cjf@feddit.uk 44 points 1 year ago (1 children)

It’ll be used by a lot of Linux distributions.

It’s a drop-in replacement to the Pulseaudio and JACK audio systems, with the hopes of making audio handling decent within Linux with as low latency as they can.

[–] SubArcticTundra@lemmy.ml 2 points 1 year ago (3 children)

Why is Pulse being replaced? I can't think of anything it was missing

[–] skullgiver@popplesburger.hilciferous.nl 23 points 1 year ago* (last edited 11 months ago)

[This comment has been deleted by an automated system]

[–] cjf@feddit.uk 9 points 1 year ago

Pulseaudio has been replaced by PipeWire for quite some time in fedora. Since Fedora 34, released in April 2021, apparently.

According to the wiki page, PipeWire originally came about trying to improve video handling on Linux, the same way that pulseaudio improved audio handling.

They then wanted to try and handle audio streams, with the idea of converging use cases for both consumer and professional audio users. Namely, they wanted a single audio system that supported both pulseaudio and JACK, whilst remaining as low latency as possible.

On top of this, because it was a modern reimplementation of audio and video handling in Linux, they designed it to work with Flatpak, and to provide secure methods for screenshotting and screencasting in wayland via the compositors.

(All my info here I just took from the wiki)

[–] CeeBee@lemmy.world 5 points 1 year ago

It's not so much anything missing, but more of a complete rewrite of the audio stack to create a more stable system with as low latency as possible. Both of which were needed.

[–] WavingSmug@kbin.social 24 points 1 year ago

It's a replacement for pulseaudio.

[–] atomkarinca@lemmygrad.ml 10 points 1 year ago

it is the equivelant of the dude's rug, it ties the room together. the end user doesn't even recognize that change. it brings all programs that work with different sound servers (alsa, pulseaudio, jack) under the same umbrella.

[–] taanegl@beehaw.org 4 points 1 year ago

Been using it now since it hit Fedora Silverblue as an option. This is very "it works on my machine", but I've rarely had any problems with it - like even in Jack2 bridge mode. Recently I've noticed nothing. It's just there, working in the background, doing what it's supposed to do.

To clarify, it was on my workstation laptop that I also use for leisure.

[–] Maoo@hexbear.net 2 points 1 year ago

It's the audio framework behind most modern Linux systems nowadays. It performs much better than previous ones and provides greater consistency and expectations for end users. Basically... if you've ever been frustrated by audio configuration on Linux, this project is probably working on fixing it.

[–] Contend6248@feddit.de -2 points 1 year ago

Because you don't understand the changelog?

There are plenty of distros who will take care of you.