Skin in FrameBuffer - Without X11 ?

  • Hello everyone,

    It's been 3 days that I block on a stage of a project under a LibreELEC environment, and with a box WeTek Play 2.

    I would like to use VDR with better performance, and not go under Kodi (except the OSD VDR) which Stream audio and video, and thus causes slow zaps (cache).

    Most ARM boxes, works directly in FrameBuffer, but I have a doubt if the Skins vdr-plugin-skindesigner and skin-flatplus, can work without X11 ?

    Because at each startup, I find myself with a segmentation fault, and the command "dmesg" tells me just this, which does not help me at all :

    However, I have no problem with standard VDR skins.

    Do you have any idea who can be involved in my VDR 2.2.0 ?

    I enclose the startup file : https://raw.githubusercontent.…ddon/source/bin/vdr.start

    I'm just adding this :

    1. VDR_ARG="$VDR_ARG -P skindesigner"

    Looking forward to hearing from you, I thank you in advance.

  • Which display plugin do you use?


    VDR1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 18.04, VDR 2.4x
    VDR2: ASUS P4B533, Celeron 2.4G, FF 1.5, Ubuntu 10.10, VDR 1.6 (SS2 Rev 2.6B)
    VDR Server: sheeva-plug

  • unhandled level 2 translation fault related errors seem to occur mostly on 64-bit ARM kernels - did you try a 32-bit kernel?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Thank you for your speed !

    The Kernel is in 64Bits : aarch64

    This is Amlogic, I use (for tests only) this plugin that works very well in "FrameBuffer" with the standard skin : VDR Amlogic HD Device

    The goal, is to develop a compatible Kodi addon on all media, with a faster, and above all more complete LiveTV, which will integrate the OSD of VDR, as well as an audio/video acceleration under GSTreamer.

    I will base myself on the pvr.vdr.vnsi plugin for the OSD part, because it is already integrated in this plugin :…dr.vnsi/src/VNSIAdmin.cpp

  • I could use gdb, to locate the time of the crash under VDR 2.4.0 that I updated :

    1. Thread 1 "vdr.bin" received signal SIGSEGV, Segmentation fault.
    2. 0x0000007fa3322c9c in cSDDisplayChannel::cSDDisplayChannel(cViewChannel*, bool) ()
    3.    from /storage/.kodi/addons/service.multimedia.vdr-addon/plugin/
    4. (gdb)

    Do you think VDR is unstable under aarch64 processors ?

  • Can you show the origin of the segfault by calling bt full in gdb after the crash (it would be beneficial if the debug symbols for vdr and skindesigner are available)?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Here is the complete output :

    I added these arguments sous LibreELEC, which have been taken into account, but apparently not enough to have a more accurate crash debugging :

    1. pre_configure_target() {
    2. export CFLAGS="$CFLAGS -g"
    3. export CXXFLAGS="$CXXFLAGS -g"
    4. }
  • I took the strip version, here is a new release with the debug :

  • GDB was very useful to me, I was able to locate the problem, and put some "printf" debugging, because the errors with the dsyslog function do not work.

    I quickly knew where the crash comes from, it occurs when the skin does not initialize properly, it will then put the default skin that is "LCARS", and that's where the crash comes.

    So I looked for the reason for this switch to the default skin, and it is this variable that is negative :

    1. if (!trueColorAvailable) {
    2. newSkin->ActivateBackupSkin();
    3. }

    So I commented "newSkin->ActivateBackupSkin();", and I now have a load without crash, however, I have a black screen, but I see scrolling commands.

    I think I can cope, now that I have many more elements !

    Thank you in any case for your support very fast !