[Prototyp] Ausgabeplugin für Amlogic SoC (z.B. Wetek Play)

  • Hi,


    ES LÄUFT !!!!


    Es fehlte nur die 'alsactl.conf' in /etc/



    Gruß,
    Roland

  • Hallo Roland,


    Prima! Ich habe Thomas rootfs in ein Image gepackt und das funktioniert ebenfalls einwandfrei. emerge auf einem arm macht wirklich keinen Spaß :( Dann kann ich ja jetzt auch wieder auf mein altes Image wechseln.


    Danke nochmal an alle fürs Helfen und besonders an Thomas für die viele Arbeit und die freundliche Unterstützung.


    Viele Grüße
    beta


  • Hi beta,


    ja jetzt müste es auch mit deiner ubuntu version laufen, einfach nur die alsactl.conf ins /etc verzeichnis.


    Bei der MLD ist die Basis ja Debian, also ein nicht so großer unterschied zu ubuntu.


    Gruß,
    Roland


    P.S.: gib bescheid, ob es läuft ;)

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Hi,


    ich hatte in den Sourcen zum 'libamcodec' in der Datei 'alsactl_parser.c'
    nur folgendes gefunden.


    Code
    #define DEFALUT_CONF_PATH "/etc/alsactl.conf"


    und dann gedacht, probiere es einfach mal aus, schaden kann es ja nicht ;)


    Gruß,
    Roland

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • P.S.: gib bescheid, ob es läuft ;)


    Hallo Roland,


    ja und nein. Es läuft auf dem ersten SD Kanal ohne Crash. Allerdings habe ich beim Umschalten kein Bild mehr und HD geht gar nicht. Das liegt aber sicherlich daran, dass mein Image inzwischen "vermurkst" ist. Ich werde es noch einmal neu aufsetzen.
    Jetzt müssen wir noch das Problem mit wetekdvb.ko lösen. Das crasht die Wetek nämlich komplett mit amlhddevice.


    Gruß
    beta


  • Hallo Roland,


    ja und nein. Es läuft auf dem ersten SD Kanal ohne Crash. Allerdings habe ich beim Umschalten kein Bild mehr und HD geht gar nicht. Das liegt aber sicherlich daran, dass mein Image inzwischen "vermurkst" ist. Ich werde es noch einmal neu aufsetzen.
    Jetzt müssen wir noch das Problem mit wetekdvb.ko lösen. Das crasht die Wetek nämlich komplett mit amlhddevice.


    Gruß
    beta

    Hi beta,


    das wetekdvb-modul hast du aber nicht geladen,
    denn wenn wir dieses laden, crasht der vdr.


    Aber sonst läuft es, SD und HD Kanäle.


    Gruß,
    Roland

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Nur mal so, falls jemand auch verzweifelt mit Empfangsstörungen beim wetekdvb (ohne amlhddevice; geht ja z.Zt. nicht zusammen). Ich bin jetzt durch Zufall beim Kompilieren von openelec drauf gekommen. Bei openelec ist die neueste Version zum Download wetekdvb-20150809, aber beim Kompilieren benutzt openelec selbst die Version wetekdvb-20150503. Und tatsächlich diese Version hat keine Empfangsstörungen!


    Hat mich locker 10 Stunden Fehlersuche gekostet. :)


    Viele Grüße

  • Hallo Thomas,


    ich habe im git die aktualisierte Version vom Plugin gefunden und gleich mal ausprobiert. Das Plugin läd zwar und crasht nicht gleich wieder, auch ohne vmalloc=300M, allerdings kommt es gleich zu Fehlern - siehe Spoiler rot markiert. Die letzten Zeilen wiederholen sich dann laufend. Was geht da schief?


    Danke & Gruß, ollo

  • Hi ollo

    ich habe im git die aktualisierte Version vom Plugin gefunden und gleich mal ausprobiert. Das Plugin läd zwar und crasht nicht gleich wieder, auch ohne vmalloc=300M, allerdings kommt es gleich zu Fehlern - siehe Spoiler rot markiert. Die letzten Zeilen wiederholen sich dann laufend. Was geht da schief?


    Die Änderungen waren bei mir nötig, als ich den Kernel aktualisiert habe:
    - Die Framebuffer sind nun scheinbar anders aufgesetzt, ich musste von /dev/fb1 auf /dev/fb0 wechseln, damit ich Transparenz hatte (d.h. 32 Bits pro Pixel, ARGB)
    - Zum demuxen des TS-Streams wird nun HW-Demux #2 genutzt, jedenfalls wenn wetekdvb.ko geladen ist - wenn da was schief läuft, "verstopft die Leitung" und VDR kann die Daten nicht mehr wegschreiben


    Macht wohl Sinn, beides als Parameter konfigurierbar zu machen, damit das Plugin möglichst universell bleibt.


    Gruss
    Thomas

  • ... hmm, und wie bekommt man raus welcher FB für was vom kernel verwendet wird - um damit dann die Parameter zu füttern?


    Gute Frage, hier die Info die ich von Wetek erhalten habe:

    Zitat

    3rd framebuffer is there for Enigma2 to work with max 1280x720 while main FB0 is adjusted to the HDMI output screen size (if HDMI is 720 then FB0 will be 1280x720, if HDMI is 1080 then FB0 will be 1920x1080), this is done
    because Amlogic scaler give horible picture when scaling from 1280x720 to 1920x1080. So I coded "fake" FB with temp memory where Enigma2 write data and on IOCTL blit command call
    https://github.com/wetek-enigm…wetek/lib/gdi/fb.cpp#L313
    I will blit from FB2 to the main FB0 and use ge2d accel if needed to scale from 1280x720 to 1920x1080 FB0 (if HDMI is set to 1080)


    Bei mir schaut das dann so aus:

    Code
    localhost ~ # cat /sys/class/graphics/fb0/bits_per_pixel 
    32
    localhost ~ # cat /sys/class/graphics/fb1/bits_per_pixel 
    24
    localhost ~ # cat /sys/class/graphics/fb2/bits_per_pixel 
    32


    Das Plugin prüft momentan auf die 32 Bits pro Pixel und startet ggf. einfach ohne OSD.


    Gruss
    Thomas

  • Moin Thomas,


    bei mir gibt es nur 2 FBs: fb0 mit 24bpp & fb1 mit 32bpp. Und zwar sowohl mit dem OE kernel (3.10.76) als auch mit dem von wetek-enigma. Letzteren habe ich mit Deiner .config gebaut. Was fehlt da?


    Komisch ist außerdem, dass ich ums Verrecken die "vmalloc=300" nicht gesetzte bekomme, obwohl es in der .dtb drin steht als auch per "strings" im boot.img gefunden werden kann. Die parameter bzgl. rootfs kann ich aber setzen?! Wahrscheinlich steht da noch was im initrd file, das ich für meine Ubuntu Installation unbedingt brauche weil sonst nix bootet?! Ich bin ja mit dem Ubuntu Image von CNX gestartet.


    Es sind offenbar immernoch zu viele Variablen im Spiel. Können wir uns auf ein Setup einigen (kernel & root image)? Thomas nimmt ja Gentoo?! Was nutzt MLD?


    Danke & Gruß, ollo

  • ... so, jetzt bin ich doch die initrd losgeworden und schon schaut die cmdline viel besser aus! Den kernel einfach mit "make uImage-dtb" bauen und darauf achten, dass in der .config die richtige .dtb Datei angegeben ist - schon klappt's! Leider gibt es immernoch nur 2 FBs!?! Wo wird das bestimmt?


    Gruß, ollo


    [Edit] Die ganze Problematik bzgl. initrd und cmdline liegt in der .config des verwendeten kernels begründet. Folgendes muß gegebn sein, dann klappt's auch mit dem per "make uImage-dtb" erzeugen kernel:


  • Ich habe den Kernel mal gebaut und das zugehörige wetekdvb.ko getestet. Ist jetzt stabiler, als die instabilen Versionen davor, macht aber so ca. alle 15 Minuten oder so auch Streamfehler (Artefakte). Die stabilste Version ist immer noch die von OE aktuell benutzte wetekdvb-20150503 mit Kernel 3.10.76, damit sind Artefakte sehr selten (aber auch nicht komplett weg, wohl abhängig von der Systemlast).


    Bin ich eigentlich der einzige der das hat? Hat bisher keiner bestätigt.


    Viele Grüße


    Tim

  • Hi Ollo,


    das ist zwar off-topic, aber ich habe ihn auch am Laufen und es schaut gut aus. Ich habe eben die Schüssel nochmal gerichtet und nun nix mehr mit Artefakten zum Kucktoberfest :tup


    naja im weiten Sinne nicht off-topic. Das wetekdvb Module geht zwar noch nicht mit dem amlhddevice, aber das ist ja das Ziel. Es liegt definitiv nicht am Empfang, der ist bei mir ok. Welche Version (Kernel und wetekdvb) benutzt Du denn?

  • Hallo Tim,


    ich verwende aktuell den 3.10.89er kernel von codesnake inklusive der Patches für OE. Die OE kernel config habe ich entsprechend der obigen Modifikationen geändert und die wetekplay.dts kommt von wetek-enigma. Das wetekdvb.ko module ist das dazugehörige vom 29.Sep.2015 von OE. Alles klar? :rolleyes:


    Jetzt interessiert mich "nur noch", wo Thomas den fb2 herhat - bei wetek-enigma gibt es dazu nämlich wenig Erhellendes.


    Gruß, ollo

  • N'Abend,


    eben ist ein neuer wetekdvb.ko Treiber aufgetaucht, nämlich wetekdvb-20150930. OE hat die neue kernel Version von codesnake gemerged und bei der Gelegenheit den neueren wetekdvb verlinkt. Bei mir läuft gerade eine Aufnahme, danach probiere ich den mal.


    Übrigend hat Thomas noch auf einen weiteren Patch hingewiesen, den ich nun auch noch eingespielt habe - den hier .


    Edit: Der letzte Patch sorgt dafür, dass sich meine Play beim Starten des VDR aufhängt. Ohne geht's.


    Gruß, ollo

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!