Community-driven coverage of elementary OS — news, guides & forums
Dark abstract low-poly geometric landscape with layered triangular facets in deep navy, charcoal, and muted teal, illuminated by a soft electric-blue glow near the horizon

News roundups, tutorials, application guides, and forums — built by users, for users of the elegant Linux distribution.

elementary weekly
#20
Latest roundup · 18 Apr 2015
Freya Release
Final
Covered in weekly #19 & #20
Forum Topics
Active
Installation, customization & more

elementary OS sound settings: PulseAudio and PipeWire explained

elementary OS arrives with a curated desktop experience built on top of Ubuntu, and audio handling sits behind the scenes as part of that polish. For most users, sound simply works: speakers play music, headphones switch over when plugged in, and the microphone picks up voice in calls. Underneath that smooth surface, however, lies a choice of sound servers that can change how the operating system manages audio streams, latency, and compatibility with modern hardware.

This guide walks through the audio stack available on elementary OS, from the traditional PulseAudio setup that has shipped for years to the newer PipeWire alternative that promises lower latency and better Bluetooth handling. Along the way, it covers configuration files, practical installation steps, and troubleshooting tips shaped by the realities of Australian computing, where users often balance work calls in Melbourne or Brisbane with evening gaming sessions and music streaming over the NBN.

How elementary OS manages audio

The Pantheon desktop environment relies on a layered audio architecture similar to other Linux distributions, but with its own configuration paths and defaults. When an application produces sound, the data travels from the application through a sound server, then to the kernel's ALSA (Advanced Linux Sound Architecture) drivers, and finally to the hardware. The sound server is the piece that decides which application gets priority, routes audio between outputs, and handles format conversion between different sources.

elementary OS uses PulseAudio as its default sound server, a choice inherited from its Ubuntu base. PulseAudio sits between applications and ALSA, offering features like per-application volume control, network audio streaming, and hot-swapping between speakers and headphones. The Settings panel in elementary OS exposes basic controls, but most advanced configuration happens through tools like pavucontrol or by editing configuration files under ~/.config/pulse/.

For most daily tasks such as video conferencing, web browsing, or watching videos, this stack performs reliably. The trade-offs become visible when users push the system harder with professional audio work, low-latency gaming, or complex Bluetooth headset setups.

PulseAudio as the familiar default

