Hilfe zur Selbsthilfe oder Entwicklerdokumentation für Yavdr

  • Hallo Zusammen.

    (Background)

    Als ich die aktuelle Yavdr Version auf meiner neuer Hardware installieren wollte (Stichwort J3455 + GT710) ist mir leider aufgefallen, dass der Kernel die notwendigen Treiber noch nicht mitbringt.

    Im Forum ist auch immer wieder die Rede von MLD und so gab ich der ganzen Sache mal einen Versuch und wurde nicht enttäuscht als ich eine Ausgabe nach wenigen Versuchen erhielt.

    Ich habe festgestellt das MLD eine gute Basis bietet und kaum wünsche offen lässt, aber ich in den letzten Jahren Yavdr in mein Herz geschlossen habe. Soll heißen der WAF Faktor ist sehr hoch => Ich habe weniger Sorgen. =)

    Ich habe nach einiger Recherche (yavdr selber kompilieren etc.) festgestellt, dass es für MLD eine tolle Anleitung gibt Leute mit an der Entwicklung teilhaben zu lassen. Siehe Link.

    Weiterhin habe ich hier desöfteren von unseren Profis gelesen, dass es nicht so einfach ist die Abhängigkeiten, um eine neue yavdr Version zu kompilieren oder aufzulösen

    bzw. eine Anleitung zu schreiben sehr aufwendig sei.


    Wenn ich mich nun als Beispiel nehme:

    - Programmierkenntnisse sind vorhanden

    - Motivation ist vorhanden

    - Ich würde mich gerne daran beteiligen für meine Hardware die Kompabilität für eine neue Yavdr Version zu implenetieren/testen anstatt die Hardware an die Gurus zu versenden die das dann übernehmen (ihr habt sicherlich genug um die Ohren)


    Als Frage an die Gurus:

    Wäre es nicht sinnvoll, doch eine Anleitung (Step by Step) wie im oberen Link zu erstellen um die Basis für weitere Yavdr Entwicklungen & Entwickler zu festigen?

    Es wäre für mich nachvollziehbar was benötigt wird. Ich könnte selberständig Recherchieren was einzelne Punkte angeht die ich noch nicht kenne etc.

    Ich weiß, dass so eine Dokumentation ein Arsch voll Arbeit bedeutet und das die Zeit mit Sicherheit von den Entwickler besser in eine weitere Version gesteckt werden könnte.

    Es wäre für auch sehr Spannend wie eure Entwicklung für eine neue Yavdr-Version voran läuft.

    Was denkt Ihr darüber oder gibt es gar schon eine Dokumentation die ich übersehen habe?


    Mfg

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • Bislang ist es in der Tat so, dass man sich recht ausgiebig durch die yaVDR GitHub-Repositories wühlen muss, um halbwegs zu verstehen, wie das ganze zusammenspielt. Da stößt man auf Bash-Skripte, Programme in C++ und Python und die allseits beliebten ClearSilver-Templates. Außerdem hilft es in etwa zu wissen, wie der Paketbau bei Ubuntu bzw. Debian funktioniert (plus die kleinen Besonderheiten bei Launchpad).


    Eine spezielle Entwicklungsumgebung braucht es für yaVDR nicht, da es auf Ubuntu aufsetzt und das normale Paketformat für Debian- bzw. Ubuntu-Pakete nutzt. Man kann prinzipiell direkt auf einer yaVDR-Installation arbeiten (natürlich gibt es gewisse Vorteile, wenn man sich eine extra Umgebung für den Paketbau anlegt). An Paketquellen muss man halt das einbinden, was man jeweils haben will (ppa:yavdr/main und ein PPA für die VDR-Pakete ist meistens eine gute Idee, bei add-apt-repository das Argument -s nicht vergessen, damit die Paketquellen für die Quellpakete mit eingetragen werden). Natürlich musst du für eigene Anpassungen nicht zwingend Pakete bauen, sondern kannst das System auch so nach deinen Vorstellungen anpassen und erweitern.


    Zur nächsten yaVDR-Version: aktuell hat jeder im yaVDR-Team mit dem RL mehr als genug zu tun und die Umstellung von Upstart auf Systemd als Init-System erfordert recht große Anpassungen. Mein Ansatz ist erst mal die für mich wichtige grundlegende Funktionalität herzustellen und dann bei Gelegenheit an den Feinheiten und von bisherigen yaVDR-Versionen gebotenen Features zu arbeiten. Daher habe ich mich für einen Ansatz entschieden, der mir mehr Flexibilität gibt - statt einem ISO oder preseed-Skript mit in Pakete gegossenen Abhängigkeiten wie beim yavdr-essential Paket versuche ich es mit Ansible, das auf Basis einer Ubuntu-Minimalinstallation (aktuell 16.04) das System für den Einsatz als yaVDR konfiguriert. Das führt einerseits zu einer stärkeren Modularisierung und andererseits wird es so auch leichter für den Nutzer Sonderwünsche wie neuere Kernel, Treiber usw. zu installieren, bevor die yaVDR-Pakete ins Spiel kommen. Den Zwischenstand kannst du dir hier ansehen: https://github.com/yavdr/yavdr-ansible


    Deine neue Hardware sollte mit einem ausreichend aktuellen Kernel keine Probleme machen - die MLD war bei der 5.4 IIRC bei der Version 4.9 - das ist mit aktuellen Ubuntu-Versionen kein Problem.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi seahawk1986,

    das mit Ansible hatte ich hier schon in einer deiner Post verfolgt.

    Ich werde mal deine Version auf meinem Testrechner mit einer Ubuntu Server Version installieren. Ich habe das ganze mal in einer VM laufen lassen und schon jetzt einen guten Einblick bekommen, welcher enormer Konfigurationsaufwand dahinter steckt.

    Was mir daran gefällt ist, dass ich nicht benötigte Pakete schon beim generieren durch eine passende Konfiguration auslassen kann. Das erinnert mich stark an MLD. Durch Git kann ich somit immer deine neusten Änderungen erhalten und selber an einer Lauffähigen umgebung rumspielen oder?

    Gibt es bei deiner Ansible-Version schon Stolperfallen die du mir schon mitteilen könntest bevor ich die Umgebung auf meiner Spielwiese installiere?


    Vielen Dank schonmal im Voraus. Das sieht alles schon sehr gut aus.

    Vorallem die Task ermöglichen mir einen tiefen Einblick an notwendiger Konfiguration für eine Installation.

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • Gibt es bei deiner Ansible-Version schon Stolperfallen die du mir schon mitteilen könntest bevor ich die Umgebung auf meiner Spielwiese installiere?

    Das ganze ist noch ziemlich rudimentär, also kein Webfrontend, nur eventlircd (lirc und andere Dienste für Fernbedienungsempfänger muss man selber konfigurieren), die automatische Bildschirmkonfiguration funktioniert bislang nur für nvidia-Grafikkarten, die Pulseaudiokonfiguration muss man mit pavucontrol oder dem pulsecontrol-Plugin zu Fuß erledigen, keine Shutdown-Hooks usw. - halt ein minimales Grundgerüst, aber noch nichts für den normalen Anwender.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Verstehe.

    Dennoch spiele ich mal ein wenig damit rum. Vielleicht kann ich mal ich dir irgenwann mal unter die Arme greifen und wenn es nur zu Testzwecken ist.

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • Das werde ich mir auch anschauen und verfolgen

  • seahawk1986, spricht was dagegen yavdr-ansible unter Ubuntu 16.10 zu installieren?



    Ubuntu 16.04 lässt sich über meinen USB-Stick nicht booten.


    Die Installation geht doch aber nur mit einer 64Bit Version. :wand


    Edit: UEFI geht mir aufn Sack.

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Diablo ()

  • Die Installation geht doch aber nur mit einer 64Bit Version.

    yaVDR setzt seit zwei Releases auf die 64-Bit Variante von Ubuntu als Unterbau... - wie kommt man auf die Idee auf moderner Hardware eine 32-Bit Installation machen zu wollen (wenn man nicht gerade ein Low-Cost Netbook-Hersteller ist, der meint, dass 32-Bit UEFI Bootloader eine gute Idee sind?


    Ach ja: die automatischen Updates würde ich abschalten, damit zum einen Ansible ungestört arbeiten kann und man zum anderen den Überblick behält, was sich an den Paketen ändert.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von seahawk1986 ()

  • yaVDR setzt seit zwei Releases auf die 64-Bit Variante von Ubuntu als Unterbau... - wie kommt man auf die Idee auf moderner Hardware eine 32-Bit Installation machen zu wollen

    Eigentlich garnicht oder "In dem man den Wald vor lauter Bäumen nicht mehr sieht". =(


    Ach ja: die automatischen Updates würde ich abschalten, damit zum einen Ansible ungestört arbeiten kann und man zum anderen den Überblick behält, was sich an den Paketen ändert.

    Hatte ich mir schon so gedacht und vorsorglich so eingerichtet.


    Die Installation verlief reibungslos.

    Bis auf Kleinigkeiten die ich dann selber manuell habe und als Hausaufgabe dann in Ansible mal als Autoinstaller umsetzen möchte.

    1. Die Treiber von DD Cine S2 v6.5 wurden nicht mitinstalliert, stattdessen wird eine Octopus erkannt und der SAT>IP Autoinstaller angeworfen.

    2. Die Netzwerkkarte wird nach einem Neustart umgemapped und enthält somit nicht mehr den Tag eth0 => Kein Netzwerkzugriff mehr möglich

    3. Habe softhddevice nachträglich installiert, weil meine nvidia-Karte auf meinem Intelboard nicht als primäres DVB-Ausgabegerät erkannt wurde und die Ausgabe über Intel lief.


    Diese kleinere Probleme habe ich vorerst per Hand behoben. Hatte anschließend ein Bild.


    Soll ich dann die eigenen Anpassungen am besten in einen eigenen Branch pflegen?


    PS: Ansible ist eine coole Sache. Warum gibt es sowas nicht in der Windows-Welt. Das würde mir bei meiner Arbeit ne Menge erleichtern. =/

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • 1. Die Treiber von DD Cine S2 v6.5 wurden nicht mitinstalliert, stattdessen wird eine Octopus erkannt und der SAT>IP Autoinstaller angeworfen.

    Ja, da fehlt noch ein passendes media-build Paket (wobei das sich das grundlegende Problem bei der Karte mit dem Kernel 4.14 dank der Arbeit von nst hoffentlich bald erledigt hat: Treiber der Cine-CTv6/DDBridge/CI in den Kernel integrieren ) - mit etwas Glück landet der auch in Ubuntu 18.04 und dann hat sich das aggressive Zuwarten gelohnt ;)

    2. Die Netzwerkkarte wird nach einem Neustart umgemapped und enthält somit nicht mehr den Tag eth0 => Kein Netzwerkzugriff mehr möglich

    Das liegt an biosdevname - das hatte ich schon an einer anderen Stelle rausgenommen, aber in https://github.com/yavdr/yavdr…etwork/tasks/main.yml#L12 vergessen.


    3. Habe softhddevice nachträglich installiert, weil meine nvidia-Karte auf meinem Intelboard nicht als primäres DVB-Ausgabegerät erkannt wurde und die Ausgabe über Intel lief.

    Das ist eine interessante Konstellation mit mehreren Grafikkarten - hat da die automatische Konfiguration des X-servers geklappt (also dass er über die erzeugte /etc/X11/xorg.conf falls verfügbar 1080p50 oder 720p50 für den nvidia-Treiber wählt)?

    PS: Ansible ist eine coole Sache. Warum gibt es sowas nicht in der Windows-Welt. Das würde mir bei meiner Arbeit ne Menge erleichtern. =/

    Ansible kann man laut Dokumentation auch unter Windows nutzen: https://docs.ansible.com/ansible/latest/intro_windows.html

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, da fehlt noch ein passendes media-build Paket (wobei das sich das grundlegende Problem bei der Karte mit dem Kernel 4.14 dank der Arbeit von nst hoffentlich bald erledigt hat: Treiber der Cine-CTv6/DDBridge/CI in den Kernel integrieren ) - mit etwas Glück landet der auch in Ubuntu 18.04 und dann hat sich das aggressive Zuwarten gelohnt

    Ich hatte es jetzt durch das paket dddvb-dkms gelöst.

    Das liegt an biosdevname - das hatte ich schon an einer anderen Stelle rausgenommen, aber in https://github.com/yavdr/yavdr…etwork/tasks/main.yml#L12 vergessen.

    Das komische dabei war, dass ich den Netzwerkeinstellungen ein anderes Gerät eingetragen war, als das beim Upstart umbenannt wurde also z.B.

    [em3] stand in der Config und beim Start wurde [eth0] nach [p2p1] umbenannt.

    Wobei das eine für ein "Embedded network interface" steht und das andere für "PCI card network interface":/

    Ich denke hier wird ein Skript notwendig um zu überprüfen welche Schnittstelle die eth0 zugewiesen gekommt.

    Das ist eine interessante Konstellation mit mehreren Grafikkarten - hat da die automatische Konfiguration des X-servers geklappt (also dass er über die erzeugte /etc/X11/xorg.conf falls verfügbar 1080p50 oder 720p50 für den nvidia-Treiber wählt)?

    Das Prüf ich noch nach.

    Ansible kann man laut Dokumentation auch unter Windows nutzen: https://docs.ansible.com/ansible/latest/intro_windows.html

    Naja Ansible ist hier nicht gleich Ansible wenn man sich die Readme dazu mal durchliest. :rolleyes:

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • Dein Skript hat hat folgendes bei mir erkannt und generiert:


    In der Xorg.log habe ich folgendes gefunden:



    Die Videomodes scheinen nicht korrekt erkannt worden zu sein. Wenn ich xrandr -q versuch auf der Konsole auszuführen bzw. in deinem Python Skript erhalte ich einen Fehler "Cant open display."

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Diablo ()

  • Hallo seahawk,

    tut mir leid das ich mich erst so spät melde.

    Ich habe jetzt im Laufe der letzten Woche einiges an Testinstallationen ausprobiert.


    Während des ersten Ansible-Durchlaufes kommt es noch zu einem Fehler.

    Die Installation bricht während der xorg-Erkennung ab. Kann aber nach einem erneut Aufruf forgesetzt werden.

    (Fehlerlog müsste ich bei gelegenheit nochmals nachreichen, habe ich leider verpennt zu loggen.)

    Die xorg-conf die generiert wird funktioniert erstmal tadelos. Jedoch wird als softhddevice-va gewählt anstatt softhddevice-openglosd.

    Das macht sichnatürlich in der Trägheit der Menüs erkennenbar.


    Ich denke das Skript sollte nach einer Erkennung der nvidia bevorzugt openglosd installieren.

    Aktuell muss ich natürlich noch manuell firefox und meine dddvbs treiber installieren.

    Ich denke firefox könnte man schon mit in den Autoinstaller aufnehmen.


    mfg

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

  • Hallo Diablo,


    ich besitze ebenfalls ein J3455-Mainboard und wollte yavdr-ansible damit testen. Den Fehler bei der Xorg-Erkennung bekomme ich auch, allerdings ständig. Es gelingt mir nicht, die Ansible-Installation bis zum Ende durchlaufen zu lassen. Bei der Ubuntu-Installation habe ich die HWE-Variante gewählt, da läuft das Ganze gleich mit einem 4.10er Kernel. Hast du vielleicht einen Tip für mich?


    Gruß

    VDR 1: Nvidia AT3 ION, Tevii S471, yaVDR 0.6.1
    Test-VDR: Asrock J3455-ITX, MLD 5.4, Hauppauge WinTV Starburst DVB-S2, Hauppauge WinTV SoloHD DVB-T2

  • Hast du etwas mehr an Details?

    Welche nVidia verwendest du? Welche Fehlermeldung wird dir angezeigt? Eventuell die syslog mal Posten.

    Welche Parameter hast du im Bios für die Onboard- Karte gewählt?


    Bei der Xorg-Erkennung handelt es sich um ein Python Skript von seahawk. Ich habe damals bei den Problemen das Skript direkt im Python Debugger ausgeführt, um mir eventuelle Fehlermeldungen auszugeben.


    Was bei mir anfänglich zu Problemen geführt hat, war der Verstärker zwischen Fernseher und yavdr. Du solltest wenn nicht schon geschehen für die Ersterkennung noch den Fernseher direkt am Rechner dran haben. Welchen Port verwendest du? Ich habe aktuell alles über HDMI am laufen.



    Ich habe auch als Ubuntu Basis eine LTS Version genommen (Xenial).

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Diablo ()

  • Ich verwende keine Nvidia-Karte, möchte nur die Onboard-Grafik benutzen.

    Das Python-Skript habe ich schon direkt gestartet, da kommen folgende Fehlermeldungen:


    Der Bildschirm wird aber erkannt und der X-Server läuft auch:


    Der Ansible-VDR hängt momentan an einem Dell-Monitor mit einem HDMI-auf-DVI-Adapter (Monitor hat nur DVI, am TV habe ich noch nicht getestet, da dort der Produktiv-yaVDR läuft, mein Testplatz ist im Keller).

    Der VDR läuft, X-Server auch, allerdings wird kein Bild ausgegeben. Ich habe Kodi mal manuell gestartet, Bild da und läuft einwandfrei, geringste CPU-Last, als Grafik-Treiber listet Kodi "OpenGL version 3.0 Mesa 17.0.7" auf. Video-Hardwaredecoding scheint also zu funktionieren.


    Gruß

    VDR 1: Nvidia AT3 ION, Tevii S471, yaVDR 0.6.1
    Test-VDR: Asrock J3455-ITX, MLD 5.4, Hauppauge WinTV Starburst DVB-S2, Hauppauge WinTV SoloHD DVB-T2

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Megal () aus folgendem Grund: Schreibfehler

  • Bin mir jetzt nicht sicher was du mit direkt gestartet meinst.


    Ich habe damals in der Konsole den Python-Debugger geöffnet und dann die Zeilen per Paste & Copy einzeln reingehauen.

    Der Befehl '['xrandr', '-q']' scheint bei dir auf ein Problem zu stoßen. Kannst du den Befehl direkt in der Konsole ausführen?

    Mit dem Output kannst du dann im Skript die Variable xrandr_data ersetzen und dir eine xorg.conf generieren lassen. Wenn du eine Funktionsfähige xorg.conf besitzt kannst du auch versuchen den Vorgang zu überspringen, indem du im Ansible-module das Skript auskommentierst.


    Dell-Monitor mit einem HDMI-auf-DVI-Adapter

    So einen habe ich hier für meinen alten Monitor auch verwendet bei den ersten Versuchen. Daran sollte es eigentlich nicht liegen.

    VDR_1:

    Asus J3455-M, GT 710, SSD 240GB, 8GB DDR3, 1x DvbSky S950 with yavdr-ansible (testing)

    VDR_2:

    AsRock J3455, GT 710, SSD 120GB + SATA 400GB, 8GB DDR3, 1x DvbSky S952 with yavdr-ansible (testing)

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Diablo ()

  • So, habe jetzt weiter getestet. Das Python-Skript läuft erst fehlerfrei, nachdem ich vorher "export DISPLAY=:0" ausgeführt hatte. Das Ansible-Skript bricht trotzdem bei xorg ab, da es anscheinend eine Nvidia-Karte erwartet. Ich habe mir dann selbst eine xorg.conf.yavdr erstellt, in der Konfiguration von Ansible den xorg-Teil auskommentiert und das Ansible-Skrpit nochmal laufen lassen. Das läuft weiter bis zu kodi und bricht dort mit diesem Fehler ab:

    Code
    1. fatal: [localhost]: FAILED! => {"changed": false, "checksum": "4f849e7ca32d029e2d48df2e08dff307eadc8609", "failed": true, "msg": "Destination directory /var/lib/vdr/.config/systemd/user does not exist"}


    Ich habe dann kodi auch auskommentiert, das Skript läuft bis zum Ende durch.

    Der vdr gibt aber immer noch kein Bild aus, obwohl der X-Server läuft.

    Hier das Syslog:


    Keine Ahnung mehr, warum es immer noch nicht funktioniert. :-(

    VDR 1: Nvidia AT3 ION, Tevii S471, yaVDR 0.6.1
    Test-VDR: Asrock J3455-ITX, MLD 5.4, Hauppauge WinTV Starburst DVB-S2, Hauppauge WinTV SoloHD DVB-T2

  • Es wurde automatisch softhddevice-vpp installiert, dachte das wäre für Intel.

    VDR 1: Nvidia AT3 ION, Tevii S471, yaVDR 0.6.1
    Test-VDR: Asrock J3455-ITX, MLD 5.4, Hauppauge WinTV Starburst DVB-S2, Hauppauge WinTV SoloHD DVB-T2