LinuxCommandLibrary

pasuspender

Suspend PulseAudio while running a program

TLDR

Suspend PulseAudio while running jackd

$ pasuspender -- [jackd --driver alsa --device hw:0]
copy

SYNOPSIS

pasuspender [OPTIONS] -- PROGRAM [ARGUMENTS...]

PARAMETERS

--help
    Show help message and exit for pasuspender itself.

--version
    Show version information and exit for pasuspender itself.

--
    A mandatory separator indicating that all subsequent arguments are for the PROGRAM to be executed, not for pasuspender itself.

PROGRAM
    The command or script to execute while PulseAudio is suspended.

ARGUMENTS...
    Optional arguments to pass to the PROGRAM.

DESCRIPTION

The pasuspender command is a utility designed to temporarily suspend the PulseAudio sound server while a specified program runs. This is particularly useful for applications that require direct access to the audio hardware, bypassing PulseAudio's control.

When pasuspender executes, it instructs PulseAudio to suspend all its active sinks and sources, thereby releasing control of the sound devices. This allows the wrapped PROGRAM to utilize audio hardware directly, often through ALSA or other low-level interfaces, without interference from PulseAudio. Once the PROGRAM exits, pasuspender automatically signals PulseAudio to resume its normal operation, restoring its control over the audio devices. This ensures compatibility for legacy applications, games, or professional audio software that may not integrate well with PulseAudio or require exclusive hardware access for optimal performance.

CAVEATS

Requires PulseAudio to be running for pasuspender to have any effect.
Applications run via pasuspender will not be able to use PulseAudio features (e.g., routing, volume control) during their execution.
It releases all PulseAudio devices; other running applications that depend on PulseAudio will lose audio during the suspension.

TYPICAL USE CASE

Often used for running older games or professional audio software (like JACK, Ardour, or specific ALSA-only utilities) that require direct, low-latency access to sound hardware, which might otherwise conflict with PulseAudio's abstraction layer. It provides a simple, command-line solution to temporarily resolve such conflicts without manually stopping and restarting the PulseAudio daemon.

HISTORY

Introduced as part of the PulseAudio suite, pasuspender addresses the common need for applications to temporarily bypass the sound server. Its development reflects PulseAudio's evolution as a default sound server in many Linux distributions, providing a compatibility layer for programs that might not be designed to interact with a sound daemon or require exclusive hardware access.

SEE ALSO

pulseaudio(1), pactl(1), alsa(7)

Copied to clipboard