Need your feedback on ARM hardware and framebuffer.

  • Hello everyone,

    I have some time to unveil the launch of a project WebTV, which will develop your own plugins Webapps (HTML5 / PHP).

    I am currently working on a "Wetek Play 2", which contains 2 interfaces!

    Code
    /dev/fb0
    /dev/fb1

    I would like to collect from you, if 2 interfaces are also present on the hardwares under "ARM", and which are supported by "LibreELEC", as for example Raspberry Pi, RockChip ...

    After reflection, I will also add in this project, the development of an addon "OpenATV" (An alternative LiveTV DVB/IPTV), which will be compatible with the hardwares mentioned above.

    I'm not a fan of the "PVR" of "Kodi", which requires the use of a customer service, and recovers streaming video streams, it is 100 times better to centralize everything on a single point, and especially to use "IOCTL DVB", and send the Audio / Video Stream directly to the "VPU" hardware, this guarantee fast zappings.

    To do this, I will have to write a GSTreamer Audio/Video decoder for Enigma 2.

    I also read that the support of AMLogic on Kodi, may be stopping on the 19 version, it pushes me more encrew to implement a 100% compatible LiveTV, and provide a compatible Kodi "GSTreamer" : oe-alliance-core/add-gstplayer-support.patch at 4.2 · oe-alliance/oe-alliance-core · GitHub

    I think the best solution, because several TV boxes under "ARM" have a GStreamer 1.x plugin :

    Code
    AMLogic : gst-aml-plugins
    Raspberry Pi : gst-omx
    RockChip : gstreamer-rockchip

    See also for PC versions for Nvidia, ATI, and Intel...

    For the part "e2proc", I had already written a module from the one for the "Wetek Play", I had designed it based on my capabilities of reverse engineering, I saw that a version for Wetek Play 2 exists, so I will redo it from this module, then make sure that is compatible with other hardwares.

    So much for the information, look forward to having your feedback, I start today the integration of "OpenATV" in Addon, I have to wait to receive my memory modules, to finalize the compilation of "Qt WebEngine 5.10", because this version requires more than 5GB of memory, to compile it. :huh:

    • Official Post

    The Amlogic change that happens in v19 is removal of the proprietary 'amcodec' interface in Kodi. Devices which are stuck on 3.10/3.14 kernels will not be able to run Kodi after this time. Devices which can run a mainline kernel will be able to use the next-generation video decoding and rendering pipeline that supersedes amcodec. Currently S905 devices and newer (excluding S912) can be supported on a mainline kernel. Anything older (and S912) is missing important kernel or driver code and is not supportable.

    Kodi is written around ffmpeg and you will not be able to "swap" ffmpeg for gstreamer. Qt now has V4L2 support though, which should allow you to write a Qt app that runs with the next-generation V4L2/mem2mem video pipeline. V4L2 support was added to Qt by a Plex employee who is also an LE team member .. because Plex uses LE as the OS base for their "Plex Embedded" distro.

    On Amlogic devices running a mainline kernel there is only /dev/fb0

  • Thank you for all these clarifications !

    Have you looked at my link to a patch that supports GStreamer ?

    This could solve this problem of incompatibility, to test !

    On the part QT5 it is already done for months, it supports precisely GSTreamer, I use it today on "/dev /fb0", and Kodi on "/dev/fb1".

    I of course patched the file "gxbb_p200_2G_wetek_play_2.dts" to be possible.

    Plex actually used "QT", just like TV builders like "LG/WebOS" ...

    The release I would release, will be slightly patched for compatibility with "HbbTV".

    I have already made some progress on "OpenATV", but it will be necessary to adapt some library present in LibreELEC (libdvdnav, libdvdread ...).

    I also saw that you are using an old "amcodec" that does not support streaming video port AFORMAT_WMALOSSLESS (libamplayer-2.1.0), so I had to update to be totally up to date.

    For my question framebuffer, I just wanted to know, what you have to list in your "/dev" folder, the rest I'm responsible for making a patch of the "Kernel". ;)

    • Official Post

    Kodi is written around ffmpeg (some of the Kodi developers are ffmpeg developers, none are gstreamer fans) so anything that forces another player app into the codebase is always going to be an ugly hack that is hard to maintain. It would be long-term better to think about enhancing ffmpeg capabiltiies in Kodi and contributing improvements, not hacking gstreamer support.

    Can you point me to your GitHub repo?

  • I totally agree, and I do not know who is the author of this patch. :-/

    I had seen that "Plex" had made a support "FFMPEG" for Amlogic, then we give up, I found the "COMMIT" that includes this support : LibreELEC.tv/package.mk at libreelec-8.2.0-plex · plexinc/LibreELEC.tv · GitHub

    I am a bit of the old school, I have no deposit for the moment, you want what exactly, because I have for the moment 2 part :

    WebTV: qtwebengine, qtwebtvservice (develop by myself) and PHP, I also plan to integrate Falkon (formerly QupZilla).

    Enigma2 : openatv, gstreamer1, libamplayer, libdreamdvd, libdvbsi++, libsigc++...

    For the Kernel and fb1 support, here it is (attachments).

    • Official Post

    Kodi normally builds ffmpeg as an internal dependency to control the ffmpeg version and apply specific patches. LE builds its own 'external' ffmpeg but applies the same patches. We also have an 'ffmpegx' package in our build-system because Tvheadend also needs ffmpeg but it needs more features enabled than the quite minimal Kodi version.

    I would not invest too much time/effort in the Amlogic 3.14 codebase. It's full of low quality kernel code and unresolvable issues. In the next couple of months we will have a mainline kernel/uboot with V4L2/mem2mem hardware video decode.

  • I understand your subject better, I discover V4L2/mem2mem, and also saw a development for "AMlogic".

    It also reassures me that "V4L2/mem2mem" is also supported on "GSTreamer", it is hours of work, which will lead to multiple possibilities in the future.

    If you're interested, I'll attach the latest version of libamcodec, download it from the official buildroot_openlinux_kernel_4.9_fbdev_20180418.tar.gz package :

    Zippyshare.com -

    Compilation test and successfully on Kodi, OpenATV, and "gst-aml-plugins1". ;)