Linux MintUbuntu Based

How To Install PipeWire on Linux Mint 22

Install PipeWire on Linux Mint 22

Linux Mint 22 “Wilma” marks a significant milestone in Linux audio evolution by adopting PipeWire as its default sound server, replacing the longtime standard PulseAudio. This modern multimedia framework brings professional-grade audio capabilities, lower latency, and unified audio-video handling to everyday desktop users. Whether you’re verifying your existing installation, setting up additional components, or troubleshooting audio issues, understanding PipeWire configuration on Linux Mint 22 is essential for optimal system performance. This comprehensive guide walks through multiple installation methods, from beginner-friendly GUI approaches to advanced terminal commands, ensuring every user can harness PipeWire’s full potential. You’ll learn verification techniques, configuration optimization, and practical troubleshooting solutions based on real-world scenarios.

What is PipeWire and Why Use It?

Understanding PipeWire

PipeWire represents a fundamental shift in Linux multimedia architecture. Developed as a modern replacement for both PulseAudio and JACK, this multimedia framework handles audio mixing, video stream management, and network audio transmission within a single unified system. Unlike legacy audio servers, PipeWire uses a graph-based architecture that processes audio and video streams simultaneously, making it ideal for contemporary computing needs like screen sharing, video conferencing, and professional audio production. The framework operates with a session manager—typically WirePlumber—that intelligently routes audio streams between applications and hardware devices. This architectural approach delivers superior performance while maintaining backward compatibility with existing Linux applications.

Key Benefits of PipeWire

Professional audio users immediately notice PipeWire’s JACK-compatible low-latency performance, enabling real-time audio recording and processing without specialized configurations. Desktop users benefit from seamless PulseAudio replacement functionality, meaning existing applications work without modification. The unified audio-video handling simplifies screen sharing in applications like OBS Studio and Zoom, eliminating complex workarounds. Security improvements come from PipeWire’s sandboxed architecture, which isolates audio streams and prevents unauthorized access. Bluetooth audio receives substantial enhancements with automatic profile switching and better codec support, particularly for modern headsets and speakers. Additionally, PipeWire consumes fewer system resources while delivering higher audio quality across various sample rates and bit depths.

Prerequisites and System Requirements

Before proceeding with PipeWire installation or configuration on Linux Mint 22, ensure your system meets essential requirements. Your machine should run Linux Mint 22 “Wilma” or a compatible Ubuntu-based distribution. Terminal access with sudo privileges is mandatory for package installation and service management. Basic command line familiarity helps, though this guide explains each command thoroughly. An active internet connection enables downloading necessary packages from repositories.

Creating a system backup using TimeShift before modifying audio configurations is strongly recommended, as this allows easy recovery if issues arise. Most modern systems exceed PipeWire’s minimal hardware requirements, but having at least 2GB RAM and a dual-core processor ensures smooth operation. Finally, update your system to the latest package versions by running system updates through the Update Manager or terminal commands. This preparation prevents dependency conflicts during installation.

Checking Current Audio Server Status

Linux Mint 22 ships with PipeWire enabled by default, so verification should be your first step. Open a terminal by pressing Ctrl+Alt+T or searching “Terminal” in the application menu. Type pactl info and press Enter to display your current audio server information. Look for the “Server Name” line in the output. If it reads “PulseAudio (on PipeWire 0.3.xx),” PipeWire is already active and functioning correctly. The version number (0.3.xx) indicates your specific PipeWire release.

When the output shows only “PulseAudio” without the PipeWire reference, traditional PulseAudio remains active. In this case, proceed with installation methods detailed below. Check WirePlumber status by running systemctl --user status wireplumber to verify the session manager operates correctly. Active status with “running” indicates proper configuration, while “inactive” or “failed” requires troubleshooting. Determining your current configuration prevents unnecessary changes and helps diagnose existing issues.

Method 1: Installing PipeWire via Terminal (Recommended)

Step 1: Update System Packages

Terminal installation offers the most control and reliability for PipeWire setup. Begin by updating your package lists to ensure you download the latest versions. Open a terminal and execute:

sudo apt update

This command refreshes repository information, checking for updated packages. Enter your password when prompted. Wait for the process to complete, which typically takes 30-60 seconds depending on your internet speed. Next, upgrade existing packages to their latest versions:

sudo apt upgrade -y

The -y flag automatically confirms installations without additional prompts. System updates ensure compatibility between PipeWire and your current software environment, preventing version conflicts during installation.

Step 2: Install Core PipeWire Packages

