Audio-Ausgabe funktioniert nur mit einem einzigen Programm gleichzeitig

Hallo!

Meist lassen sich die (seltenen) Probleme beim Betrieb von Tumbleweed durch Suchen und Nachlesen lösen, hier mal ausnahmsweise nicht, daher brauche ich einen Rat:

Ich habe mit zypper -dup upgedatet und arbeite jetzt mit Tumbleweed 20181103 / Plasma 5.14.2 / KDE 5.51

Bislang kenne ich es, daß ich verschiedene Programme in KDE gleichzeitig geöffnet haben und jedes davon (ggf. auch alle gleichzeitig) Audio wiedergeben kann. Die Audio-Ausgabe wurde dann aus den unterschiedlichen “Quellen” zusammengemischt. KMix führte diese Programme als “Anwendungen, die Audio wiedergeben” mit eigenen Lautstärkereglern in einer Registerkarte auf.

Bis zu dem Update funktionierte das unabhängig davon, welches System zur Audioausgabe von den Programmen gentzt wurde, seitdem nur noch, wenn von den Programmen Pulseaudio zur Wiedergabe verwendet wird.

Es gibt leider Software, die das nicht kann (die in den Repos angebotene Version von Audacity z.B. gibt Sound nur direkt über ALSA aus) und die mir jetzt einen Fehler präsentiert (“Ausgabegerät ist nicht verfügbar”), sobald ich Audio wiedergeben will und gleichzeitig noch irgendein anderes Programm geöffnet ist, das auch Audio abspielen könnte.

Das ist störend, weil ich dann immer “alles andere” (Browser, andere Audioplayer, Digikam etc.) schließen muß, wenn ich z.B. Audiodateien bearbeiten möchte.

Ist das ein gewünschtes Verhalten? Weiß jemand einen Rat?

Audacity funktioniert auch über pulseaudio, da gibt es ein alsa-plugin…
Poste:

zypper se -si pulse alsa

Ich denke, das Plugin ist installiert:


S  | Name                        | Typ   | Version      | Arch   | Repository             
---+-----------------------------+-------+--------------+--------+------------------------
i+ | alsa                        | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-devel                  | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-firmware               | Paket | 1.0.29-1.5   | noarch | openSUSE-Tumbleweed-Oss
i+ | alsa-oss                    | Paket | 1.1.6-2.2    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-oss-32bit              | Paket | 1.1.6-2.2    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-plugins                | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-plugins-32bit          | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-plugins-jack-32bit     | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-plugins-pulse          | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-plugins-pulse-32bit    | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | alsa-utils                  | Paket | 1.1.7-1.1    | x86_64 | openSUSE-Tumbleweed-Oss
i+ | apulse                      | Paket | 0.1.12-1.1   | x86_64 | openSUSE-Tumbleweed-Oss
i+ | apulse-32bit                | Paket | 0.1.12-1.1   | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libpulse-devel              | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libpulse-devel-32bit        | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libpulse-mainloop-glib0     | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libpulse0                   | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libpulse0-32bit             | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libxine2-pulse              | Paket | 1.2.9-136.17 | x86_64 | Packman                
i+ | mpg123-pulse                | Paket | 1.25.10-2.1  | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio                  | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-bash-completion  | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-equalizer        | Paket | 2.7.0.2-7.1  | noarch | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-lang             | Paket | 12.2-1.1     | noarch | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-bluetooth | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-gconf     | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-jack      | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-lirc      | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-x11       | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-module-zeroconf  | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-system-wide      | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-utils            | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss
i+ | pulseaudio-utils-32bit      | Paket | 12.2-1.1     | x86_64 | openSUSE-Tumbleweed-Oss

Audacity bietet mir nur ALSA als Auswahl zur Sound-Ausgabe an. Ob / Daß es Pulseaudio verwendet war für mich als Nutzer zunächst nicht erkennbar.
Allerdings verschwinden Wiedergabegeräte aus der Auswahl in Audacity, sobald ein anderes Programm diese zum Abspielen nutzt.

