ubuntuusers.de

Pipewire

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Baustelle/Pipewire.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9377

Wohnort: Münster

Berlin_1946 schrieb:

stellt PipeWire eine Reihe von Werkzeugen

"Werkzeugen" ▶ den gibt es nicht mehr.

Was war – keine Ahnung, aber ich vermute …

Was war da beschrieben?
Kennt wer einen Ersatz?

https://docs.pipewire.org/page_programs.html könnte hilfreich sein.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

Hallo kB

Danke für die Antwort, ich baue es mal ein. Sollte jemand es besser wissen, dann kann er das ja ändern. 😇

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4430

Zwei Bluetooth-Kopfhörer gleichzeitig mittels module-combine-sink betreiben:

Getestet auf Kubuntu Noble Numbat mit zwei Bluetooth Dongles, ein ASUS USB-BT500 (Bluetooth 5.0), das andere ein Logilink BT0015 (Bluetooth 4.0), an jedem ein Bluetooth-Kopfhörer gekoppelt. PipeWire 1.3.0 und Bluez 5.77 aus dem Git gebaut.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9377

Wohnort: Münster

Dieser Artikel beginnt mit dem Satz:

PipeWire 🇬🇧 ist u.a. ein Soundserver, der PulseAudio ersetzt.

Ich bezweifle die Richtigkeit dieses Satzes.

Bei meinem Ubuntu 24.04 System finde ich neben etlichen Pakete mit pipewire im Namen auch etliche mit pulse standardmäßig installiert:

$ dpkg --list '*pulse*' | grep -v ^un
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                          Version                Architektur  Beschreibung
+++-=============================-======================-============-==================================================
ii  libcanberra-pulse:amd64       0.30-10ubuntu10        amd64        PulseAudio backend for libcanberra
ii  libpulse-mainloop-glib0:amd64 1:16.1+dfsg1-2ubuntu10 amd64        PulseAudio client libraries (glib support)
ii  libpulse0:amd64               1:16.1+dfsg1-2ubuntu10 amd64        PulseAudio client libraries
ii  pipewire-pulse                1.0.5-1ubuntu1         amd64        PipeWire PulseAudio daemon
ii  pulseaudio-utils              1:16.1+dfsg1-2ubuntu10 amd64        Command line tools for the PulseAudio sound server

Außerdem läuft da neben pipewire noch ein weiterer DAEMON:

$ systemctl --user status *pipe*.service | cat
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-08-11 15:42:30 CEST; 6h ago
TriggeredBy: ● pipewire.socket
   Main PID: 2042 (pipewire)
      Tasks: 3 (limit: 9321)
     Memory: 7.1M (peak: 8.6M)
        CPU: 2.982s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─2042 /usr/bin/pipewire

Aug 11 15:42:30 Maria systemd[2026]: Started pipewire.service - PipeWire Multimedia Service.
Aug 11 15:42:30 Maria pipewire[2042]: mod.jackdbus-detect: Failed to receive jackdbus reply: org.freedesktop.DBus.Error.ServiceUnknown: The name org.jackaudio.service was not provided by any .service files

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-08-11 15:42:30 CEST; 6h ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 2058 (pipewire-pulse)
      Tasks: 3 (limit: 9321)
     Memory: 5.8M (peak: 6.8M)
        CPU: 1.629s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─2058 /usr/bin/pipewire-pulse

Ich habe den Eindruck, Ppipewire ersetzt PulseAudio gar nicht, sondern Pipewire setzt auf PulseAudio auf. Kann das bitte ein Wissender aufklären? Was ist und was macht dieses pipewire-pulse?

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4430

Aus dem PipeWire Wiki:

PipeWire is a complete reimplementation of a PulseAudio server and a JACK server. It only requires ALSA to make sound (and bluez5 for bluetooth).

PipeWire still uses the original PulseAudio client library but has a reimplementation of the client JACK library for compatibility with existing applications.

PipeWire also reuses the ALSA card profile code from pulseaudio. This code is responsible for setting up devices and managing the profiles and mixer settings.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9377

Wohnort: Münster

trollsportverein schrieb:

Aus dem PipeWire Wiki:

PipeWire is a complete reimplementation of a PulseAudio server and a JACK server. It only requires ALSA to make sound (and bluez5 for bluetooth).

PipeWire still uses the original PulseAudio client library but has a reimplementation of the client JACK library for compatibility with existing applications.

PipeWire also reuses the ALSA card profile code from pulseaudio. This code is responsible for setting up devices and managing the profiles and mixer settings.

Vielen Dank für diese Aussagen. Das macht Pipewire für mich wesentlich verständlicher. Diese Inhalte sollten in das UbuntuUsers.de-Wiki übernommen werden.

Nächste Frage, im hiesigen Artikel steht:

Ab Ubuntu 22.10, jedoch nicht in dessen Flavours, wird PipeWire standardmäßig als Soundserver eingesetzt

