GB
  
You are currently viewing the United Kingdom version of the site.
Would you like to switch to your local site?
14 MIN READ TIME

IN DEPTH Inside Linux

PIPEWIRE

Matt Holder delves into the depths of our audio stack to learn about PipeWire and what came before it.

Part four!

Don’t miss next issue, subscribe on page 16!

CREDIT: Magictorch

In parts one and two of this Inside Linux series, we covered the Linux kernel and learned all about the different layers and subsystems that enable us to interact with all of the hardware connected to our computers. In part three we looked at graphical displays and how Wayland has been developed to replace the venerable X server.

The aim of this fourth part is to help you understand how the audio subsystems on your Linux distro work together, to give you a professional grade system that can be used for pretty much any purpose.

Once we have introduced the various systems, we will move on to describe how PipeWire can be used to provide some of the missing functionality from Wayland (such as the capture of apps and displays).

The Open Sound System (OSS) project started over 30 years ago and was developed for use on both BSD and Linux. The code was released under multiple licences, and the final release of OSS was in 2019, but it was superseded by the turn of the century on most Linux distros.

Get us ALSA here

Due to perceived issues with OSS, the Advanced Linux Sound Architecture (ALSA) project was first released in 1998. Until 2002, it was developed as a standalone project and then became part of the Linux kernel. In a similar way to OSS, ALSA provides a device driver between the kernel and userspace applications. The ALSA API is more complicated than OSS, which can make the creation of apps more complicated (although these days, this issue is abstracted to the graphical toolkit being used and the sound servers we will soon discuss). At conception, ALSA supported more features than OSS (such as hardware mixing of multiple channels and thread-safe drivers). Continued development of OSS likely means that the feature sets supported by both systems are largely the same. Both OSS and ALSA only support a single application being able to interact with the audio hardware at any one time. This is very limiting – imagine not being able to take part in a Teams call in which we wish to share our screen and play a video for the other members of the meeting to see, or being able to play music on our favourite streaming service while still being able to hear notifications from our applications. To counteract this limitation, sound servers have been developed, which sit on top of ALSA. Applications therefore interact with the sound server, which in turn mixes any audio sources together, routes them to different applications and then, where needed, interacts with the hardware via ALSA.

Unlock this article and much more with
You can enjoy:
Enjoy this edition in full
Instant access to 600+ titles
Thousands of back issues
No contract or commitment
Try for 99p
SUBSCRIBE NOW
30 day trial, then just £9.99 / month. Cancel anytime. New subscribers only.


Learn more
Pocketmags Plus
Pocketmags Plus

This article is from...


View Issues
Linux Format
September 2024
VIEW IN STORE

Other Articles in this Issue


