Fernbedienung - träge Bedienung

  • Hallo Miteinander!


    Seit ein paar Wochen teste ich yVDR 0.4. Inzwischen läufts auch sehr gut. Was mich aber massiv stört (weil ich es anders gewohnt bin), ist die träge Bedienung des VDRs. Versucht habe ich es bisher mit einer X10, einer Hama MCE Remote und althergebracht mit einem Homebrew (Atric) Empfänger und einer alten Hauppauge RC5 FB.
    PC-Hardware ist folgende:
    ASUS M4A78LT-M
    AMD Athlon X2 250 2x3.0GHz
    NVIDIA GT210


    Es hat bei mir anscheinend auch nichts mit dem verwendeten Skin zu tun. Es wird zwar mit dem einen Skin etwas besser, mit dem anderen etwas schlechter, aber flüssig lässt er sich nie bedienen.
    Was kann man denn tun, damit es besser wird? Wie verzichte ich auf den Umweg über eventlircd und spreche mit lircd direkt den VDR an. So, wie es früher auch immer gemacht wurde.


    Gruß
    BOP

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Hallo BOP,
    was ich mich gerade frage ist, was du unter träger Bedienung verstehst - ist dir die FB zu langsam (oder zu verzögert) oder das OSD nicht schnell genug? Welche Skins verwendest du?


    Interessanterweise habe ich ähnliche Fernbedienungen wie du im Einsatz (die allerdings auf 3 Geräte mit yaVDR verteilt):


    Zum Atric und lircd:
    yaVDR 0.4 nutzt aktuell lircd mit der Option --uinput um ein Event-Gerät zu erzeugen, das von eventlircd ausgelesen wird. IMHO hat lircd in diesem Bereich ein schwerwiegendes Problem, da es oft doppelte Tastendrücke für einen Einzeltastendruck sendet, die ich zunächst mit unterschiedlichen Repeat-Filter Werten abgefangen habe (siehe: Umfrage zu Eventlircd - Einstellung des Repeat-Filters ) - damit wurde es besser aber schön ist etwas anderes.
    Meine neue Lösung, die IMHO ähnlich gut funktioniert wie lircd direkt an den VDR zu hängen ist lircd2uinput - ein Python-Skript, das auf dem originalen Lirc-Socket lauscht und dann nach Anwendung eines konfigurierbaren Repeat-Filters die Tastendrücke über ein virtuelles Event-Gerät an eventlircd weiterleitet (siehe [0.4]XBMC- Einfacher Tastendruck -> Doppelte eingabe).
    Aktuell ist das Skript so konfiguriert, dass sich VDR und XBMC ähnlich flott bedienen lassen, wenn man wollte, könnte man auch die Tastenwiederholung für alle Tasten noch etwas beschleunigen (aktuell mache ich das nur für die Lautstärketasten, da der Rest mit XBMC dann besser funktioniert). Bei Interesse einfach fragen, am WE wollte ich da eh nochmal ran ;)


    Um lircd direkt ohne eventlircd zu nutzen gibt es viele Wege, zum Testen aber einfach mal folgendes probieren:
    1) Socket von eventlircd umbiegen: in /etc/init/eventlircd.conf den Aufruf ändern:

    Code
    1. exec /usr/sbin/eventlircd -f --socket=/var/run/lirc/lircd.event --repeat-filter


    2) Socket von lircd nach /var/run/lirc/lircd umbiegen: in /etc/init/lirc/lircd.conf

    Code
    1. #Original:
    2. REMOTE_ARGS="--output=$REMOTE_SOCKET.$$ $REMOTE_ARGS"


    so abändern:

    Code
    1. #Original:
    2. REMOTE_ARGS="--output=$REMOTE_SOCKET $REMOTE_ARGS"


    Außerdem die Option "--uinput" rausnehmen:

    Code
    1. exec /usr/sbin/lircd --nodaemon $REMOTE_LIRCD_ARGS


    Dann eventlircd neu starten ("sudo stop eventlircd && sudo start eventlircd").
    Ggf. muss du die Start- und Stop-Bedingungen von lircd in den Upstart-Dateien noch anpassen (also für lircd: "start on started vdr" bzw. "stop on stopping vdr"), damit die FB nach einem Neustart geht.



    Die Hama MCE (läuft auf einem Test-VDR mit Athlon64 3000+ und G210) ist bei mir eigentlich sehr flott (wenn es noch flotter sein soll, mal den Repeat-Filter von Eventlircd ausschalten).


    Diese X10 habe ich an meinem Acer Revo 3600 - je nachdem ob linux-media-dkms installiert ist oder nicht läuft sie entweder als tastaturartiges Eingabegerät oder als rc-core Empfänger. Hier bin ich selber noch etwas am Basteln um die optimalen Einstellungen für ir-keytable herauszufinden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Dankeschön, für die ausführliche und auch hilfreiche Antwort.


    Mit träge meine ich die Zeit, die vergeht zwischen einem Tastendruck und der Reaktion. Je nach Skin, im Moment verwende ich Anthra, dauert das mal etwas länger, mal geht es etwas schneller. Wirklich zügig geht es aber nie.


    Die Hama-MCE Remote ist schneller, als die Lirc Lösung. Allerdings imho immer noch nicht als flüssig zu bezeichnen und das "Lautstärkenverstell-Problem" (man kann die Tasten nicht gedrückt halten) nervt dabei etwas. Für den Repeatfilter muss ich dabei Deinen 0,3er nehmen. Alles darunter erzeugt bei mir bei einem Tastendruck mehrfache Befehlsausführungen.


    Ich habe die Änderungen (eventlirc / lirc) mal durchgeführt und es ist deutlich besser geworden. So lässt sich damit leben (äh, bedienen). Wenn Du mir jetzt noch mit deiner folgenden Aussage etwas weiter helfen könntest, wäre ich dir dankbar. Meine aktiven Linuxzeiten sind schon etwas her.

    Quote

    Ggf. muss du die Start- und Stop-Bedingungen von lircd in den Upstart-Dateien noch anpassen (also für lircd: "start on started vdr" bzw. "stop on stopping vdr"), damit die FB nach einem Neustart geht.


    Kann ich das in der "/etc/init/lircd.conf" einfach hinter:

    Code
    1. stop on stopping eventlircd


    einfügen?
    Wobei ich gerade merke, auch ohne die Einträge funktioniert lirc nach einem "restart vdr" noch.



    Interesse an Deiner Lösung mit dem Python-Skript habe ich aber auf jeden Fall. Einen Versuch ist es sicherlich wert.


    Noch einmal Danke für deine schnelle Hilfe.


    Gruß

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Kann ich das in der "/etc/init/lircd.conf" einfach hinter:

    Code
    1. stop on stopping eventlircd


    einfügen?


    Ups Denkfehler, lircd muss ja vor dem VDR gestarted werden, damit der Lircd-Socket schon da ist...
    Diese Start/Stop-Anweisungen sind Bedingungen für Upstart-Skripte, wann sie gestartet bzw. gestoppt werden sollen - Das war eher für den Fall gedacht, dass du eventlircd ganz loswerden willst. Einer der Gründe für die Verwendung von eventlircd war ja dass man nicht auf Lircd warten muss...
    Wenn dann statt

    Code
    1. start on started eventlircd


    Code
    1. start on starting vdr


    und statt

    Code
    1. stop on stopping eventlircd


    Code
    1. stop on runlevel [016]


    nimmst, kannst du auf die Abhängigkeit zu eventlircd verzichten und das ggf. deaktivieren - Im Prinzip wie beim alten remoted.conf - Upstart-Skript aus yaVDR 0.3 (http://pastebin.com/ASGZCuSb)


    BTW: Mein lircd2uinput lässt sich noch wesentlich schneller einstellen als der 0.2s Repeat-Filter von eventlircd - der kann dann auch getrost deaktiviert werden, falls man es richtig flott mag ;)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ah ja, danke. Habe yaVDR vorher noch nie benutzt.


    Mal so nebenher. Bei meiner bisherigen Distri verwende ich eine PS3 Remote (über BT angebunden). Siehst Du eine Chance die auch unter yaVDR 0.4 ans laufen zu bekommen? Vor einiger Zeit hatte ich es mal probiert, aber wenn ich mich richtig erinnere, kompilierte das bdremote nicht durch.

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Siehst Du eine Chance die auch unter yaVDR 0.4 ans laufen zu bekommen?


    Im Prinzip spricht nichts dagegen - ich habe allerdings keine zum Testen/Basteln da...
    Evtl. mal http://wiki.xbmc.org/?title=HOW-TO_Setup_PS3_BD_Remote ausprobieren, dann sollte die sich über eventlircd einbinden lassen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Werde ich bei Gelegenheit mal testen. Im Moment habe ich etwas wenig Zeit.


    Ich habe auch noch eine PS3 Remote rum liegen, die ich nicht benötige (der Deckel des Batteriefaches rastet nicht mehr ein). Wenn du möchtest, kann ich sie dir schicken, dass du vielleicht, wenn du Lust hast, es selber austesten kannst und vielleicht ein Paket für yaVDR draus machst. :D
    Ich finde die Remote perfekt geeignet. Sie besitzt genügend (und alle notwendigen) Tasten und durch die BT Anbindung ist es egal, ob Sichtverbindung besteht oder nicht. Hinzu kommt der relativ günstige Preis von unter 20€. Nachteil ist lediglich der enorme Stromverbrauch, wenn man die Remote nicht in den Ruhezustand fahren lässt. Aber dafür liegen hier immer genügend Akkus rum, die ich dann eben wechsle.


    Gruß

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Im Moment habe ich etwas wenig Zeit.


    Ich kann mich auch nicht über übermäßig viel Freizeit beklagen ;)


    Wenn du möchtest, kann ich sie dir schicken, dass du vielleicht, wenn du Lust hast, es selber austesten kannst und vielleicht ein Paket für yaVDR draus machst.


    Kann ich gerne machen (testen), das Paketbauen könnte aber eine Weile dauern...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Es eilt ja nicht. Wenn du möchtest, schick mir per PM (d)eine Adresse, an die ich die FB schicken darf.
    Ich habe übrigens gerade festgestellt, dass die FB bei XBMC nach den obigen Änderungen nicht mehr funktioniert.


    Gruß

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Ich habe übrigens gerade festgestellt, dass die FB bei XBMC nach den obigen Änderungen nicht mehr funktioniert.


    Meinst du mit lircd2uinput oder nach dem Ersetzen von eventlircd durch lird? Bei letzterem stimmt dann der Name in der Fenbedienungskonfiguration (/var/lib/vdr/.xbmc/userdata/Lircmap.xml) nicht mehr (muss dann so heißen wie in deiner lircd.conf, statt devinput)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bei letzterem stimmt dann der Name in der Fenbedienungskonfiguration (/var/lib/vdr/.xbmc/userdata/Lircmap.xml) nicht mehr (muss dann so heißen wie in deiner lircd.conf, statt devinput)

    Die heißen so, wie in meiner lircd.conf.
    cat /etc/lirc/lircd.conf




    cat /var/lib/vdr/.xbmc/userdata/Lircmap.xml


    EDIT: DIe Boardsoftware hier macht mich fertig. Was war das Früher schön, als man noch selber bestimmen konnte, wie sein Posting aussehen soll. Irgendwie verändert die Software den Inhalt zwischen [ code ] [ /code ] selbstständig

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Nein, anders...
    Mach mal ein "sudo irw" und poste eine vollstängige Zeile eines Tastendrucks, dann siehst du was ich meine ;)


    Also bei eventlircd kommt da mit meiner Happauge FB:

    Code
    1. 160 0 KEY_OK devinput


    Und mit lircd folgendes:

    Code
    1. 00000000000017a5 01 KEY_OK hvr4000-2


    Weil in meiner lircd.conf folgendes steht:


    Und wenn du dir die Lircmap.xml genau ansiehst, entdeckst du da folgende Zeilen:

    Code
    1. <remote device="devinput">
    2. <up>KEY_UP</up>
    3. <down>KEY_DOWN</down>
    4. <menu>KEY_MENU</menu>
    5. <select>KEY_OK</select>
    6. <back>KEY_ESC</back>
    7. <left>KEY_LEFT</left>
    8. <right>KEY_RIGHT</right>
    9. [...]


    Damit gilt die Belegung für alles was am Lirc-Socket devinput als Namen hat - und das musst du eben umstellen, damit es zu dem FB-Namen passt (bei dir dann wohl "/home/mike/fb" (witziger Name für ne FB ;))

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ah ja, jetzt verstehe ich das. Funzt.


    Ja, der Name der FB kommt davon, wenn man zu faul ist nach einer passenden lircd.conf zu suchen und stattdessen mal eben schnell eine eigene erstellt. ;)


    EDIT: Jetzt habe ich noch ein kleines Problem mit irexec. Das hat aber imho nichts mit den Änderungen zu tun. Mehr dazu Morgen. Jetzt sind meine Brötchen warm.

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Hi ich habe das auch mal ausprobiert bzw. suaprobieren wollen, da sich meine MCE Fernbedienung auch träge ist. Was meinst du unter Punkt 2 beschrieben Socket von lircd nach /var/run/lirc/lircd umbiegen: in /etc/init/lirc/lircd.conf ?
    Ich habe lediglich die Datei /etc/init/lirc/lircd.conf editiert.


    Grüße,
    Doc.

    MB: Asrock H77 Pro4-M ||CPU: Celeron G540 || GPU: Zotac GT520 Synergy || Tuner: DuoFlex S2, Octupus CI PCie Treiber: || HDD: Crucial M4 128GB || PSU: picoPSX 160XT, Leicke 12V-10A-120Watt 5,5x2,5mm || Case: MS-Tech LC-01Remote: Logitech Harmony 900 + IR Blaster ||extensions: 8 Kanal Karatelight

  • Ich habe lediglich die Datei /etc/init/lirc/lircd.conf editiert.


    Das ist der richtige, da ist ein lirc zuviel reingerutscht...


    Wobei deine MCE-FB doch gar nicht über lircd laufen sollte (du nutzt doch einen CIR-Empfänger, oder?) und das deshalb etwas sinnfrei ist das so anzupassen...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Okay und was wüdest du denn empfehlen? Bei einem CIR Port?

    MB: Asrock H77 Pro4-M ||CPU: Celeron G540 || GPU: Zotac GT520 Synergy || Tuner: DuoFlex S2, Octupus CI PCie Treiber: || HDD: Crucial M4 128GB || PSU: picoPSX 160XT, Leicke 12V-10A-120Watt 5,5x2,5mm || Case: MS-Tech LC-01Remote: Logitech Harmony 900 + IR Blaster ||extensions: 8 Kanal Karatelight

  • Was ist bei CIR träge? Nutzt du die normale eventlircd-Version, die bei yaVDR mitgeliefert wird?
    Hast du dich schon mal mit den Parametern für Repeat und Period von ir-keytable auseinander gesetzt? http://dev.man-online.org/man1/ir-keytable/

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe da nix eingestellt. yavdr installiert und so funktioniert auch die MCE Fernbedienung. Nur die Menüführung finde ich etwas lahm wenn ich mit der fernbdienung navigieren möchte.

    MB: Asrock H77 Pro4-M ||CPU: Celeron G540 || GPU: Zotac GT520 Synergy || Tuner: DuoFlex S2, Octupus CI PCie Treiber: || HDD: Crucial M4 128GB || PSU: picoPSX 160XT, Leicke 12V-10A-120Watt 5,5x2,5mm || Case: MS-Tech LC-01Remote: Logitech Harmony 900 + IR Blaster ||extensions: 8 Kanal Karatelight

  • Wie gesagt, du kannst den 0.2s Repeat-Filter von eventlircd deaktivieren (in der /etc/init/eventlircd.conf das "--repeat-filter" rausnehmen) und die Reaktionszeiten der Fernbedienung über die Parameter -D und -P mittels ir-keytable anpassen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ahhh --repeat-filter hab ich raus genommen, schon viel besser :- )
    Die Änderung ist in einem Template wohl besser auf gehoben oder ?


    Grüße

    MB: Asrock H77 Pro4-M ||CPU: Celeron G540 || GPU: Zotac GT520 Synergy || Tuner: DuoFlex S2, Octupus CI PCie Treiber: || HDD: Crucial M4 128GB || PSU: picoPSX 160XT, Leicke 12V-10A-120Watt 5,5x2,5mm || Case: MS-Tech LC-01Remote: Logitech Harmony 900 + IR Blaster ||extensions: 8 Kanal Karatelight