Daraus verstehe ich im Umkehrschluss:

  • Ubuntu 24.04 mit Gnome verwendet Pipewire als Soundserver.

  • Ubuntu FLAVOUR 24.04 verwendet PulseAudio als Soundserver. (Also Kubuntu, MATE, Budgie, Xubuntu usw.)

Trifft das zu?

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

kB schrieb:

Daraus verstehe ich im Umkehrschluss:

  • Ubuntu 24.04 mit Gnome verwendet Pipewire als Soundserver.

  • Ubuntu FLAVOUR 24.04 verwendet PulseAudio als Soundserver. (Also Kubuntu, MATE, Budgie, Xubuntu usw.)

Trifft das zu?

Sieht für Ubuntu-Mate nicht so aus:

Befehl aus PulseAudio (Abschnitt „Nur-dummy-Geraet“)

ubuntu-24-04-1@ubuntu-24-04-1-VirtualBox:~$ sudo fuser -v /dev/dsp* /dev/snd/* 
[sudo] Passwort für ubuntu-24-04-1: 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.             PID  ZUGR. BEFEHL
/dev/snd/controlC0:  ubuntu-24-04-1   1600 F.... wireplumber
/dev/snd/seq:        ubuntu-24-04-1   1596 F.... pipewire
ubuntu-24-04-1@ubuntu-24-04-1-VirtualBox:~$ 
ubuntu-22-04@ubuntu2204-VirtualBox:~$ sudo fuser -v /dev/dsp* /dev/snd/*
[sudo] Passwort für ubuntu-22-04: 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.           PID  ZUGR.  BEFEHL
/dev/snd/controlC0:  ubuntu-22-04   1504 F....  pulseaudio
ubuntu-22-04@ubuntu2204-VirtualBox:~$ 
mate-vm-22-test@matevm22-VirtualBox:~$ sudo fuser -v /dev/dsp* /dev/snd/*
[sudo] Passwort für mate-vm-22-test: 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  mate-vm-22-test   1390 F.... pulseaudio
mate-vm-22-test@matevm22-VirtualBox:~$ 

mit

mate-24-04@mate-24-04-VirtualBox:~$ uname -r
6.8.0-40-generic
mate-24-04@mate-24-04-VirtualBox:~$ 

mate-24-04@mate-24-04-VirtualBox:~$ sudo fuser -v /dev/dsp* /dev/snd/*
[sudo] Passwort für mate-24-04: 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  mate-24-04   2157 F.... wireplumber
/dev/snd/seq:        mate-24-04   2149 F.... pipewire
mate-24-04@mate-24-04-VirtualBox:~$ 

Ein Ausflug:

debian12 / Mate
werner@werner:~$ sudo fuser -v /dev/dsp* /dev/snd/*
[sudo] Passwort für werner: 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  werner     1857 F....  pulseaudio
werner@werner:~$ uname -r
6.10.3-amd64
werner@werner:~$ 

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 760

👍

Die Dopplung ist Unsinn. /dev/snd/*

So, wenn Du nun noch einen Player angeschmissen hättest, wäre pcm noch dazugekommen. Das ist dann der Sound Datenstrom.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9377

Wohnort: Münster

Berlin_1946 schrieb:

kB schrieb: […]

  • Ubuntu FLAVOUR 24.04 verwendet PulseAudio als Soundserver. (Also Kubuntu, MATE, Budgie, Xubuntu usw.)

Trifft das zu?

Sieht für Ubuntu-Mate nicht so aus: […]

Danke für Deine Nachforschungen. Alles bleibt anders.

Warum finde ich immer die Themen mit Versionschaos?

Bin jetzt erst einmal urlaubsreif.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 760

sudo fuser -v /dev/dsp* /dev/snd/*

Stimmt doch nicht ganz was ich schrieb, glaube /dev/dsp* spielt keiine Rolle mehr. Genau genommen kann man es vllt. doch so stehen lassen. 🙄 Frisst ja kein Brot.

Ohne sudo anwenden.

edit Gerade gelesen: /dev/dsp* Teil von OSS

fuser -v /dev/snd/*

ist jedenfalls PW/PA/etc gängig, Das

fuser -av /dev/snd/*

gefällt mir noch besser. Man sieht gut welche Karten mit entspr. Eigenschaften vorh. sind.(mit playback/capture)

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1479

Wohnort: Bad Oeynhausen

kB schrieb:

[...] Das macht Pipewire für mich wesentlich verständlicher. Diese Inhalte sollten in das UbuntuUsers.de-Wiki übernommen werden. [...]

Habe jetzt die Formulierung etwas angepasst, ich hoffe es ist nun besser zu verstehen.

[...] Ubuntu FLAVOUR 24.04 verwendet PulseAudio als Soundserver. (Also Kubuntu, MATE, Budgie, Xubuntu usw.) [...]

Diese Behauptung stammt übrigens nicht von mir, da müsst ihr von.wert fragen (siehe https://wiki.ubuntuusers.de/Pipewire/a/diff/1006879/1007055/).

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4430

kB schrieb:

Nächste Frage, im hiesigen Artikel steht:

Ab Ubuntu 22.10, jedoch nicht in dessen Flavours, wird PipeWire standardmäßig als Soundserver eingesetzt

Kubuntu verwendete bereits vor Noble Numbat, genauer seit Kinetic Kudu PipeWire als Soundserver. Genauso wie Ubuntu (mit Gnome) selbst auch:

PipeWire anstatt Pulseaudio Soundserver trifft auch für Ubuntu Mate seit Kinetic Kudu zu:

Die Release Notes von Ubuntu Budgie treffen keine technische Aussage über den Soundserver:

Xubuntu Kinetic Kudu hatte sich hingegen damals™ tatsächlich stur auf Pulseaudio für den Soundserver festgenagelt.

Nutzer wurden aber auf eine Anleitung hingewiesen, wie sie auf PipeWire umstellen können.

Zusammenfassung seit Kinetic Kudu:

  • Ubuntu → PipeWire

  • Kubuntu → PipeWire

  • Ubuntu Mate → PipeWire

  • Ubuntu Bugie → unklar

  • Xubuntu → Pulseaudio

Auch bei Lunar Lobster und Mantic Minotaur klärt Ubuntu Budgie nicht auf, was für ein Soundserver per default genutzt wird. Aber bei Noble Numbat wird nun PipeWire als default angegeben, also auch:

  • Ubuntu Bugie (Noble Numbat) → PipeWire

In den Xubuntu Noble Numbat Release Notes taucht es etwas versteckt weiter unten auf, auch Xubuntu verwendet nun PipeWire:

  • Xubuntu (Noble Numbat) → PipeWire

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1479

Wohnort: Bad Oeynhausen

Vielen Dank für das Teilen Deiner Forschungsergebnisse, trollsportverein! Damit ist ein grober Schnitzer der Redaktion ausgeräumt. Ich habe die neuerlichen Informationen soeben eingearbeitet.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 760

Abschnitt PipeWire Terminal Befehle hinzugefügt

Abschnitt WirePlumber verschoben, Abfragen per systemctl hinzugefüg

.noch in Bearbeitung!

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4430

Mittlerweile bin ich wohl nicht mehr der einzige Nutzer mit Bluetooth-Kopfhörer. Da gibt es ein interessantes Nüsschen zu knacken wenn man etwa mit pipewire-jack die Ausgabe vom Bluetooth-Kopfhörer aufnehmen möchte, denn das Mikrofon von meinem Bluetooth-Kopfhörer ist nur Mono, und außerdem wird auch auf ein anderes Bluetooth-Protokoll umgeschaltet, das deutlich schlechteren Klang liefert.

Nun könnte man die internen Soundkarten vom Mainboard und der Grafikkarte mitlaufen lassen und mit dem ganz einfachen combine-sink zusammenschalten:

pulse.cmd = [
  { cmd = "load-module" args = "module-combine-sink" }
]

... der einfach als "$HOME/.config/pipewire/pipewire-pulse.conf.d/combine-sink.conf" im Heimverzeichnis vom Benutzer platziert werden kann. Ein restarten von systend pipewire.service und pipewire-pulse.socket lässt den combined Sink in den KDE-Soundeinstellungen erscheinen.

systemctl --user restart pipewire.service pipewire-pulse.socket && systemctl --user daemon-reload

Allerdings schalte ich die internen Soundkarten vom Mainboard und der Grafikkarte lieber ab, da ich ohnehin die Soundausgabe über Bluetooth mache.

Aber da gibt es noch die Möglichkeit einen "combine all sinks" zu erstellen:

context.modules = [
{   name = libpipewire-module-combine-stream
    args = {
        combine.mode = sink
        node.name = "combine_sink"
        node.description = "Combine  all sinks"
        combine.latency-compensate = false   # if true, match latencies by adding delays
        combine.props = {
            audio.position = [ FL FR ]
        }
        stream.props = {
        }
        stream.rules = [
            {
                matches = [ { media.class = "Audio/Sink" } ]
                actions = { create-stream = { } }
            }
        ]
    }
}
] 

... der ebenfalls im Heimverzeichnis vom Benutzer platziert werden kann, als "$HOME/.config/pipewire/pipewire-pulse.conf.d/combine_all_sinks.conf". Anschließend ist wieder ein restarten von systemd pipewire.service und pipewire-pulse.socket nötig, um den "Combine all sinks" freizuschalten.

Nun ist das erst mal hier dokumentiert, schaut mal ob das nützlich erscheinen mag. Es kann gerne ins Wiki übernommen werden.