c’t 12/2025
Het einde van Windows 10 - of niet?
Cover van
WirePlumber: systeembrede naamgeving van audioapparaten op Linux

WirePlumber: naamgeving van audioapparaten op Linux wijzigen

Gebruikers van Linux herkennen het vast wel: de videoconferentiesoftware heeft opnieuw het verkeerde audiokanaal geselecteerd. Van de instellingen word je ook niet veel wijzer door de onbegrijpelijke namen die getoond worden. Op het eerste gezicht weet je dus niet eens welk audioapparaat je moet kiezen. Wij kunnen je helpen met dit probleem.    

Lees verder na de advertentie

In deze workshop laten we zien hoe je een configuratiescript kunt gebruiken voor multimediasessiemanager WirePlumber om de namen van je audioapparaten te wijzigen.

 

Tip!

De laptop waar kracht, creativiteit en AI samenkomen!
De laptop waar kracht, creativiteit en AI samenkomen!

Ontworpen voor creators en professionals: configureer jouw eigen ASUS ProArt P16 nu.


Ontvang informatie en tips over Linux en Linux programma’s, abonneer op ons tijdschrift of schrijf je in voor de gratis nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Van PulseAudio naar PipeWire

Op moderne Linux-systemen zijn er verschillende componenten die verantwoordelijk zijn voor het beheer van audioapparaten. ALSA (Advanced Linux Sound Architecture) vormt de driverlaag in de kernel, terwijl een geluidsserver in de gebruikersinterface toegang heeft tot de ALSA-interfaces. Deze geluidsserver dient als tussenpersoon tussen de applicaties en de driver. Hierdoor kan het parallel gebruik van hetzelfde audiokanaal door meerdere applicaties worden toegestaan.

Voorheen was dat vooral PulseAudio, dat in steeds meer distributies wordt vervangen door het multimediaframework PipeWire. Zo wordt PipeWire door Fedora gebruikt sinds Fedora versie 34. Ubuntu daarentegen doet dit pas sinds versie Ubuntu 22.10. Voor oudere versies van Ubuntu, zoals de 22.04 LTS-versie, is PipeWire wel beschikbaar in de softwarebronnen.

PipeWire wordt geleverd met zijn eigen implementatie van PulseAudio. Hierdoor zullen applicaties die zijn ontworpen voor PulseAudio ook werken met PipeWire, net als de meeste PulseAudio-tools. De Gnome-desktopomgeving die wordt gebruikt door Ubuntu Desktop en Fedora Workstation haalt ook de namen van de audioapparaten op via de PulseAudio-interfaces. Om te achterhalen of PipeWire voor je werkt, kun je het commando pactl uit het “pulseaudio-utils” pakket gebruiken. Voer dit commando uit in een terminal en als het antwoord in de regel “Naam van de server” vermeldt “PulseAudio (op PipeWire 0.3…)”, dan werkt PipeWire voor jou.

Pipewire vs Wireplumber

PipeWire verkrijgt de namen van de audioapparaten van ALSA, die ze op hun beurt vormt met behulp van apparaat-ID’s, stuurprogrammagegevens en configuraties die moeilijk te begrijpen zijn. Maar daar heb je niet mee te maken. Om de geluidsapparaten een andere naam te geven, heb je alleen een klein script voor WirePlumber nodig. Deze session manager voor PipeWire beheert de verbindingen tussen apparaten en applicaties en laadt de daarvoor benodigde componenten. Om de naamgeving van de apparaten permanent vast te leggen, worden regels opgeslagen in een configuratiebestand. Deze zijn momenteel nog geschreven in de programmeertaal Lua. Standaard installeert Ubuntu “PipeWire Media Session” (pipewire-media-sessie) als sessiebeheerder, maar die wordt als achterhaald beschouwd. Installeer in plaats daarvan WirePlumber vanuit de pakketbronnen, bijvoorbeeld in Terminal met de volgende opdracht:

sudo apt install wireplumber
WirePlumber werkt als een systemd-gebruikersservice. Je kunt je persoonlijke configuratie instellen in de homedirectory (~/.config/wireplumber), maar dat hoeft niet. Wat daar niet gespecificeerd is, haalt WirePlumber uit de mappen /etc/wireplumber (indien beschikbaar) en /usr/share/wireplumber. Maak eerst de benodigde submappen aan in je homedirectory.
mkdir -p ~/.config/wireplumber/main.lua.d/
Maak in deze map een tekstbestand met de naam “51-alsa-rename.lua” en open het met een eenvoudige teksteditor zoals Gedit of de Gnome-teksteditor (gnome-text-editor).

