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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 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 P5N7A-VM, Geforce 9300 onboard, E8400 3GHz, OZC Vertex 2 60GB + SAMSUNG SATA 400GB, 2x1024 MB DDR2, 1x TeVii S460 DVB/S2-HD with yavdr0.5

    VDR_2:

    J3455, GT 710, OZC Vertex 2 60GB + SAMSUNG SATA 400GB,8GB DDR3, 1x DD Cine S2 v6.5 with yavdr-ansible (testing)