Virtuelle Quellen und Senken in Pulseaudio

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 23.04.2025 13:16:44

Hallo zusammen,

ich habe gerade versucht, dieser Anleitung https://darauble.wordpress.com/2022/09/ ... shortwave/ zu folgen dahingehend, daß ich virtuelle Senken erzeugen wollte:

Code: Alles auswählen

pacmd load-module module-null-sink sink_name=Virtual_Sink 
sink_properties=device.description=Virtual_Sink
Als Antwort auf den ersten Befehl kam:

Code: Alles auswählen

Es läuft kein PulseAudio-Dienst oder nicht als Sitzungsdienst.
8O

Nun war ich der Meinung, daß ich Pulseaudio sehr wohl nutze, denn ich nutze auch die ganzen Tools wie z. B. Pavucontrol.
Inxi wirft aus:

Code: Alles auswählen

System:
  Kernel: 6.1.0-31-amd64 arch: x86_64 bits: 64 Console: pty pts/2 Distro: Debian
    GNU/Linux 12 (bookworm)
Machine:
  Type: Desktop Mobo: Gigabyte model: B760M GAMING X AX v: x.x serial: N/A
    UEFI: American Megatrends LLC. v: F9 date: 05/08/2024
Audio:
  Device-1: Intel Raptor Lake High Definition Audio driver: snd_hda_intel
  Device-2: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen type: USB
    driver: snd-usb-audio
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
Nun hab ich hier viewtopic.php?t=179375 gelesen, daß Pulseaudio wohl von Pipewire abgelöst wurde, aber die Pulseaudio-Tools weiter genutzt werden (?).

Wie kann ich jetzt aber so'n Ton von einer Anwendung in die andere "pipen", ohne ständig das Fax-Pfeifen auf den Ohren zu haben?
(Bisher zum Ausprobieren hab ich den Eingang des Fax-Decoder fldigi in pavucontrol auf "Monitor of Internes Analog Stereo" (interne Soundkarte) gelegt. Damit kommt aber zwangsläufig aus der internen Soundkarte der Ton raus)
Daraus https://docs.pipewire.org/page_pulse_mo ... _sink.html werde ich nicht wirklich schlau, mir fehlt irgendwie ein Praxisbeispiel ...
Grüße
LL

kreuzschnabel
Beiträge: 677
Registriert: 24.09.2020 14:51:14

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von kreuzschnabel » 23.04.2025 15:11:55

linuxlooser hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 13:16:44

Code: Alles auswählen

Audio:
  Device-1: Intel Raptor Lake High Definition Audio driver: snd_hda_intel
  Device-2: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen type: USB
    driver: snd-usb-audio
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
Die nächste Zeile wäre jetzt die interessante gewesen, sie fängt mit „Server-1“ an :D

Aber wenn wir schon mal dabei sind, kannst du uns auch gleich pactl info melden.

--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 23.04.2025 15:58:16

kreuzschnabel hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 15:11:55
Die nächste Zeile wäre jetzt die interessante gewesen, sie fängt mit „Server-1“ an :D
Nee, nicht wirklich :? :

Code: Alles auswählen

~# inxi -A
Audio:
  Device-1: Intel Raptor Lake High Definition Audio driver: snd_hda_intel
  Device-2: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen type: USB driver: snd-usb-audio
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
kreuzschnabel hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 15:11:55
Aber wenn wir schon mal dabei sind, kannst du uns auch gleich pactl info melden.

Code: Alles auswählen

~# pactl info
Verbindungsfehler: Verbindung verweigert
pa_context_new() fehlgeschlagen: Verbindung verweigert
Grüße
LL

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 23.04.2025 15:58:51

Ah ... ok, mit der Option -x wird's besser:

Code: Alles auswählen

~# inxi -A -x
Audio:
  Device-1: Intel Raptor Lake High Definition Audio vendor: Gigabyte driver: snd_hda_intel
    v: kernel bus-ID: 1-7.3:9 bus-ID: 00:1f.3
  Device-2: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen type: USB driver: snd-usb-audio
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 1-7.4:10
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
  Server-1: PipeWire v: 0.3.65 status: n/a (root, process)
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
Nachtrag zum ersten Beitrag: Desktop ist Cinnamon ...
Zuletzt geändert von linuxlooser am 23.04.2025 16:19:25, insgesamt 1-mal geändert.
Grüße
LL