Core PipeWire packages provide essential functionality for audio server replacement. Install the primary components with a single comprehensive command:

sudo apt install pipewire pipewire-audio-client-libraries pipewire-pulse wireplumber -y

Breaking down this command reveals each package’s purpose. The pipewire package contains the main multimedia framework engine that processes audio and video streams. The pipewire-audio-client-libraries package ensures compatibility with applications expecting PulseAudio or ALSA interfaces. The pipewire-pulse component provides a direct PulseAudio replacement, allowing existing desktop applications to function without modification. Finally, wireplumber serves as the recommended session manager, intelligently routing audio between applications and hardware devices.

Installation typically completes within 2-3 minutes, downloading approximately 5-10MB of packages. The terminal displays progress bars showing download and installation status. Review any dependency notifications, though modern Linux Mint repositories handle these automatically.

Step 3: Install Optional PipeWire Components

Optional components extend PipeWire functionality for specific use cases. Install ALSA compatibility libraries to ensure older applications work correctly:

sudo apt install pipewire-alsa -y

This package provides ALSA plugin support for applications that directly access ALSA instead of PulseAudio. Professional audio users requiring JACK compatibility should install additional components:

sudo apt install pipewire-jack -y

JACK support enables real-time audio applications like Ardour, Audacity, and other digital audio workstations to function with minimal latency. Some users prefer pipewire-media-session over wireplumber as an alternative session manager, though wireplumber is recommended for most installations.

For enhanced Bluetooth audio support with advanced codecs, install supplementary packages:

sudo apt install libspa-0.2-bluetooth -y

GStreamer integration benefits multimedia applications by providing additional codec support. Install when using media players or video editing software that relies on GStreamer frameworks.

Step 4: Disable PulseAudio Services

If your system still runs PulseAudio, disable it to prevent conflicts with PipeWire. Stop the active PulseAudio service:

systemctl --user stop pulseaudio.service

Disable the PulseAudio socket that causes automatic service restart:

systemctl --user stop pulseaudio.socket

Mask PulseAudio to ensure it remains disabled permanently:

systemctl --user mask pulseaudio

Audio system icons may temporarily disappear from your panel during this process, which is normal behavior. They reappear once PipeWire services start. Masking prevents PulseAudio from accidentally reactivating during system updates or user session changes.

Step 5: Enable PipeWire Services

Activate PipeWire services to replace PulseAudio functionality. Start WirePlumber for the current user session:

systemctl --user start wireplumber

Enable automatic startup at login:

systemctl --user enable wireplumber

Enable additional PipeWire services:

systemctl --user enable pipewire pipewire-pulse

These commands configure your system to automatically start PipeWire and its components during user login. Verify services run without errors by checking their status:

systemctl --user status wireplumber pipewire pipewire-pulse

Green “active (running)” status indicates successful configuration. Log out and back in, or restart your computer to ensure all changes take effect properly.

Method 2: Installing via Software Manager (GUI Method)

Opening Software Manager

Users preferring graphical interfaces can install PipeWire through Linux Mint’s Software Manager. Click the Menu button in the bottom-left corner and locate “Software Manager” in the Administration section. Alternatively, press the Super key (Windows key) and type “software” to quickly find the application. The Software Manager window opens displaying featured applications and categories.

Searching and Installing PipeWire Packages

Click the search icon in the top-right corner and type “pipewire” into the search field. The results display several packages including pipewire, pipewire-pulse, and wireplumber. Click on the main “pipewire” package to view detailed information including description, version number, and package dependencies. The description explains PipeWire’s purpose and functionality, helping you confirm you’ve selected the correct package.

Click the Install button to begin installation. The Software Manager automatically selects required dependencies, including pipewire-audio-client-libraries and related components. Review the package list in the confirmation dialog to understand what will be installed. Enter your administrative password when prompted, then click Authenticate to proceed. Installation progress displays with a progress bar showing download and installation status.

Repeat this process for pipewire-pulse and wireplumber packages, ensuring all core components are installed. Each installation follows the same pattern: search, select, review dependencies, and authenticate. The Software Manager handles service configuration automatically in most cases, though manual verification remains advisable.

Post-Installation Steps via GUI

After completing Software Manager installations, log out of your user session and log back in to activate PipeWire. This refresh allows the system to recognize the new audio server configuration. Alternatively, restart your computer for a complete system refresh. Open a terminal to verify installation success using commands from the “Checking Current Audio Server Status” section.

Check the installed version by running:

pipewire --version