WirePlumber Lua-script schrijven

Je zult waarschijnlijk even moeten wennen aan de Lua-syntaxis. Zorg ervoor dat je alle open haakjes sluit en vermijd overlapping van verschillende soorten haakjes. Het basisidee is om een ​​regel te formuleren die het gewenste apparaat identificeert met behulp van een aanduiding (matches ) en er vervolgens een eigenschap aan toe te wijzen (apply_properties). regel = { matches = { { {–[[ Vergelijk –]] }, }, }, apply_properties = { [“KEY”]=”VALUE” } } Laat de ogenschijnlijk overbodige haakjes achter matches niet weg omdat WirePlumber een geneste array verwacht. Hierdoor kunnen meerdere vergelijkingen worden gekoppeld met EN- en OF-voorwaarden, maar dat zou hier te ver leiden. Voordat je regels kunt definiëren, heb je de apparaataanduidingen nodig voor de vergelijking. Om die te vinden, open je een terminal en gebruik je wpctl status om alle objecten weer te geven die aan je PipeWire-sessie zijn gekoppeld, van applicaties tot hardware. Zoek onder “Audio / Apparaten” naar het item voor je audioapparaat. Het nummer voor de naam is de huidige ID. Gebruik deze ID (bijv. 32) om met wpctl de eigenschappen van het apparaat weer te geven:

wpctl inspect 32
Kopieer de waarde na “device.bus-path” voor PCI-apparaten zoals de ingebouwde geluidskaart en de waarde na “device.bus-id” voor USB-apparaten. Voer nu dit waardenpaar als regel in het configuratiebestand in: regel = { matches = { { “device.bus-path”, “equals”, “pci-0000:00:1a.3-platform-et¦” }, } }, apply_properties = { [“device.description”] = “Internet¦” } } Ga volgens hetzelfde principe te werk binnen “apply_properties” en wijs de gewenste naam als tekenreeks toe aan “device.description”. Voeg deze regels nu toe aan de speciale tabel “alsa_monitors.rules“. Om dit te doen, voeg je aan het einde de volgende regel toe aan de configuratie:
table.insert(alsa_monitor.rules,regel)
Bewaar het bestand. Om de regels toe te passen, start je WirePlumber opnieuw op door systemctl –user restart wireplumber.service in de terminal in te typen. Open vervolgens de systeeminstellingen in Gnome en controleer de namen van de audioapparaten in de sectie Geluid. Als de regels van toepassing zijn, verschijnt de gewijzigde naam daar. Als daar geen audioapparaat verschijnt, heb je waarschijnlijk een syntaxisfout in je configuratiebestand. Controleer haakjes en komma’s. Gebruik in een apart terminalvenster journalctl -f –user -u wireplumber om te zien of of WirePlumber een valse start meldt wanneer je de service opnieuw start. Om je wat tijd en hoofdpijn te besparen, hebben we een sjabloon van het Lua-script klaargezet voor je om te downloaden.

Hou rekening met wat wel en wat niet kan

In plaats van exacte vergelijkingen met equals kun je ook matches gebruiken om naar een patroon te zoeken. Gebruik hiervoor * als jokerteken in de zoekstring. Gebruik de trefwoorden node.description en device.profile.description om de ingangen en uitgangen een naam te geven zoals bijvoorbeeld “Microfoon” of “HDMI / DisplayPort-uitgang”. Helaas accepteert Gnome de waarden niet, maar vraagt ​​via andere velden naar de namen van de kanalen die niet zomaar veranderd kunnen worden. PipeWire-applicaties zoals qpwgraph geven deze namen echter ook correct weer.

De allernieuwste uitgave
Het einde van Windows 10 – of niet?
€ 9.50
  • Ontdek hoe je veilig blijft zonder nieuwe pc te kopen.
  • Big Tech onder de loep
  • Alles over Wi-Fi 8
Bestel nu
De allernieuwste uitgave

Tip!

Alles voor jouw werkplek
Alles voor jouw werkplek

Ben je opzoek naar nieuwe hardware, software of accessoires?
Je vindt het in onze computerwinkel!

Meer over

0

Praat mee

Abonneer
Laat het mij weten wanneer er
0 Reacties
oudste
nieuwste

Inspiratie in je mailbox

Blijf bij op IT-gebied en verbreed je expertise. Ontvang elke week artikelen over de laatste tech-ontwikkelingen, toepassingen, nieuwe hard- en software én ontvang tips en aanbiedingen.

Loginmenu afsluiten