Das Problem ist auch nicht auf Audacity beschränkt: Es tritt immer auf, sobald ein Programm Sound (über etwas anderes als Pulseaudio) abspielen soll, während eine zweite Applikation Sound-Ausgabe ebenfalls nutzt.

Die letzten Updates von Pulseaudio / ALSA sind auch schon eine Weile her. Ich hätte erstmal an ein KDE-Problem gedacht.

Audacity bietet mir nur ALSA als Auswahl zur Sound-Ausgabe an.

Das hat dann aber nichts mit der Ausgabe von pulseaudio zu tun.

Irgendwas läuft da schief.

Du machst die Updates aber mit:

zypper dup

Yep. Und immer schön in der Konsole.

Gestern gab es ein Update für ALSA, hat aber nichts verändert.
ALSA und / oder Pulseaudio de- und neu installieren verändert auch nichts.

Mich wundert, daß kein Programm, bei dem ich ALSA als Ausgabemodul einstellen kann (habe VLC, Audacity und Audacious probiert), mehr im Gegensatz zu vor dem letzten KDE-Update, in KMix als “Anwendung, die Audio wiedergibt” korrekt aufgelistet wird. Die Liste bleibt dann leer.

in KMix

Benutze ich nur zum ändern der Lautstärke.
Der Rest wird mit pavucontrol (PulseAudio Lautstärkeregler) gemacht.

Poste als User:

pulseaudio --dump-conf
pulseaudio --dump-modules

Dabei kommt das heraus:

@highlander:~> pulseaudio --dump-conf
### Aus Konfigurationsdatei wird gelesen: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib64/pulse-12.2/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = notice
resample-method = auto
avoid-resampling = yes
enable-remixing = yes
remixing-use-all-sink-channels = yes
enable-lfe-remixing = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

Aber hierbei gibt es einen Fehler:

@highlander:~> pulseaudio --dump-modules
module-allow-passthrough                When a passthrough stream is requested, route all the other streams to a dummy device
module-alsa-card                        ALSA Card
module-alsa-sink                        ALSA Sink
module-alsa-source                      ALSA Source
module-always-sink                      Hält stets ein Ziel geladen, selbst wenn dies ein Null-Ziel ist
module-always-source                    Always keeps at least one source loaded even if it's a null one
module-augment-properties               Augment the property sets of streams with additional static information
module-bluetooth-discover               Detect available Bluetooth daemon and load the corresponding discovery module
module-bluetooth-policy                 Policy module to make using bluetooth devices out-of-the-box easier
module-bluez5-device                    BlueZ 5 Bluetooth audio sink and source
module-bluez5-discover                  Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers
module-card-restore                     Automatically restore profile of cards
module-cli                              Command line interface
module-cli-protocol-tcp                 Command line interface protocol (TCP sockets)
module-cli-protocol-unix                Command line interface protocol (UNIX sockets)
module-combine                          Compatibility module (module-combine rename)
module-combine-sink                     Combine multiple sinks to one
module-console-kit                      Create a client for each ConsoleKit session of this user
module-dbus-protocol                    D-Bus interface
module-default-device-restore           Automatically restore the default sink and source
module-detect                           Detect available audio hardware and load matching drivers
module-device-manager                   Keep track of devices (and their descriptions) both past and present and prioritise by role
module-device-restore                   Automatically restore the volume/mute state of devices
module-echo-cancel                      Echo Cancellation
module-equalizer-sink                   Allzweck-Equalizer
module-esound-compat-spawnfd            ESOUND compatibility module: -spawnfd emulation
module-esound-compat-spawnpid           ESOUND compatibility module: -spawnpid emulation
module-esound-protocol-tcp              ESOUND protocol (TCP sockets)
module-esound-protocol-unix             ESOUND protocol (UNIX sockets)
module-esound-sink                      ESOUND Sink
module-filter-apply                     Load filter sinks automatically when needed
module-filter-heuristics                Detect when various filters are desirable
module-gconf                            GConf Adapter
module-http-protocol-tcp                HTTP (TCP sockets)
module-http-protocol-unix               HTTP (UNIX sockets)
module-intended-roles                   Automatically set device of streams based on intended roles of devices
module-jack-sink                        JACK Sink
module-jack-source                      JACK Source
module-jackdbus-detect                  Adds JACK sink/source ports when JACK is started
module-ladspa-sink                      Virtuelles LADSPA-Ziel
module-lirc                             LIRC volume control
module-loopback                         Loopback from source to sink
module-match                            Playback stream expression matching module
module-mmkbd-evdev                      Multimedia keyboard support via Linux evdev
module-native-protocol-fd               Native protocol autospawn helper
module-native-protocol-tcp              Native protocol (TCP sockets)
module-native-protocol-unix             Native protocol (UNIX sockets)
module-null-sink                        Getaktetes NULL-Ziel
module-null-source                      Clocked NULL source
module-oss                              OSS Sink/Source
module-pipe-sink                        UNIX pipe sink
module-pipe-source                      UNIX pipe source
module-position-event-sounds            Position event sounds between L and R depending on the position on screen of the widget triggering them.
module-raop-discover                    mDNS/DNS-SD Service Discovery of RAOP devices
module-raop-sink                        RAOP Sink
module-remap-sink                       Virtual channel remapping sink
module-remap-source                     Virtual channel remapping source
module-rescue-streams                   When a sink/source is removed, try to move its streams to the default sink/source
module-role-cork                        Mute & cork streams with certain roles while others exist
module-role-ducking                     Apply a ducking effect based on streams roles
module-rtp-recv                         Receive data from a network via RTP/SAP/SDP
module-rtp-send                         Read data from source and send it to the network via RTP/SAP/SDP
module-rygel-media-server               UPnP MediaServer Plugin for Rygel
module-simple-protocol-tcp              Simple protocol (TCP sockets)
module-simple-protocol-unix             Simple protocol (UNIX sockets)
module-sine                             Sine wave generator
module-sine-source                      Sine wave generator source
module-stream-restore                   Automatically restore the volume/mute/device state of streams
module-suspend-on-idle                  When a sink/source is idle for too long, suspend it
module-switch-on-connect                When a sink/source is added, switch to it or conditionally switch to it
module-switch-on-port-available         Switches ports and profiles when devices are plugged/unplugged
module-systemd-login                    Create a client for each login session of this user
module-tunnel-sink                      Tunnel module for sinks
module-tunnel-sink-new                  Create a network sink which connects via a stream to a remote PulseAudio server
module-tunnel-source                    Tunnel module for sources
module-tunnel-source-new                Create a network source which connects via a stream to a remote PulseAudio server
module-udev-detect                      Detect available audio hardware and load matching drivers
module-virtual-sink                     Virtual sink
module-virtual-source                   Virtual source
module-virtual-surround-sink            Virtuelles Surround-Ziel
module-volume-restore                   Compatibility module
module-x11-bell                         X11 bell interceptor
module-x11-cork-request                 Synthesize X11 media key events when cork/uncork is requested
module-x11-publish                      X11 credential publisher
module-x11-xsmp                         X11 session management
module-zeroconf-discover                mDNS/DNS-SD Service Discovery
module-zeroconf-publish                 mDNS/DNS-SD Service Publisher
E: [pulseaudio] ltdl-bind-now.c: Modul »/usr/lib/module-init-tools.so« konnte nicht geladen werden: /usr/lib/module-init-tools.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
E: [pulseaudio] modinfo.c: Failed to open module "/usr/lib/module-init-tools": file not found

Eine Datei module-init-tools.so existiert tatsächlich nicht, auch kein Symlink, nur ein Verzeichnis mit gleichem Namen. Ich finde allerdings auch kein Paket, das diese Bibliothek bereitstellen würde.