vdr-softhddevice keine Tonausgabe

  • Hallo,


    ich versuche schon seit ein paar Tagen einen Ton über das vdr-softhddeve Plugin zu bekommen, vergeblich.

    In der Logmeldungen lässt sich auch erkennen, dass das Device belegt ist.


    In Fedra 33 hatte ich folgende Einstellung, damit pulseaudio nicht mehrfach startet.

    Dazu habe ich die Datei client.conf im Homeverzeichnis von vdr erstellt.

    Code
    1. mkdir /var/lib/vdr/data/.pulse


    die Datei client.conf hat den Inhalt:

    Code
    1. autospawn=no


    und die entsprechenden Rechte vergeben.

    Code
    1. cd /varlib/vdr/data
    2. chown -R vdr:video .pulse/


    Zwischenzeitlich hat ja Fedora in der Version 34, auf pipewire umgestellt, weis jetzt nicht ob hier noch weitere Einstellungen notwendig sind.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • keine Ahnung warum es gerade wieder läuft ?


    ein ps -ef zeigt folgende Plugins

    Code
    1. vdr 967 1 4 14:15 ? 00:00:03 /usr/sbin/vdr -v /video --vfat -D0 -u vdr --userdump -s vdr-shutdown.sh --plugin=softhddevice -s -g 1680x1050+100+100 -a hw:0,0 -d :1.0 -v vdpau --plugin=streamdev-client --plugin=dvbhddevice --plugin=markad --logocachedir=/var/lib/vdr/data/markad/logos --autologo=2 --plugin=burn -d /data/tmp --tempdir=/data/tmp --iso=/data/film --dvd=/dev/sr1 --plugin=epgsearch -l /var/log/vdr/epgsearch.log --plugin=live --ip=127.0.0.1 --plugin=skinnopacity --iconpath=/usr/share/vdr/plugins/skinnopacity/icons/ --logopath=/usr/share/vdr/plugins/skinnopacity/logos/ --epgimages=/var/cache/vdr/plugins/skinnopacity/epgimages/ --plugin=streamdev-server --plugin=tvguide --logopath=/usr/share/vdr/plugins/tvguide/channellogos/ --epgimages=/usr/share/vdr/plugins/tvguide/epgimages/ --iconpath=/usr/share/vdr/plugins/tvguide/epgimages/
    2. root 3145 3092 0 14:17 pts/0 00:00:00 grep --color=auto vdr


    Habe ein bisschen in der /etc/vdr/setup.conf rumgespielt, jetzt habe ich nach dem Neustart wieder Ton.


    Code
    1. PrimaryDVB = 2
    2. softhddevice.MakePrimary = 1


    Muß ich mal etwas länger beobachten.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Hallo,


    ich habe da ein Problem wenn ich z.B. ein youtube Video abspiele und anschließend den vdr aus dem suspend Modus erwecke, die

    Sounddevice immer belegt ist. Wie bekomme ich das geregelt, dass mehrere Anwendungen gleichzeitig die Soundkarte nutzen können.

    Jedenfalls ging es noch mit der vorherigen Fedora33 Version, jetzt habe ich Fedora 34 mit Pulseaudio/Pipewire


    softhddevice Einstellung

    Code
    1. PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a hw:0,0 -d :1.0 -v vdpau"


    Meldungen in der Logdatei bzgl. belegter Sounddevice


    Auflisten der Ausgabegeräte


    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Alsa-Clients und pulseaudio können nicht parallel auf das gleiche Gerät zugreifen. Üblich ist es entweder das alsa-Plugin für pulseaudio zu nutzen (dazu muss der VDR in der selben Session wie pulseaudio laufen und als Ausgabe-Device gibt man dann pulse an bzw. setzt das als Default-Alsa Device: https://wiki.archlinux.de/titl…guration_des_Alsa_Plugins) oder man muss mit einem Programm wie pasuspend dafür sorgen, dass pulseaudio das alsa-Device loslässt (das kann ansonsten bei Inaktivität passieren, dass pulseaudio das Device zum Energiesparen loslösst). Da man beim Attachen des VDR-Frontends keinen lange laufenden Prozess hatte, hat mini73 mal ein Programm geschrieben, mit dem man das gezielt an bzw. abschalten kann: https://github.com/flensrocker/yavdr-pasuspend - wichtig: andere Programme, die pulseaudio zur Ausgabe nutzen, frieren dann ein, bis pulseaudio wieder Ton ausgeben kann - wie das mit pipewire zusammenspielt, müsstest du ausprobieren.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Alsa-Clients und pulseaudio können nicht parallel auf das gleiche Gerät zugreifen. Üblich ist es entweder das alsa-Plugin für pulseaudio zu nutzen (dazu muss der VDR in der selben Session wie pulseaudio laufen und als Ausgabe-Device gibt man dann pulse an bzw. setzt das als Default-Alsa Device: https://wiki.archlinux.de/titl…guration_des_Alsa_Plugins) oder man muss mit einem Programm wie pasuspend dafür sorgen, dass pulseaudio das alsa-Device loslässt (das kann ansonsten bei Inaktivität passieren, dass pulseaudio das Device zum Energiesparen loslösst). Da man beim Attachen des VDR-Frontends keinen lange laufenden Prozess hatte, hat mini73 mal ein Programm geschrieben, mit dem man das gezielt an bzw. abschalten kann: https://github.com/flensrocker/yavdr-pasuspend - wichtig: andere Programme, die pulseaudio zur Ausgabe nutzen, frieren dann ein, bis pulseaudio wieder Ton ausgeben kann - wie das mit pipewire zusammenspielt, müsstest du ausprobieren.

    Danke für die Info, dann muss ich halt damit leben und die Device, wenn sie belegt ist wieder freigeben.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • hw 0.0 - is this a Intel?

    Try

    -a front:CARD=PCH,DEV=0

    -a surround51:CARD=PCH,DEV=0


    The problem is that the device is already being used by another program.

    I thinks it's time, that vdr-softhddevice would support pulseaudio/pipewire as sound system.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • PulseAudio soll ja durch PipeWire abgelöst werden, also macht es vermutlich nicht mehr viel Sinn, jetzt noch PulseAudio-Unterstützung zu programmieren - vor allem, weil das auch nicht so einfach ist.


    Was genau benutzt du denn jetzt? PipeWire oder PulseAudio?

    Vermutlich wäre es am sinnvollsten, PipeWire zu benutzen und dann den vdr als "legacy alsa"-Programm dort anzudocken? Keine Ahnung, ob andere Programm das schon vernünftig unterstützen.

    https://wiki.archlinux.org/tit…#ALSA/Legacy_applications

    https://gitlab.freedesktop.org…running-alsa-applications


    Es macht sicherlich keinen Sinn, das PulseAudio-Alsa-Plugin zu benutzen, um dann PulseAudio auf PipeWire laufen zu lassen.


    Lars.

  • Hast du mal -a pipewire probiert? Das müsste ja das Alsa-Device vom PipeWire-Server sein.


    ja, habe mal in der softhddevice.conf folgendes eingetragen und den vdr-Dienst neu gestartet.

    Code
    1. PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a pipewire -d :1.0 -v vdpau"


    dann kommen diese Meldungen im Log.

    aber ich vermute wie seahawk1986 geschrieben hat wird das warscheinlich nicht klappen, da ich mit mit dem Benutzer martin an meinem PC anmelde

    und der VDR-Dienst läuft mit dem Benutzer vdr, aber nur eine Vermutung.


    und ja, auf Fedora34 läuft mit der neuen Version nun pipewire


    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Das klingt nach ähnlichen Problemen wie mit Pulseaudio. Der Daemon ist im Grunde nur auf einen User ausgelegt und läuft in dessen Kontext.

    Wenn man verschiedene User Ton auf die gleiche Hardware ausgeben lassen möchte, dann muss man wohl eine systemweite Instanz davon laufen lassen.

    https://bbs.archlinux.org/viewtopic.php?id=265878


    Das war mit Pulseaudio auch schon nicht einfach, ich hab aber keine Ahnung, wie das mit PipeWire läuft - von dem Ding hab ich sowieso erst vor kurzem "aus Versehen" was gehört, weil Fedora das jetzt per default benutzt.


    Lars.

  • Hallo,


    habe mal pipewire mit der Option -D systemd-system-service=enabled kompiliert und installiert.


    In der softhddevice.conf steht gerade das drin:

    PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a surround51:CARD=PCH,DEV=0 -d :1.0 -v vdpau"

    Code
    1. Mai 18 22:09:26 fc34 vdr[42324]: audio: 'alsa' output module used
    2. Mai 18 22:09:26 fc34 vdr[42324]: audio/alsa: playback open 'surround51:CARD=PCH,DEV=0' error: Das Gerät oder die Ressource ist belegt
    3. Mai 18 22:09:26 fc34 vdr[42324]: audio/alsa: can't open mixer 'default'
    4. Mai 18 22:09:26 fc34 vdr[42324]: audio: 44100Hz supports 0 0 0 0 0 0 0 0 channels
    5. Mai 18 22:09:26 fc34 vdr[42324]: audio: 48000Hz supports 0 0 0 0 0 0 0 0 channels
    6. Mai 18 22:09:26 fc34 vdr[42324]: audio: 192000Hz supports 0 0 0 0 0 0 0 0 channels
    7. ...
    8. Mai 18 22:09:28 fc34 vdr[42324]: audio: 2 channels unsupported

    wenn

    PLUGIN_OPTIONS="-s -g 1680x1050+200+100 -a surround51:CARD=PCH,DEV=0 -d :1.0 -v vdpau"

    In der softhddevice.conf steht, dann bekomme ich:

    Code
    1. Mai 18 22:14:28 fc34 vdr[42624]: audio: 'alsa' output module used
    2. Mai 18 22:14:28 fc34 vdr[42624]: audio/alsa: playback open 'pipewire' error: Der Rechner ist nicht aktiv
    3. Mai 18 22:14:28 fc34 vdr[42624]: audio/alsa: can't open mixer 'default'
    4. Mai 18 22:14:28 fc34 vdr[42624]: audio: 44100Hz supports 0 0 0 0 0 0 0 0 channels
    5. Mai 18 22:14:28 fc34 vdr[42624]: audio: 48000Hz supports 0 0 0 0 0 0 0 0 channels
    6. Mai 18 22:14:28 fc34 vdr[42624]: audio: 192000Hz supports 0 0 0 0 0 0 0 0 channels

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Ich muss mir mal den Artikel How to make PulseAudio run once at boot for all your users

    genauer durchlesen und auf Pipewire anpassen.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • "surround51:CARD=PCH,DEV=0" klingt ja nach einem Alsa-Hardware-Device, welches von PipeWire natürlich belegt ist.

    Ansonsten musst du mal herausfinden, was die Fehlermeldung "Der Rechner ist nicht aktiv" genau bedeutet.


    Lars.