Benutzeravatar
smutbert
Beiträge: 8397
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von smutbert » 23.04.2025 16:17:47

Ich kenne inxi nicht, aber führst du das als root aus? root kann nicht auf den Audioserver des Benutzers (egal ob Pulseaudio oder Pipewire) zugreifen. (Und aus sicherheitsgründen ist es ohne weiteres nicht möglich pulseaudio oder pipewire als root zu starten.)


Wenn du alles normaler Benutzer machst, sollte es funktionieren, mit der kleinen Einschränkung, dass nicht alle Pulseaudiotools auch mit Pipewire problemlos zusammenarbeiten, vor allem pacmd nicht. Aber nachdem pactl so ziemlich dasselbe kann und auch fast dieselben Optionen und Kommandos kennt, ist das kein Problem. Zumindest funktioniert bei mir

Code: Alles auswählen

pactl load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink
problemlos.

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 23.04.2025 16:30:43

smutbert hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 16:17:47
Ich kenne inxi nicht, aber führst du das als root aus? root kann nicht auf den Audioserver des Benutzers (egal ob Pulseaudio oder Pipewire) zugreifen. (Und aus sicherheitsgründen ist es ohne weiteres nicht möglich pulseaudio oder pipewire als root zu starten.)
Als user ist die Ausgabezeile bzgl. Pulseaudio (Server 2) gleich:

Code: Alles auswählen

~$ inxi -A -x
Audio:
  Device-1: Intel Raptor Lake High Definition Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel bus-ID: 1-7.3:9 bus-ID: 00:1f.3
  Device-2: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen type: USB
    driver: snd-usb-audio
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 1-7.4:10
  API: ALSA v: k6.1.0-31-amd64 status: kernel-api
  Server-1: PipeWire v: 0.3.65 status: active
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
smutbert hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 16:17:47
... nicht alle Pulseaudiotools auch mit Pipewire problemlos zusammenarbeiten, vor allem pacmd nicht. Aber nachdem pactl so ziemlich dasselbe kann und auch fast dieselben Optionen und Kommandos kennt, ist das kein Problem. Zumindest funktioniert bei mir

Code: Alles auswählen

pactl load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink
problemlos.
Danke, ja - das hat geholfen! :THX:

Code: Alles auswählen

~$ pactl load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink
536870913
5518

Ist das jetzt dauerhaft verfügbar oder nur bis zum Neustart oder ... ?
Grüße
LL

Benutzeravatar
smutbert
Beiträge: 8397
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von smutbert » 23.04.2025 17:59:14

linuxlooser hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 16:30:43
Als user ist die Ausgabezeile bzgl. Pulseaudio (Server 2) gleich:
Wie gesagt, ich weiß nicht genau was inxi ausgibt oder ausgeben sollte, aber einen entscheidenden und hilfreichen Unterschied gibt es in der Zeile davor. Während die Zeile als root wenig aussagekräftig ist
linuxlooser hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 15:58:51

Code: Alles auswählen

~# inxi -A -x
[...]
  Server-1: PipeWire v: 0.3.65 status: n/a (root, process)
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
sieht man als normaler Benutzer, dass pipewire läuft
linuxlooser hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 16:30:43

Code: Alles auswählen

~$ inxi -A -x
[...]
  Server-1: PipeWire v: 0.3.65 status: active
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
linuxlooser hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 16:30:43
Ist das jetzt dauerhaft verfügbar oder nur bis zum Neustart oder ... ?
Das ist nach einem Neustart von Pipewire wieder weg. Ich bin mir über den Umfang der Pulseaudiokompatibilität noch immer unsicher, aber ich glaube der richtige Ort um das permanent zu machen wäre eine Datei »~/.config/pipewire/pipewire-pulse.conf.d/virtual-sink.conf« (der Dateiname ist bis auf die Endung .conf beliebig) mit dem Inhalt

Code: Alles auswählen

context.exec = [
  { path = "/usr/bin/pactl" args = "load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink" }
]
möglicherweise geht es auch noch etwas eleganter (aber ich weiß nicht wie)