PulseAudio has been part of the Linux audio landscape for nearly two decades, and its maturity is one of its strongest selling points. On elementary OS, it integrates smoothly with the switchboard (the system's settings interface) and handles the routine audio needs of most users without complaint. Volume keys on keyboards work out of the box, USB headsets are recognised within seconds of being plugged in, and the microphone toggle in the system tray behaves as expected.

Advanced users can drop into the command line and adjust settings using pacmd or pactl, inspect active streams with pacmd list-sinks, or modify the default sample rate by editing daemon.conf. These capabilities make PulseAudio flexible enough for scenarios ranging from running a home recording studio to managing audio in a café. Australian users who rely on apps like Zoom or Microsoft Teams for remote work often find that PulseAudio handles these programs reliably, with predictable behaviour when switching between a USB headset and laptop speakers during a long shift.

The main limitation of PulseAudio relates to latency and to its handling of certain Bluetooth codecs. For users who stream high-bitrate audio or use Bluetooth headphones that support the LDAC or aptX HD codecs, PulseAudio can introduce delays or fall back to lower-quality transmission. These issues have driven interest in alternatives.

Comparing PulseAudio and PipeWire

Feature PulseAudio PipeWire
Default on elementary OS Yes No, manual install
Bluetooth codec support SBC, basic AAC LDAC, aptX, AAC, LC3
Typical latency Higher Lower
Compatibility layer Native pipewire-pulse
Session manager PulseAudio own WirePlumber
Professional audio (JACK) Separate server Unified replacement
Maturity Very stable Rapidly maturing
Configuration tools pavucontrol, pacmd wpctl, pw-cli

The comparison makes clear that PipeWire offers tangible benefits for specific use cases, particularly Bluetooth audio quality and latency-sensitive applications. PulseAudio remains the safer choice for users who prioritise stability over new features, or who rely on niche applications that have not yet been tested against the PipeWire compatibility layer.

Why users consider PipeWire

PipeWire entered the Linux ecosystem as a project designed to address PulseAudio's shortcomings while also replacing JACK, the traditional low-latency audio server used by musicians and audio engineers. By offering a unified sound server that handles both consumer audio and professional low-latency workflows, PipeWire aims to simplify the audio stack for everyone from podcasters to film editors.

For elementary OS users, the appeal lies in several specific improvements. PipeWire offers better Bluetooth support, including more reliable handling of modern codecs and faster reconnection when waking from sleep. Latency tends to be lower, which matters for anyone playing rhythm games, using virtual instruments, or participating in video calls where audio sync feels off. The project also handles screen sharing and video capture more gracefully, which benefits streamers and content creators.

Australian gamers, in particular, have noted the difference when experimenting with gaming setups on Linux. Lower audio latency translates to tighter response times in competitive titles, and better microphone handling reduces the echo problems that sometimes plague Discord sessions after a long arvo of gaming with mates in Perth or Adelaide.

Installing PipeWire on elementary OS

Switching from PulseAudio to PipeWire on elementary OS requires a few manual steps, since the distribution does not yet offer PipeWire as a one-click option in the AppCenter. The process involves installing the PipeWire packages, ensuring the user session is configured to start the new server, and removing or disabling the PulseAudio components that would otherwise conflict.

The typical approach begins with adding the PipeWire packages from the Ubuntu repositories. Users open a terminal and run sudo apt install pipewire pipewire-pulse pipewire-bin wireplumber. The pipewire-pulse package provides a compatibility layer so applications expecting PulseAudio still work without modification. WirePlumber serves as the session manager, replacing the PulseAudio session logic and handling device routing.

After installation, users disable the PulseAudio service and enable the PipeWire service with systemctl --user disable pulseaudio.service pulseaudio.socket followed by systemctl --user enable pipewire-pulse.service pipewire-pulse.socket. A logout and login completes the transition. For those who prefer not to remove PulseAudio entirely, the two can coexist temporarily, but conflicts may appear if both attempt to manage the same audio device.

It is worth backing up the contents of ~/.config/pulse/ before making the switch, so the original configuration can be restored if something goes wrong. Australian users who rely on stable audio for remote work should test their conferencing software thoroughly before committing to the change.

Australian audio use cases and practical tips

Working from a home office in Sydney or sharing a flat in Brisbane shapes how Australians configure their elementary OS audio. Many remote workers use USB headsets for daily standups and switch to external speakers for casual music during breaks. PulseAudio handles this switching reliably, but PipeWire tends to do it faster, especially when Bluetooth headsets are involved.

Gamers running native Linux titles or using compatibility layers benefit from PipeWire's lower latency, though the gain matters more in rhythm games and competitive shooters than in single-player adventures. Music producers using applications like Bitwig or Ardour can run both PulseAudio and JACK-style workflows through PipeWire without maintaining separate servers, simplifying what used to be a complex setup. Podcasters find that PipeWire's handling of multiple input devices is more predictable than PulseAudio's, particularly when juggling USB interfaces and system microphones.

One practical tip for Australians: time zone differences mean troubleshooting with global Linux communities often happens late at night. Posting clear logs from journalctl --user -u pipewire or pactl info helps others diagnose issues quickly, regardless of whether they are awake in London or already asleep in Adelaide. Local community forums, including those hosted on elementary OS fan sites, provide another avenue for region-specific advice.

Troubleshooting and next steps

When audio stops working after switching sound servers, the first place to check is the session status. Running pactl info should show the active server name; if PulseAudio still appears, the PipeWire service did not start correctly. Re-enabling the PipeWire socket and restarting the user session usually resolves this. For Bluetooth issues, removing the device in the system settings and re-pairing after a full reboot often helps.

Users who find that a specific application misbehaves under the PipeWire compatibility layer can try launching it with the PIPEWIRE_LATENCY=128/1000 environment variable to mimic PulseAudio's default latency. This trick sometimes resolves crackling in older programs that were tuned for the older server.

For anyone ready to take control of their elementary OS audio setup, the concrete next step is straightforward: back up the current PulseAudio configuration in ~/.config/pulse/, install the PipeWire packages mentioned above, and run a single afternoon of testing with the applications that matter most. The results will make the decision clear without committing to a full migration before knowing how the new server performs.

Browse the News Archive
Latest Updates

From the elementary weekly series

Low-poly faceted abstract render in dark charcoal and electric blue tones, suggesting a news bulletin or announcement
elementary news

elementary weekly #20

The first week with the final Freya release — community reactions, tips, and early impressions gathered in one roundup.

Abstract low-poly geometric scene in midnight blue and soft cyan, conveying a live broadcast or event atmosphere
elementary news

elementary SPECIAL

A live Hangouts event with the elementary OS founders, held on 11 April 2015, discussing the Freya final release.

Low-poly faceted render in deep navy and muted teal with subtle amber highlights, suggesting a tutorial or guide
Tips and Tricks

Timeshift Guide

How to use Timeshift — the intuitive system restore utility for elementary OS — to recover from configuration mishaps.

Explore

Topics & Resources

Dive into guides, application recommendations, and community discussions covering every aspect of elementary OS.