Posts by MartinKG

    Hallo Markus,


    ich versuche gerade die 1.1.6 auf Fedora 35 zu kompilieren, da scheitere ich mit der folgenden Fehlermeldung:

    Code
    1. etup.h: In member function 'void langOsd::addLanguage(int)':
    2. setup.h:23:101: error: call of overloaded 'max(int&, int)' is ambiguous 23 | void addLanguage(int lang) { m_osdTexts[m_numLang] = getLangText(lang); m_maxOsdTextLength = max(m_maxOsdTextLength, (int)strlen(m_osdTexts[m_numLang])); m_osdMap.insert(m_numLang++, lang); } | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3. In file included from /usr/include/vdr/i18n.h:14, from /usr/include/vdr/plugin.h:13, from tvscraper.c:19:
    4. /usr/include/vdr/tools.h:59:28: note: candidate: 'T max(T, T) [with T = int]' 59 | template<class T> inline T max(T a, T b) { return a >= b ? a : b; } | ^~~
    5. In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/math.h:36, from /usr/include/vdr/tools.h:18, from /usr/include/vdr/i18n.h:14, from /usr/include/vdr/plugin.h:13, from tvscraper.c:19:
    6. /usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'constexpr const _Tp& std::max(const _Tp&, const _Tp&) [with _Tp = int]' 254 | max(const _Tp& __a, const _Tp& __b) | ^~~

    Wie kann ich das lösen ?

    Habe es jetzt mal mit diesem Patch beheben können.


    komplette Logdatei


    Danke

    Martin

    Damit das auch außerhalb der PM sichtbar ist, hier noch mal:

       


    ....

    Und eine Systemd-Unit, die es mit Login startet:

    Damit das beim Start geladen wird, muss man die Unit noch aktivieren: sudo systemctl enable headless-session@vdr.service

    ....


    Danke für die ausführlich Anleitung, TOP. Werde ich am Wochenende mal testen.


    Das Systemd Skript heißt dann sicherlich korrekt headless-session@vdr.service

    und nicht headless-session@.service ?


    Das @-Symbol steht für spezielle Dienste, Sockets und andere Einheiten,´

    in denen mehrere Instanzen ausgeführt werden können.

    Ach so, dann hast du das Problem generell, wenn der VDR nicht im Kontext deiner Session läuft - da gibt es (wie bei Pulseaudio auch) einige Möglichkeiten - z.B. kann man Clients über TCP dran hängen: https://wiki.archlinux.org/tit…_computers_on_the_network - d.h. der VDR braucht eine eigene Pipewire-Instanz, die sich an die des Desktop-Users hängt.


    Alternativ sollte es auch gehen, wenn der VDR unter dem selben Nutzer wie dein Desktop-User läuft und du ihm die Umgebungsvariablen der Session gibst.

    Entschuldige wenn ich frage:


    1. Wie richte ich eine eigene Pipewire-Instanz für den VDR-Benutzer ein ? Sollte doch mit den Einstellungen, die ich bereits unter /home/martin/.config/pipewire/pipewire-pulse.conf vorgenommen habe erledigt sein, oder ?


    2. wenn ich den VDR mit dem Benutzer -u martin laufen lasse, wo gebe ich dann die Umgebungsvariablen der Session mit ?


    Ich habe mal im Homeverzeichnis des VDR-Benutzers eine .bash_profile angelegt, mich ausgeloggt und wieder eingeloggt, fkt. aber nicht.

    [root@fc36 ~]# cat -v /var/lib/vdr/data/.bash_profile

    Code
    1. export XDG_MENU_PREFIX=gnome-
    2. export XDG_SESSION_DESKTOP=gnome
    3. export XDG_SESSION_TYPE=x11
    4. export XDG_CURRENT_DESKTOP=GNOME
    5. export XDG_SESSION_CLASS=user
    6. export XDG_RUNTIME_DIR=/run/user/1000
    7. export XAUTHORITY=/run/user/1000/gdm/Xauthority

    wenn ich dann die gesetzen Umgebungsvariablen für den Benutzer vdr abfrage erhalte ich die folgende Meldung:


    Code
    1. [martin@fc36 ~]$ sudo -Hiu vdr env
    2. Dieses Konto ist momentan nicht verfügbar.

    irgendwie bekomme ich das nicht hin

    Den Pipewire-Pulseserver habe ich bereits eingerichtet, dazu habe ich für den Desktop Benutzer martin unter Gnome folgende Einstellungen vorgenommen:

    Ich beschreibe hier einfach mal, welche Einstellungen ich vorgenommen habe, vielleicht hilft es jemand anders mal.

    Code
    1. [root@fc36 ~]# cp /usr/share/pipewire/pipewire-pulse.conf /home/martin/.config/pipewire/


    Einstellung in der Datei /home/martin/.config/pipewire/pipewire-pulse.conf


    Setzen der Berechtigungen

    Code
    1. chown martin:martin /home/martin/.config/pipewire/pipewire-pulse.conf


    Umgebungsvariable PULSE_SERVER in /home/martin/.bashrc eintragen

    Code
    1. export PULSE_SERVER=tcp:127.0.0.1:4713


    Aktivieren der PULSE_SERVER Umgebungsvariable in der Sitzung

    Code
    1. [martin@fc36 ~]$ source ~/.bashrc


    Prüfen ob der Pulseaudio Server läuft


    Lauscht Pipewire-pulse auf den Port 4713

    Code
    1. [martin@fc36 ~]$ netstat -tulpen |grep 4713
    2. tcp 0 0 0.0.0.0:4713 0.0.0.0:* LISTEN 1000 38547 3582/pipewire-pulse
    3. tcp6 0 0 :::4713


    Aktive und notwendige pipewire-Dienste:

    Code
    1. [martin@fc36 ~]$ systemctl --user list-unit-files|grep wire
    2. pipewire-pulse.service enabled disabled
    3. pipewire-session-manager.service alias -
    4. pipewire.service disabled disabled
    5. wireplumber.service enabled enabled
    6. wireplumber@.service disabled disabled
    7. pipewire-pulse.socket enabled enabled
    8. pipewire.socket


    Einstellungen für den VDR-Benutzer im Homeverzeichnis

    Code
    1. [martin@fc36 ~]$ cat -v /var/lib/vdr/data/.pulse/client.conf
    2. autospawn = no
    3. default-server = 127.0.0.1

    die Kommunikation mit pipewire klappt nicht, nur wenn ich manuell im Terminal starte.


    Meldungen in der journal-log beim Start aus dem Terminal, dann ist alles ok.

    Code
    1.  Jul 09 15:45:23 fc36 vdr[9216]: audio/alsa: using device 'pipewire'


    journalctl -u vdr.service

    Hallo,


    ich habe auf meinem Desktop-Rechner vdr-2.6.1 mit vdr-softhddevice-1.4.0 installiert. Beim Neustart des Rechners wird der VDR über die Dienste mit dem Parameter -s im Suspend-Modus mit gestartet.



    /etc/sysconfig/vdr-plugins.d/softhddevice.conf

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


    Zum Aufwecken des VDR habe ich mir Skripte auf den Desktop gelegt, die folgendes machen:

    Code
    1. xhost +
    2. svdrpsend plug softhddevice deta
    3. svdrpsend plug softhddevice atta

    dann geht das vdr-softhddevice Fenster auf dem Gnome Desktop auf, ich habe dann aber keinen Ton



    Starte ich hingegen den vdr über ein Terminal-Fenster (ohne -s Parameter ), dann habe ich sauber einen Ton

    Code
    1. /usr/sbin/vdr -v /video -D1 -u vdr --vfat --userdump -s vdr-shutdown.sh --plugin='dvbhddevice' --plugin='softhddevice -g 1680x1050+100+100 -a pipewire -d :1 -v vdpau' --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='tvguide --logopath=/usr/share/vdr/plugins/tvguide/channellogos/ --epgimages=/usr/share/vdr/plugins/tvguide/epgimages/ --iconpath=/usr/share/vdr/plugins/tvguide/epgimages/' --plugin='epgsearch -l /var/log/vdr/epgsearch.log' --plugin=streamdev-server --plugin=streamdev-client --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'

    Alsa leitet dann den Ton sauber auf den Pipewire-Pulseaudio Server weiter.
    [Blocked Image: https://ibb.co/kmfgKPp]


    Was muss ich tun, damit ich einen Ton bekomme, wenn der VDR aus dem Suspend-Modus aufgeweckt wird ?

    Hallo,


    ich habe hier das Plugin softhddevice in der Version 1.0.14 im Einsatz.

    Gestern ist mir beim Schneiden und Spulen einer Aufnahme das Ganze hängen geblieben und hat einen Coredump erzeugt.

    Ich hänge mal den backtrace davon an, vielleicht kann man darin erkennen, wo das Problem liegt.

    Files

    • backtrace.txt

      (15.63 kB, downloaded 62 times, last: )

    Hallo,


    ich konnte bisher keine Probleme feststellen, eine Freigabe wäre meinerseits möglich.

    Ja, damit ist es mir auch nicht gelungen. Aber mein Verdacht war richtig, du kannst den Crash "mit Gewalt" erzeugen, indem du einen Timer aus der Programmübersicht erstellst und vor dem Speichern im Browser die letzte Stelle der URL löscht um eine ungültige Event ID zu erzeugen. Beim Speichern kommt dann genau dein Crash. Man sollte besser Pointer auf NULL überprüfen bevor man sie verwendet ...

    Fix ist im Branch Tntnet30, Branch crash ist gelöscht.

    Vielen Dank für deine Mühe, wann werden deine Änderungen übernommen ?

    kfb77 Hallo melde mich nochmals,

    habe heute Morgen nochmals etwas rum gespielt und bin im web-browser von vdr-live ein paar Schritte zurückgegangen habe dann in den abrt-Ordner geschaut, da lag dann dieser Coredump von welchem ich einen Backtrace erstellt habe.

    Files

    • backtrace3.txt

      (10.5 kB, downloaded 98 times, last: )

    Super, die beiden gemeldeten Probleme sind jetzt behoben.

    Am Anfang als ich die neue Version installiert hatte, bekam ich einen Coredump, ich weis leider nicht mehr, was ich gemacht habe, kann gerade nicht

    mehr nachvollziehen. Ich habe jetzt einfach mal den backtrace angehängt, vielleicht lässt sich daraus was ermitteln ?

    (Ich habe nach bt full, noch ein where und list abgesetzt).

    Files

    • backtrace2.txt

      (17.78 kB, downloaded 93 times, last: )