Benutzeravatar
thunder11
Beiträge: 2556
Registriert: 19.04.2023 09:08:30

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von thunder11 » 24.04.2025 13:13:26

Ne Anmerkung, wobei ich nicht weis, ob das irgendwann mal bei dir Probleme geben könnte:
Offensichtlich hast du PulseAudio noch nicht vollständig "gekillt", da es ja als "Server 2" nur "off" ist.
Bei mir sieht das so aus (Testing):

Code: Alles auswählen

~$ inxi -Ax
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: ASRock driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3
  Device-2: TEAC USB AUDIO DEVICE driver: hid-generic,snd-usb-audio,usbhid
    type: USB bus-ID: 1-13:5
  API: ALSA v: k6.12.22-amd64 status: kernel-api
  Server-1: PipeWire v: 1.4.1 status: active
Um PA vollständig zu deaktivieren sollte folgender Befehl den Job machen:

Code: Alles auswählen

~$ systemctl --user --now disable pulseaudio.service pulseaudio.socket
Neustart wäre danach wohl angesagt
Kontrolle;

Code: Alles auswählen

~$ fuser -v /dev/dsp* /dev/snd/* 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  thunder    1671 F.... wireplumber
/dev/snd/controlC1:  thunder    1671 F.... wireplumber
/dev/snd/seq:        thunder    1668 F.... pipewire
und

Code: Alles auswählen

~$ pactl info|grep -i server
Server String: /run/user/1000/pulse/native
Server Protocol Version: 35
Server Name: PulseAudio (on PipeWire 1.4.1)
Server Version: 15.0.0

kreuzschnabel
Beiträge: 677
Registriert: 24.09.2020 14:51:14

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von kreuzschnabel » 24.04.2025 15:06:39

Hier steht’s haarklein, wie man Pulseaudio durch Pipewire ersetzt: https://wiki.debian.org/PipeWire

Versionen beachten und keinen Schritt auslassen. Einige Schritte müssen zwingend als User ausgeführt werden, nicht als root, das steht jeweils dabei.

--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM

Benutzeravatar
thunder11
Beiträge: 2556
Registriert: 19.04.2023 09:08:30

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von thunder11 » 24.04.2025 16:09:50

Ich denke, er müsste nur den von mir genannten Befehl ausführen.
Alles andere scheint ja schon vorhanden zu sein und Pipe läuft ja.
Ob wireplumber.service und Pipewire laufen, kann er - wie gesagt - kontrollieren mit

Code: Alles auswählen

fuser -v /dev/dsp* /dev/snd/* 
ganz genau so:

Code: Alles auswählen

systemctl --user status wireplumber
und so

Code: Alles auswählen

systemctl --user status pipewire*
....und natürlich alles als USER :!:

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 24.04.2025 18:35:57

thunder11 hat geschrieben: ↑ zum Beitrag ↑
24.04.2025 13:13:26
Ne Anmerkung, wobei ich nicht weis, ob das irgendwann mal bei dir Probleme geben könnte:
Offensichtlich hast du PulseAudio noch nicht vollständig "gekillt", da es ja als "Server 2" nur "off" ist.
Bei mir sieht das so aus (Testing):
Danke - aber da mach ich mal gar nix. Denn: ich hab die Kiste im Januar oder Februar mit dem dann aktuellen netinstall-Medium neu auf neuer SSD installiert und bewußt nix gemacht. Und hab dieses gelesen :D :
https://wiki.debian.org/DontBreakDebian
kreuzschnabel hat geschrieben: ↑ zum Beitrag ↑
24.04.2025 15:06:39
Hier steht’s haarklein, wie man Pulseaudio durch Pipewire ersetzt: https://wiki.debian.org/PipeWire
Wie gesagt - ich will/wollte nix ersetzen - hab mich nur gewundert, weil pacmd nicht gefunzt hat.

Und offenbar sieht meine Neuinstallation so aus wie hier viewtopic.php?t=186147#p1319520 beschrieben:
Was ich grundlegend nicht verstehe, ist momentan (ich beziehe mich jetzt auf bookworm) aus meiner Sicht so eine Art von Mischmasch zwischen Pipewire und Pulseaudio. Beides ist hier installiert und scheint auch notwendig zu sein. Wenn ich testhalber mal eines davon entfernen will, zeigt es eine Menge von Abhängigkeiten an.
Den Rest guck ich mir mal in Ruhe ein - von wegen persistente Virtual Sink und so. Melde mich dann wieder ...
Zuletzt geändert von linuxlooser am 24.04.2025 20:07:55, insgesamt 1-mal geändert.
Grüße
LL

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 24.04.2025 18:45:02

thunder11 hat geschrieben: ↑ zum Beitrag ↑
24.04.2025 16:09:50
Ob wireplumber.service und Pipewire laufen, kann er - wie gesagt - kontrollieren mit

Code: Alles auswählen

~$ fuser -v /dev/dsp* /dev/snd/*
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  {username}   1773 F.... pipewire
                     {username}   1774 F.... wireplumber
/dev/snd/controlC1:  {username}   1774 F.... wireplumber
/dev/snd/controlC2:  {username}   1774 F.... wireplumber
/dev/snd/pcmC0D0c:   {username}   1773 F...m pipewire
/dev/snd/pcmC0D0p:   {username}   1773 F...m pipewire
/dev/snd/pcmC1D0c:   {username}   1773 F...m pipewire
/dev/snd/pcmC1D0p:   {username}   1773 F...m pipewire
/dev/snd/pcmC2D0c:   {username}   1773 F...m pipewire
/dev/snd/seq:        {username}   1773 F.... pipewire

--------------------------------------------------------------------------

~$ systemctl --user status wireplumber
● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-02-24 13:03:46 CET; 1 month 28 days ago
   Main PID: 1774 (wireplumber)
      Tasks: 4 (limit: 76777)
     Memory: 15.7M
        CPU: 2min 45.572s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1774 /usr/bin/wireplumber

Apr 22 14:09:50 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 22 18:27:11 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 23 07:57:13 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 23 11:35:04 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 23 12:35:23 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 23 18:30:52 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 23 20:58:43 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 24 06:50:13 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 24 12:30:40 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
Apr 24 17:02:12 {rechnername} wireplumber[1774]: Trying to use legacy bluez5 API for LE Audio - only A2DP >
lines 1-20/20 (END)

--------------------------------------------------------------------------


~$ systemctl --user status pipewire*
● pipewire-pulse.socket - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
     Active: active (running) since Mon 2025-02-24 13:03:46 CET; 1 month 28 days ago
   Triggers: ● pipewire-pulse.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket

Feb 24 13:03:46 {rechnername} systemd[1757]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-02-24 13:03:46 CET; 1 month 28 days ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1775 (pipewire-pulse)
      Tasks: 2 (limit: 76777)
     Memory: 220.6M
        CPU: 6h 14min 9.734s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─1775 /usr/bin/pipewire-pulse

Feb 24 13:03:46 {rechnername} systemd[1757]: Started pipewire-pulse.service - PipeWire PulseAudio.
Feb 24 13:03:46 {rechnername} pipewire-pulse[1775]: mod.rt: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Feb 24 13:03:46 {rechnername} pipewire-pulse[1775]: mod.rt: found session bus but no portal

● pipewire.socket - PipeWire Multimedia System Socket
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
     Active: active (running) since Mon 2025-02-24 13:03:46 CET; 1 month 28 days ago
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

Feb 24 13:03:46 {rechnername} systemd[1757]: Listening on pipewire.socket - PipeWire Multimedia System Socket.

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-02-24 13:03:46 CET; 1 month 28 days ago
lines 1-36
Grüße
LL

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 24.04.2025 20:01:28

smutbert hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 17:59:14
Das ist nach einem Neustart von Pipewire wieder weg. Ich bin mir über den Umfang der Pulseaudiokompatibilität noch immer unsicher, aber ich glaube der richtige Ort um das permanent zu machen wäre eine Datei »~/.config/pipewire/pipewire-pulse.conf.d/virtual-sink.conf« (der Dateiname ist bis auf die Endung .conf beliebig)
Irgendwie finde ich dieses Verzeichnis nicht - schon nach ~/.config ist Ende, kein /pipewire/ ... im ganzen home-Verzeichnis nicht.
Grüße
LL

Benutzeravatar
smutbert
Beiträge: 8397
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von smutbert » 24.04.2025 20:18:23

Ja, die Verzeichnisse musst du erst erstellen

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 24.04.2025 20:30:55

ah - ok, danke. Erledigt. Nun mal sehen, was beim nächsten Neustart ... irgendwann in Tagen oder Wochen ... passiert.
Grüße
LL

Benutzeravatar
linuxlooser
Beiträge: 162
Registriert: 27.12.2012 17:17:37
Wohnort: Karlsruhe

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von linuxlooser » 25.04.2025 14:53:10

smutbert hat geschrieben: ↑ zum Beitrag ↑
23.04.2025 17:59:14
Das ist nach einem Neustart von Pipewire wieder weg. Ich bin mir über den Umfang der Pulseaudiokompatibilität noch immer unsicher, aber ich glaube der richtige Ort um das permanent zu machen wäre eine Datei »~/.config/pipewire/pipewire-pulse.conf.d/virtual-sink.conf« (der Dateiname ist bis auf die Endung .conf beliebig) mit dem Inhalt

Code: Alles auswählen

context.exec = [
  { path = "/usr/bin/pactl" args = "load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink" }
]
Ich hab das jetzt mal auf einem anderen "völlig unbelasteten" Rechner ins home-Verzeichnis eingeschleust und neu gestartet => pavucontrol zeigt eine schöne Virtual Sink an => funzt richtig gut => allerbesten Dank.
Grüße
LL

Benutzeravatar
smutbert
Beiträge: 8397
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von smutbert » 26.04.2025 00:22:18

Weil es mich selbst interessiert hat und ich mit pipewire noch nicht sehr vertraut bin, habe ich noch etwas gesucht wie man dasselbe ohne Pulseaudio-Tools nur mit pipewire erreicht. Einmal nur für die aktuelle Sitzung mit dem Befehl, ganz analog zu pactl

Code: Alles auswählen

pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=Virtual_Sink'
(eine Eigenheit ist hier, dass dieser Befehl sich nicht von selbst beendet und die virtuelle Senke nur zur Verfügung steht solange der Befehl läuft – bricht man den Befehl ab, z.B. mit ^C dann verschwindet auch die Senke wieder.)

Wie man genau dasselbe dauerhaft mit einem Eintrag in einer Konfigurationsdatei erreicht bin ich mir noch nicht sicher, aber etwas ähnliches erreicht man mit folgenden Inhalt, wieder in einer Konfigurationsdatei »~/.config/pipewire/pipewire-pulse.conf.d/virtual-sink.conf«:

Code: Alles auswählen

context.objects = [
    {   factory = adapter
        args = {
           factory.name     = support.null-audio-sink
           node.name        = "Virtual_Sink"
           media.class      = Audio/Sink
           object.linger    = true
           audio.position   = [ FL FR ]
           monitor.channel-volumes = true
           monitor.passthrough = true
        }
    }
]
edit:
und kaum schreibe ich diesen Beitrag habe ich glaube ich die Antwort gefunden – das müsste das exakt selbe sein, wie im pw-loopback Befehl oben

Code: Alles auswählen

{   name = libpipewire-module-loopback
    args = {
        audio.position = [ FL FR ]
        capture.props = {
            media.class = Audio/Sink
            node.name = Virtual_Sink
        }
    }
}

Benutzeravatar
novalix
Beiträge: 1915
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Virtuelle Quellen und Senken in Pulseaudio

Beitrag von novalix » 26.04.2025 12:27:49

Hi,
kleiner eher allgemeiner Einwurf von mir.

Die pipewire Version in stable ist gemessen an dem Entwicklungstempo von upstream alt. Die Debian Maintainer pflegen eine recht nah an den aktuellen releases orientierte Version in den backports.

Meine Empfehlung wäre, diese Version zu benutzen, wenn man sich auf bookworm mit pipewire vertraut machen möchte. Falls man die jack emulation (das Modul: pipewire-jack) sinnvoll nutzen möchte, ist das sogar eine Voraussetzung.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Antworten