This command displays your PipeWire version number, typically 0.3.xx or higher. If services don’t start automatically after logging in, manually enable them using the terminal commands from Method 1, Step 5. GUI installations occasionally require manual service activation depending on your system configuration.

Method 3: Installing from PPA Repository (Advanced)

Adding PipeWire PPA

Personal Package Archives (PPAs) provide access to newer software versions than standard repositories. Advanced users seeking cutting-edge PipeWire features can add the pipewire-debian PPA. First, ensure software-properties-common is installed:

sudo apt install software-properties-common -y

Add the PipeWire PPA repository:

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y

This command adds the repository to your system’s software sources. PPAs offer advantages including newer versions, experimental features, and faster updates compared to official repositories. However, they carry slight risks as they’re maintained by third parties rather than the official Linux Mint team. Only use trusted PPAs from reputable sources.

Installing Latest PipeWire Version

Refresh package lists to include the newly added PPA:

sudo apt update

Install PipeWire from the PPA repository:

sudo apt install pipewire pipewire-pulse wireplumber pipewire-audio-client-libraries -y

The installation pulls packages from the PPA instead of standard repositories, providing newer versions. PPA versions typically include recent bug fixes, performance improvements, and experimental features not yet available in stable releases. Check version numbers after installation to confirm you’re running the PPA version rather than the default repository version.

Enabling PPA-Installed PipeWire

Configure services following the same steps outlined in Method 1, Step 4 and Step 5. Disable existing PulseAudio services, then enable PipeWire and WirePlumber. Verify the correct version installed by running:

apt policy pipewire

This command shows which repository provided your installed version. The “Installed” line should reference the PPA repository, confirming successful installation from the correct source. Handle potential conflicts by removing old packages before installing PPA versions if dependency errors occur.

Verification and Testing

Thorough testing ensures PipeWire functions correctly across all use cases. Execute the verification command:

pactl info

Look for “Server Name: PulseAudio (on PipeWire 0.3.xx)” in the output, confirming PipeWire operates as your audio server. The version number indicates your specific release. Test audio playback using various applications including web browsers, music players, and video applications. Play audio in Firefox or Chrome to verify browser audio functions properly. Launch your preferred music player—Rhythmbox, Strawberry, or others—and confirm playback works without distortion or interruption.

Check WirePlumber session manager status:

systemctl --user status wireplumber

Active status with “running” confirms proper session management. Test Bluetooth audio devices if applicable by connecting wireless headphones or speakers and playing audio. Verify automatic profile switching works by connecting different Bluetooth devices and confirming seamless transitions.

Examine system logs for error messages:

journalctl --user -u wireplumber -b

This command displays WirePlumber logs from the current boot session. Review for error messages or warnings that might indicate configuration issues. Confirm all audio outputs and inputs appear in your sound settings by opening System Settings > Sound and verifying available devices.

Configuring PipeWire for Optimal Performance

Creating Configuration Directory

Custom configurations require creating user-specific configuration directories. PipeWire reads configuration files from multiple locations, with user configurations taking precedence. Create the configuration directory:

mkdir -p ~/.config/pipewire

Copy default configuration files to modify:

cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/

This approach preserves system defaults while allowing personalized modifications. User configuration files override system configurations, enabling custom settings without modifying system files that might be overwritten during updates.

Adjusting Sample Rates

Sample rate configuration affects audio quality and compatibility. Edit your user pipewire.conf file:

nano ~/.config/pipewire/pipewire.conf

Locate the default.clock.rate setting, typically set to 48000 Hz (48 kHz), which provides excellent quality for general use. Professional audio work may require 96000 Hz or 192000 Hz for higher fidelity. The allowed-rates parameter defines which sample rates PipeWire accepts from applications. Common configurations include:

default.clock.rate = 48000
default.clock.allowed-rates = [ 44100 48000 88200 96000 ]

These settings accommodate various audio formats including CD quality (44.1 kHz), standard digital audio (48 kHz), and high-resolution audio. Save changes and restart PipeWire services to apply new configurations.

Additional Configuration Options

Buffer size adjustments optimize latency for specific use cases. Smaller buffers reduce latency but increase CPU usage, ideal for real-time audio recording. Larger buffers decrease CPU load but add latency, suitable for music playback. Edit quantum settings in pipewire.conf to adjust buffer sizes.

Configure audio device priorities when multiple output devices exist. WirePlumber automatically selects devices, but manual priority settings ensure preferred devices activate first. Network audio streaming setup enables sending audio to other computers on your local network. PipeWire natively supports network protocols including RTP and PulseAudio network streaming.