LINUX FORMAT
LINUX FORMAT
The #1 open source mag Future Publishing Limited,
WELCOME
MEET THE TEAM
This issue, we’re introducing readers to Linux Mint 22 and its Cinnamon desktop; in the name of open source choice, what other desktop should people try and why?
Lightning strikes
Linux isn’t a magic bullet. It still has
REGULARS AT A GLANCE
CrowdStrike issues hit Microsoft and Linux
Microsoft wasn’t the only victim of faulty CrowdStrike updates. Weeks before the worldwide outage, Debian and RHEL were also hit.
Nvidia officially goes open source
The R560 driver marks Nvidia’s full transition to open source GPU kernel modules.
Google backs down on cookies
Chrome will allow users to make “informed choices”.
SUITE PRIVACY
Italo Vignoli is one of the founders of
EARLY ADOPTER
David Stokes is a technology evangelist at Percona.
Jellyfish devs say help others
Lead developer Joshua Boniface has asked users to support clients instead.
Switzerland is open source
New law requires all government apps to be open source.
Ext4 gets faster
The latest Linux 6.11 comes with performance optimisation for ext4.
Distro watch
What’s behind the free software sofa?
ATOMIC STEAM
Ludovico de Nittis is a software engineer at
FILTER TIPS
Jon Masters is a kernel hacker who’s been
Kernel Watch
Jon Masters summarises the latest happenings in the Linux kernel, so that you don’t have to.
Answers
Got a burning question about open source or the kernel? Whatever your level, email it to answers@linuxformat.com
Mailserver
WRITE TO US Do you have a burning
HotPicks
THE BEST NEW OPEN SOURCE SOFTWARE ON THE PLANET
THE LINUX SMART HOME
We aim to keep the lights on the smarter way with Home Assistant, Zigbee and low-cost IKEA kit.
REVIEWS
HighPoint Rocket 1608A
For when Shane Downing really needs 56GB/s of storage speed.
Q4OS 5.5
Nate Drake is on cue to explore the latest Q4OS and comes away amazed at its speed and simple setup.
Pardus 23.2
Nate Drake offers readers a chunk of Turkish Delight as he tours this Debian-based distro, coded with full government approval.
Nobara Project 40
Nate Drake delves into this modified Fedora distro. Is this the ultimate in Linux gaming or should you say “no Nobara”?
Mabox Linux 24.07
A spin of Manjaro, which is a spin of Arch, is leaving the normally centred Nate Drake in a right tizzy.
Men of War 2
Often found wondering what war is good for, Jake Tucker is reminded by The Management that it looks after his pay cheque and pension fund.
ROUNDUP
Remote desktops
Ever wish you had the desktop of another computer right in front of you? Michael Reed checks out five applications that can do this and more.
The verdict Remote desktops
We’ve ended up with five options that can
FRESH MINT 22!
Fresh Mint 22!
Linux Mint is in season and Jonni Bidwell has been sniffing it voraciously. Join him on a fragrant voyage of discovery.
Mint is for its users
Discover why Linux Mint is your new favourite Linux flavour.
How to install Mint
Get Mint booted, explore the live environment, then get this herbaceous powerhouse installed forthwith.
Getting to know Mint
Explore the freshest of fresh installs and tweak it to perfection.
X marks the apps
Perfect your install and discover the new apps on the block.
Pi USER
Pi Foundation releases AI teaching guidance
Worry no more about how to teach about ethical generative AI – the Pi Foundation has you covered.
Fritzing 1.0.3
Les Pounder spends most of his work hours looking at circuit diagrams, then carries on doing the same thing after work.
Sovol SV08
Big, super-fast and open source, it looks as though Denise Bertacchi has found her perfect printer!
Simulate your Pi Pico projects with Wokwi
Claiming he’s saving resources, Les Pounder simulates an electronics project because he is too lazy to get up and build it for real.
TUTORIALS
Try a tiny text editor
Shashank Sharma lives by the try-it-before-you-dismiss-it code. That’s how he finds new tools. It’s also how he discovered a fondness for kimchi.
Navigate your way around the filesystem
LINUX BASICS
Geek out with NixOS
Mats Tage Axelsson shows you how easy it is to use NixOS and the challenges of installing new applications. All 100,000 packages.
Expand your storage with high-speed SSDs
RAID
Upgrade it: Solid-state drives
RAID
Take local control of multiple AI models
OLL AMA
Record your games on the Steam Deck
STEAM DECK
ADMINISTERIA
Get to grips with crontabs on Linux
Ever the busy boy, Stuart Burns needs things to run on time, so he’s here to show you how to set up schedules.
AngelVPN
Always a good boy, Sam Dawson thinks he’s rather smitten with this devilishly good service.
PureDome VPN
A VPN service that’s aimed at business types like Mike Williams, who prefers to do his private business in private.
WHATEVER HAPPENED TO SYMBIAN?
The Symbian operating system had a lot going for it, and even dabbled with open source, so why did it fail? Mike Bedford investigates.
CODING ACADEMY
Code your own Wordle-like game
PYTHON
How to build a 6502 assembler
6502
Chat
X
Pocketmags Support