Customize WirePlumber behavior by editing ~/.config/wireplumber/ configuration files. These settings control device routing, Bluetooth behavior, and automatic device switching. Advanced users can create custom routing rules for complex audio setups involving multiple applications and hardware devices.

Troubleshooting Common Issues

No Sound After Installation

Complete audio failure requires systematic troubleshooting. First, verify PipeWire services run correctly:

systemctl --user status pipewire pipewire-pulse wireplumber

Inactive or failed services need restarting:

systemctl --user restart pipewire pipewire-pulse wireplumber

Check your selected output device in System Settings > Sound. Ensure the correct hardware device is selected, as PipeWire might default to unexpected outputs. Verify volume levels aren’t muted or set too low by clicking the sound icon in your panel and adjusting the master volume.

Examine individual application audio channels using pavucontrol:

sudo apt install pavucontrol -y
pavucontrol

PulseAudio Volume Control remains compatible with PipeWire, displaying all audio streams and allowing per-application volume adjustments. Review system logs for specific error messages:

journalctl --user -u pipewire -b | grep -i error

Error messages provide clues about configuration problems or hardware incompatibilities.

Bluetooth Audio Problems

Bluetooth audio issues often stem from missing packages or configuration problems. Install additional Bluetooth support:

sudo apt install libspa-0.2-bluetooth pulseaudio-module-bluetooth -y

Verify Bluetooth service runs correctly:

systemctl status bluetooth

Restart the Bluetooth service if inactive. WirePlumber version 0.4.8 or newer provides improved Bluetooth profile switching. Check your version:

wireplumber --version

Older versions may require manual updates. Remove and re-pair problematic Bluetooth devices through System Settings > Bluetooth. Deleting existing pairings and creating fresh connections often resolves codec negotiation issues.

Application Compatibility Issues

Some applications require specific compatibility layers. Install ALSA support for applications that don’t use PulseAudio:

sudo apt install pipewire-alsa -y

Professional audio applications needing JACK require:

sudo apt install pipewire-jack -y

Configure applications to use the correct audio backend by checking their audio preferences. Digital audio workstations and synthesizers often allow selecting between ALSA, JACK, and PulseAudio backends. Select JACK when using pipewire-jack for optimal performance. Troubleshoot professional audio applications by temporarily increasing buffer sizes to ensure stable operation before optimizing for low latency.

Audio Delays and Notification Issues

Audio delays particularly affect system notification sounds. PipeWire and WirePlumber implement suspend features that pause audio processing when inactive, sometimes causing delayed audio playback when applications request sound. Edit WirePlumber configuration to adjust suspend behavior:

nano ~/.config/wireplumber/main.lua.d/51-disable-suspension.lua

Add configuration to disable audio device suspension:

rule = {
  matches = {
    {
      { "node.name", "matches", "alsa_output.*" },
    },
  },
  apply_properties = {
    ["session.suspend-timeout-seconds"] = 0,
  },
}

table.insert(alsa_monitor.rules, rule)

Save the file and restart WirePlumber. This configuration prevents automatic suspension, eliminating delays at the cost of slightly higher idle power consumption. For most users, the trade-off improves daily experience significantly.

Reverting to PulseAudio (If Needed)

Rare circumstances might require reverting to PulseAudio. Hardware incompatibilities or specific software requirements occasionally necessitate returning to the traditional audio server. Disable PipeWire services first:

systemctl --user stop pipewire pipewire-pulse wireplumber
systemctl --user disable pipewire pipewire-pulse wireplumber

Unmask and re-enable PulseAudio:

systemctl --user unmask pulseaudio
systemctl --user enable pulseaudio.service pulseaudio.socket
systemctl --user start pulseaudio.service

Remove PipeWire packages through Software Manager or terminal:

sudo apt remove pipewire pipewire-pulse pipewire-audio-client-libraries wireplumber -y

Reinstall PulseAudio if it was completely removed:

sudo apt install pulseaudio pulseaudio-module-bluetooth -y

Verify PulseAudio operates correctly using pactl info, which should show “Server Name: PulseAudio” without PipeWire reference. Consider implications before reverting, as PipeWire offers significant advantages for most use cases. Document your specific reason for reverting to help Linux Mint developers improve future releases.

Congratulations! You have successfully installed PipeWire. Thanks for using this tutorial for installing PipeWire server for handling audio and video streams on your Linux Mint 22 system. For additional help or useful information, we recommend you check the official PipeWire website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button