Kodi Community Forum
v18 LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: v18 LibreELEC Testbuilds for x86_64 (Kodi 18.0) (/showthread.php?tid=298462)



RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - WaVe_99 - 2019-04-10

Hi, does anyone also have a problem with Logitech harmony subtitle command and new generic builds for Intel NUC (after fixing problem with sound...)? Still same remote.xml and subtitle command now open video info window :-) It was OK before 9.1, i am pretty sure.


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - DaVu - 2019-04-10

Get us a Debug Log where we might see the keypresses, please


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - beeswax - 2019-04-10

(2019-04-09, 19:09)HiassofT Wrote:
(2019-04-09, 16:50)beeswax Wrote: Oh dear, that's a shame.  Can you tell me how I switch to using pure MCE keyboard in the newer kernel?
If you create an empty 98-eventlircd.rules file eventlircd processing will be disabled and the MCE keyboard will work like before:
Code:
: > /storage/.config/udev.rules.d/98-eventlircd.rules
With eventlircd disabled MCE remote buttons will still mostly work, but some like KEY_OK or KEY_CHANNELUP/DOWN will stop working. If you want to use these you'll need to remap then to supported key codes (eg KEY_ENTER, KEY_PAGEUP/DOWN) via a custom rc_keymap file (you can use rc6_mce as a base and just change the keycodes you need).

so long,

Hias      
Hi Hias,

I tried the method of re-enabling the MCE keyboard but unfortunately that didn't work so I'm looking at the alternative - using only the standard MCE Remote profile with my Logitech remote.  So I got rid of all the custom keymaps and am just using the native libreelec_multi table now.  The MCE remote works pretty well like this but I'm really struggling to customise it in any way.  Using Kodi debugging, I was able to determine some of the more unusual button's IDs:

php:
My Videos        scancode = 0x800f044a    key_down: KEY_VIDEO(0x0189)        obc248
My Pictures        scancode = 0x800f0449    key_down: KEY_CAMERA(0x00d4)    obc249
My Music        scancode = 0x800f0447    key_down: KEY_M(0x0032)            obc255
My Radio         obc7
My TV            LIRC: - NEW 179 0 KEY_TV devinput (KEY_TV) DEBUG: HandleKey: one (0x31) pressed
Media Center    LIRC: - NEW e2 0 KEY_MEDIA devinput (KEY_MEDIA) DEBUG: HandleKey: percent (0x25)
Record            LIRC: - NEW a7 0 KEY_RECORD devinput (KEY_RECORD) DEBUG: HandleKey: text (0xe8) pressed, action is Record

I think it will be easy enough to customise anything with obc numbers by adding these kinds of entries into the Kodi keymap:

php:
        <universalremote> 
          <obc249>Stop</obc249>
        </universalremote>

However take this example - I want to make it so when I long-press the Record button in the EPG, it brings up the Series Timer window.  This was easy enough under the old kernel or Windows by simply mapping 'R' to record then doing this in the keymap:

php:
<tvguide>
        <keyboard>
            <r>Record</r>
            <r mod="longpress">showtimerrule</r>
        </keyboard>
    </tvguide>

But I can't make this work in the latest LE builds.  How do you insert an entry in the Kodi keymap when the input seemingly isn't from a keyboard or a universal remote ("LIRC: - NEW a7 0 KEY_RECORD devinput (KEY_RECORD)")?  I tried this:

php:
<tvguide>
        <keyboard>
            <text>Record</text>
            <text mod="longpress">showtimerrule</text>
        </keyboard>
    </tvguide>

to no avail.  I started replacing the functionality of the key just to see if I was actually getting the syntax right but even something simple like this doesn't work (Kodi just carries on with the default "record" binding):

php:
<global>
    <keyboard>
        <text>Info</text>
    </keyboard>
</global>

Any idea what I'm doing wrong?  I've been trying to get this to work all day Sad


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - HiassofT - 2019-04-10

With Lirc events you have to setup Lircmap.xml to map Lirc codes to kodi "buttons". Then in remote.xml you can map these buttons to actions.

For a list of valid Kodi button names best look at the TranslateString function in IRTranslator.cpp https://github.com/xbmc/xbmc/blob/master/xbmc/input/IRTranslator.cpp#L155-L232

I can't comment on the universalremote thing, not sure if this is supposed to work or if it's only for windows - I never used it myself.

Note that longpress support isn't supported with lirc)remote events, that's only available for keyboard input events.

so long,

Hias


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - beeswax - 2019-04-10

Thanks Hias for your help, but it really doesn't seem to work that way.  I did already try some Lircmap.xml tricks earlier but I've tried again just now in as simple a way as I can.  Forgetting about long-press, lets just say I want the Record button to perform a different action to default.  Eventually I want it to bring up the Series Timer dialogue but to keep things simple for testing, lets just say I want to remap it to perform the same action as the "Info" button.

So as I supposedly can't map anything to a LIRC input, I setup a Lircmap.xml:

php:
<lircmap>
  <remote device="devinput">
    <star>KEY_RECORD</star>
  </remote>
</lircmap>

and then create a very simple Kodi keymap:

php:
<keymap>

    <global>
        <keyboard>
            <star>Info</star>
        </keyboard>
    </global>

</keymap>

After rebooting, this seems to do absolutely nothing. Kodi debug log when 'Record' button is pressed:

php:
2019-04-10 15:49:31.039 T:140364027524864   DEBUG: LIRC: - NEW a7 0 KEY_RECORD devinput (KEY_RECORD)
2019-04-10 15:49:31.061 T:140364170612864   DEBUG: HandleKey: text (0xe8) pressed, action is Record

I really do appreciate any help on this, I'm just curious if anyone thinks these changes to how remote input is handled are actually an improvement on the old method?  From my experience so far, its a lot more complicated and a lot more limiting Sad


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - HiassofT - 2019-04-10

(2019-04-10, 17:52)beeswax Wrote:
php:
<keymap>

    <global>
        <keyboard>
            <star>Info</star>
        </keyboard>
    </global>

</keymap>
You need to put the mapping into the remote section, not the keyboard section. eg
php:
<keymap>
    <global>
        <remote>
            <star>Info</star>
        </remote>
    </global>
</keymap>
so long,

Hias


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Milhouse - 2019-04-10

New LibreELEC.tv Leia build #0410: Generic
(Supercedes previous build)

SHA256 Checksum: 00f148762dd64da5135c15698129ad0ef836f0e39e146e82b6453ccdcbec3b8e (Generic)

text:
# uname -a
Linux NUC 5.0.7 #1 SMP Wed Apr 10 21:05:13 BST 2019 x86_64 GNU/Linux

# lsb_release
LibreELEC (Milhouse): devel-20190410210344-#0410-g7ede469 [Build #0410]

# Kodi version
Kodi (18.2-RC1 Git:01fc59d). Platform: Linux x86 64-bit

Based on tip of LibreELEC.tv master (7ede469, changelog) and tip of XBMC master (01fc59d, changelog) with the following modifications:
  • Includes latest kodi-platform master (e8574b8)
  • Includes latest libcec master (ba9b538, ahead +1)
  • Includes latest libnfs master (4bd145b, ahead +2)
  • Includes latest p8-platform master (1eb12b1)
  • Includes latest addons: inputstream.adaptive (5600fa1, +4), inputstream.rtmp (ce68b77, +1), peripheral.joystick (910bd3d, +8), peripheral.xarcade (d218f0d, +6), pvr.argustv (83aa1e9), pvr.demo (964686d, +3), pvr.dvblink (ecc9cfd), pvr.dvbviewer (c2c1beb, +2), pvr.filmon (e850633), pvr.hdhomerun (a9d7309), pvr.hts (8dcd62d), pvr.iptvsimple (73feb2f), pvr.mediaportal.tvserver (931afab), pvr.mythtv (179b6ea, +2), pvr.nextpvr (b54f79f, +5), pvr.njoy (4467cac, +4), pvr.octonet (203f800), pvr.pctv (b60b971), pvr.stalker (d0170c5), pvr.teleboy (1956113), pvr.vbox (ea20464), pvr.vdr.vnsi (cbb75ab), pvr.vuplus (4f0de0e, +33), pvr.waipu (339c3dc, +4), pvr.wmc (7b28be3), pvr.zattoo (667b986, +2), vfs.libarchive (2ba1102), vfs.rar (e6b5114, +4), vfs.sftp (3ab3969, +3)
  • Include [env] db280be: samba: set fruit:model = Xserve for macOS finder
  • Include [env] compare (perma): TESTING: increase timeout to ensure OS is able to create core dump/crash log
  • Include [env] compare (perma): kodi: fix patch, bump ffmpeg-4.0.3-Leia-18.2
  • Include [env] patch: RPi/RPi2: enable Broadcom WiFi debugging (see details)
  • Include [env] patch: kodi: use upstream repo for Milhouse RPi builds
  • Include [env] patch: kodi: remove annoying, excessively repetitive addon logging
  • Include [env] patch: HACK: Disable multiple PVR addons during migration. Always enable inputstream.* and os.*
  • Include [env] patch: Bump included addon versions to prevent online updates
  • Include [env] patch: rev hack for kodi
  • Include [env] patch: Add experimental splash video for RPi
  • Include [env] patch: Add kodi binary addons (pvr, adsp, inputstream, vfs, peripheral.joystick/xarcade, other)
  • Include [env] PR:2431 (perma): Add PKG_STAMP to trigger a package rebuild
  • Include [env] PR:3357 (perma): Add nghttp2 support
  • Include [env] PR:3375 (perma): linux (RPi/Generic): update to linux-5.0.7
  • Include [env] PR:3393 (perma): arm-mem: update to arm-mem-0100445, enable for all arm builds
  • Include [env] PR:3396 (perma): RTL8192DU: fix build for Kernel 3.14.29 / Project Amlogic_Legacy
  • Include [env] PR:3397 (perma): libxkbcommon: updated to 0.8.4 / added meson opts & LE copyright
  • Include [env] PR:3398 (perma): xkeyboard-config: updated to 2.26 / added fix for broken pt layout / updated build & added LE copyright
  • Include [env] PR:3399 (perma): cmake: update to cmake-3.14.1
  • Include [env] PR:3400 (perma): llvm: update to llvm-8.0.0
  • Include [env] PR:3401 (perma): nano: updated to nano-4.0 / added Team LibreELEC copyright
  • Include [env] PR:3402 (perma): Enable uvcvideo driver as kernel module
  • Include [env] PR:3410 (perma): New infolabel Skin.Name
  • Include [env] PR:3411 (perma): dav1d: updated to 0.2.1 / added meson opts to disable tools & tests
  • Include [env] PR:3413 (perma): libva/libva-utils: update to 2.4.1
  • Include [pkg] patch: kodi: fix addon platform_tag (kodi)
  • Include [pkg] PR:123 (perma): add PIN lock option to LE Settings (service.libreelec.settings)
  • Include [pkg] PR:124 (perma): Fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:125 (perma): Fixes for connman module (service.libreelec.settings)
  • Include [pkg] PR:126 (perma): Properly fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:127 (perma): fix missing flags (service.libreelec.settings)
  • Include [pkg] PR:128 (perma): Move all textures to common folder / Clean-up textures (service.libreelec.settings)
  • Include [pkg] PR:129 (perma): updates: notify user if custom url is not accessible (service.libreelec.settings)
  • Include [pkg] PR:130 (perma): make Estuary elements conditional (service.libreelec.settings)
  • Include [pkg] PR:14571 (perma): Remove ARB postfix from GL functions
  • Include [pkg] PR:15164 (perma): TexturePacker: Fix memory / resource leak the ugly way
  • Include [pkg] PR:15356 (perma): Optimize locking in ApplicationMessenger
  • Include [pkg] PR:15771 (perma): RetroPlayer: Move rendering calls to initialize/deinitialize methods
Build Highlights:
  1. libva/libva-utils: update to 2.4.1
  2. [LinuxRendererGLES] Fix pixelstore usage
  3. [Music]Fix art loading for music located on server
Build Details:
  1. LibreELEC.tv:
    • libtool: don't install source files on target (PR:3395, 1 commit, 1 file changed)
  2. XBMC:
    • [Android] Add colorMode to android:configChanges to avoid restarts (PR:15889, 1 commit, 1 file changed)
    • [LinuxRendererGLES] Fix pixelstore usage (PR:15880, 1 commit, 1 file changed)
    • Fix debug log statement in Windows NotificationClient (PR:15892, 1 commit, 1 file changed)
    • [Music]Fix art loading for music located on server (PR:15867, 1 commit, 3 files changed)
  3. pvr.nextpvr:
    • CreateThread change (PR:92, 1 commit, 2 files changed)
  4. vfs.sftp:
    • fix searching p8-platform headers (PR:26, 1 commit, 3 files changed)
  5. Additional commits/pull requests/changes not yet merged upstream:
    • Added: [env] PR:3413 (perma): libva/libva-utils: update to 2.4.1



RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - smp1 - 2019-04-11

I just started using Generic builds a few days ago and I noticed an issue that appear to be a memory fragmentation that never happened with RPi builds.
The memory usage of kodi.bin increase over time and it will eventually restart due to an OOM killer.
I did a quick search and found this thread where it is suggested that MALLOC_MMAP_THRESHOLD_=131072 should fix the memory fragmentation issue for x86_64 (I'm currently testing with this setting, no issues so far). Also, this Kodi commit that set MALLOC_MMAP_THRESHOLD to 131072 was added back then.
However, this LE commit seem to ignore the default Kodi setting and set MALLOC_MMAP_THRESHOLD to 524288. Any idea why LE does not use 131072?


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - beeswax - 2019-04-11

(2019-04-10, 18:23)HiassofT Wrote:
(2019-04-10, 17:52)beeswax Wrote:
php:
<keymap>

    <global>
        <keyboard>
            <star>Info</star>
        </keyboard>
    </global>

</keymap>
You need to put the mapping into the remote section, not the keyboard section. eg
php:
<keymap>
    <global>
        <remote>
            <star>Info</star>
        </remote>
    </global>
</keymap>
so long,

Hias    

Thanks Hias, I finally got there and now have a mostly working remote setup, the only thing I can't replicate from the old setup is the long-press mod for recording in the EPG.  Is this limitation inherent to the new way of doing things or is there the possibility of a solution one day?

In case it's useful for anyone else with a Harmony remote emulating an MCE one, these are the config files I ended up needing to create/use:

/storage/.kodi/userdata/Lircmap.xml:
xml:
<lircmap>
  <remote device="devinput">
    <star>KEY_MEDIA</star>
    <hash>KEY_DVD</hash>
    <livetv>KEY_TV</livetv>
  </remote>
</lircmap>

/storage/.kodi/userdata/keymaps/keyboard.xml:
xml:
<keymap>

    <global>
        <universalremote> 
          <obc249>Record</obc249>
          <obc4>ActivateWindow(Videos,MovieTitles)</obc4>
          <obc3>ActivateWindow(Videos,TvShowTitles)</obc3>
          <obc2>ToggleWatched</obc2>
        </universalremote>
        
        <remote>
            <star>FullScreen</star>
            <livetv>ActivateWindow(home)</livetv>
            <hash>ContextMenu</hash>
        </remote>
        
    </global>
    
    <tvguide>
        <universalremote> 
          <obc249>showtimerrule</obc249>
        </universalremote>
    </tvguide>
    
    <FullscreenVideo>

        <universalremote> 
          <obc248>NextSubtitle</obc248>
        </universalremote>
        
        <remote>
            <hash>OSD</hash>
            <star></star>
            <livetv>ActivateWindow(home)</livetv>
        </remote>
        
    </FullscreenVideo>
    
    <VideoOSD>
        <remote>
            <hash>Back</hash>
        </remote>
  </VideoOSD>

</keymap>

I found the way the IR keys work really strange and inconsistent.  Many keys show up as "obc" type commands and can be just mapped directly in keyboard.xml e.g. the "My Videos" button on the MCE remote:
php:
scancode = 0x800f044a    key_down: KEY_VIDEO(0x0189)        obc248
While others go through LIRC and have to translated multiple times from LIRC -> Kodi -> keymap, most tedious and very easy to get in a muddle.  e.g. the "My TV" button:
php:
LIRC: - NEW 179 0 KEY_TV devinput (KEY_TV) DEBUG: HandleKey: one (0x31) pressed

All in all, this is a true horror from a user experience perspective and I hope this is an area that receives further attention in the future, it really shouldn't be this difficult to customise a few buttons on a remote.


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Milhouse - 2019-04-11

New LibreELEC.tv Leia build #0411: Generic
(Supercedes previous build)

SHA256 Checksum: a6098fae61bed70ca7191fc9e344edfbb8b0d49e0b800f6a9eda05e069b056ef (Generic)

text:
# uname -a
Linux NUC 5.0.7 #1 SMP Thu Apr 11 21:04:43 BST 2019 x86_64 GNU/Linux

# lsb_release
LibreELEC (Milhouse): devel-20190411210316-#0411-g5c38a4c [Build #0411]

# Kodi version
Kodi (18.2-RC1 Git:01fc59d). Platform: Linux x86 64-bit

Based on tip of LibreELEC.tv master (5c38a4c, changelog) and tip of XBMC master (01fc59d, changelog) with the following modifications:
  • Includes latest kodi-platform master (e8574b8)
  • Includes latest libcec master (ba9b538, ahead +1)
  • Includes latest libnfs master (4bd145b, ahead +2)
  • Includes latest p8-platform master (1eb12b1)
  • Includes latest addons: inputstream.adaptive (5c9c7f2, +5), inputstream.rtmp (ce68b77, +1), peripheral.joystick (910bd3d, +8), peripheral.xarcade (d218f0d, +6), pvr.argustv (83aa1e9), pvr.demo (964686d, +3), pvr.dvblink (ecc9cfd), pvr.dvbviewer (c2c1beb, +2), pvr.filmon (e850633), pvr.hdhomerun (a9d7309), pvr.hts (8dcd62d), pvr.iptvsimple (73feb2f), pvr.mediaportal.tvserver (931afab), pvr.mythtv (179b6ea, +2), pvr.nextpvr (b54f79f, +5), pvr.njoy (4467cac, +4), pvr.octonet (203f800), pvr.pctv (b60b971), pvr.stalker (d0170c5), pvr.teleboy (1956113), pvr.vbox (ea20464), pvr.vdr.vnsi (cbb75ab), pvr.vuplus (4f0de0e, +33), pvr.waipu (339c3dc, +4), pvr.wmc (7b28be3), pvr.zattoo (667b986, +2), vfs.libarchive (2ba1102), vfs.rar (e6b5114, +4), vfs.sftp (3ab3969, +3)
  • Include [env] compare (perma): TESTING: increase timeout to ensure OS is able to create core dump/crash log
  • Include [env] compare (perma): kodi: fix patch, bump ffmpeg-4.0.3-Leia-18.2
  • Include [env] patch: RPi/RPi2: enable Broadcom WiFi debugging (see details)
  • Include [env] patch: kodi: use upstream repo for Milhouse RPi builds
  • Include [env] patch: kodi: remove annoying, excessively repetitive addon logging
  • Include [env] patch: HACK: Disable multiple PVR addons during migration. Always enable inputstream.* and os.*
  • Include [env] patch: Bump included addon versions to prevent online updates
  • Include [env] patch: rev hack for kodi
  • Include [env] patch: Add experimental splash video for RPi
  • Include [env] patch: Add kodi binary addons (pvr, adsp, inputstream, vfs, peripheral.joystick/xarcade, other)
  • Include [env] PR:2431 (perma): Add PKG_STAMP to trigger a package rebuild
  • Include [env] PR:3357 (perma): Add nghttp2 support
  • Include [env] PR:3393 (perma): arm-mem: update to arm-mem-0100445, enable for all arm builds
  • Include [env] PR:3396 (perma): RTL8192DU: fix build for Kernel 3.14.29 / Project Amlogic_Legacy
  • Include [env] PR:3397 (perma): libxkbcommon: updated to 0.8.4 / added meson opts & LE copyright
  • Include [env] PR:3398 (perma): xkeyboard-config: updated to 2.26 / added fix for broken pt layout / updated build & added LE copyright
  • Include [env] PR:3399 (perma): cmake: update to cmake-3.14.1
  • Include [env] PR:3400 (perma): llvm: update to llvm-8.0.0
  • Include [env] PR:3401 (perma): nano: updated to nano-4.0 / added Team LibreELEC copyright
  • Include [env] PR:3410 (perma): New infolabel Skin.Name
  • Include [env] PR:3411 (perma): dav1d: updated to 0.2.1 / added meson opts to disable tools & tests
  • Include [env] PR:3413 (perma): libva/libva-utils: update to 2.4.1
  • Include [env] PR:3417 (perma): mesa: update to mesa-19.0.2
  • Include [env] PR:3419 (perma): systemd: update to systemd-242
  • Include [pkg] patch: kodi: fix addon platform_tag (kodi)
  • Include [pkg] PR:123 (perma): add PIN lock option to LE Settings (service.libreelec.settings)
  • Include [pkg] PR:124 (perma): Fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:125 (perma): Fixes for connman module (service.libreelec.settings)
  • Include [pkg] PR:126 (perma): Properly fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:127 (perma): fix missing flags (service.libreelec.settings)
  • Include [pkg] PR:128 (perma): Move all textures to common folder / Clean-up textures (service.libreelec.settings)
  • Include [pkg] PR:129 (perma): updates: notify user if custom url is not accessible (service.libreelec.settings)
  • Include [pkg] PR:130 (perma): make Estuary elements conditional (service.libreelec.settings)
  • Include [pkg] PR:14571 (perma): Remove ARB postfix from GL functions
  • Include [pkg] PR:15164 (perma): TexturePacker: Fix memory / resource leak the ugly way
  • Include [pkg] PR:15356 (perma): Optimize locking in ApplicationMessenger
  • Include [pkg] PR:15771 (perma): RetroPlayer: Move rendering calls to initialize/deinitialize methods
Build Highlights:
  1. systemd: update to systemd-242
  2. mesa: update to mesa-19.0.2
Build Details:
  1. LibreELEC.tv:
    • linux (RPi/Generic): update to linux-5.0.7 (PR:3375, 17 commits, 10 files changed)
    • Enable uvcvideo driver as kernel module (PR:3402, 4 commits, 7 files changed)
    • samba: set fruit:model = Xserve for macOS finder (PR:3416, 1 commit, 1 file changed)
  2. inputstream.adaptive:
    • Fix KID's with 0 char inside (5c9c7f2)
  3. Additional commits/pull requests/changes not yet merged upstream:
    • Updated: [env] PR:3411 (perma): dav1d: updated to 0.2.1 / added meson opts to disable tools & tests
    • Added: [env] PR:3417 (perma): mesa: update to mesa-19.0.2
    • Added: [env] PR:3419 (perma): systemd: update to systemd-242



RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Milhouse - 2019-04-11

(2019-04-11, 16:42)smp1 Wrote: Any idea why LE does not use 131072?

Much of the discussion surrounding this particular change happened on the Team Kodi Slack, which isn't ideal considering it's not public.

Anyway, I (and others) did some investigation of the different threshold settings and - at the time, 6 Feb 2017 - a figure of 512KB appeared to be the most optimal.

Cutting & pasting the following from Team Kodi Slack (the testing involved caching thumbnails, if I remember correctly):
text:

------- EXPORT=128KB
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
892 root 20 0 2703440 359256 162872 S 6.7 4.5 0:08.26 kodi.bin
892 root 20 0 2884536 363168 164308 S 7.3 4.5 3:49.45 kodi.bin

------- EXPORT=512KB
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
914 root 20 0 2694472 351676 163380 R 8.3 4.4 0:08.04 kodi.bin
914 root 20 0 2885048 358816 164740 S 6.3 4.5 3:48.86 kodi.bin

------- EXPORT=1MB
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
885 root 20 0 2322412 304240 162292 S 360.0 3.8 0:04.47 kodi.bin
885 root 20 0 2900616 376744 164928 S 6.7 4.7 3:48.23 kodi.bin

The start/end difference in RES seems to increase with the EXPORT, which I guess is to be expected. `TIME+` (or time to cache) doesn't change significantly with any EXPORT setting. 512KB might be the sweet spot. (edited)

It appears that members of Team Kodi decided to use a different value of 128KB on 22 Feb 2017 after LibreELEC had opted to use use 512KB on 7 Feb 2017 - not really sure why.

We already use a much smaller threshold on ARM systems mainly because ARM systems typically have much less RAM than x86_64 and will therefore suffer OOM sooner, but also the allocators for 64-bit (x86_64) systems are different to 32-bit (ARM).

I'm not against revising the setting we use for x86_64, but would want more evidence of an actual problem before doing so. How much RAM does your x86_64 system have? If you have 2GB or less RAM installed then yes, 512KB may not be an ideal setting particularly if the system is up for extended periods of time.

To be honest, I think any figure we - LibreELEC or Kodi - use is likely to cause an OOM problem eventually, as there's not really a right or wrong value, just "least worse" values. The threshold value is a trade-off, balancing performance against likelihood of fragmentation, so it's never going to be perfect and the smaller value you use will cost you in terms of overall performance.

Not sure which solution you used to override the threshold, but you can persistently override the kodi.conf setting by running:
text:

echo "MALLOC_MMAP_THRESHOLD_=131072" > /storage/.config/kodi.conf
to use a 128KB threshold.


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - smp1 - 2019-04-11

(2019-04-11, 23:16)Milhouse Wrote: How much RAM does your x86_64 system have? If you have 2GB or less RAM installed then yes, 512KB may not be an ideal setting particularly if the system is up for extended periods of time.
2Gb. If I leave a 4K TV channel playing for a few hours - kodi.bin will progressively use more and more RAM until OOM kicks in (it usually takes 7-8 hours). It takes a bit longer for 1080i channels. This is ridiculous considering that my 1Gb RPi3 used to work for months without a reboot.


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - smp1 - 2019-04-12

--


RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Milhouse - 2019-04-12

New LibreELEC.tv Leia build #0412: Generic
(Supercedes previous build)

SHA256 Checksum: 233c5ad16fbe6bc2e884807c95e1ae7593afe40b51960f99397d226e62a74f79 (Generic)

text:
# uname -a
Linux NUC 5.0.7 #1 SMP Fri Apr 12 21:04:50 BST 2019 x86_64 GNU/Linux

# lsb_release
LibreELEC (Milhouse): devel-20190412210323-#0412-g977b2aa [Build #0412]

# Kodi version
Kodi (18.2-RC1 Git:36bf9e0). Platform: Linux x86 64-bit

Based on tip of LibreELEC.tv master (977b2aa, changelog) and tip of XBMC master (36bf9e0, changelog) with the following modifications:
  • Includes latest kodi-platform master (e8574b8)
  • Includes latest libcec master (ba9b538, ahead +1)
  • Includes latest libnfs master (4bd145b, ahead +2)
  • Includes latest p8-platform master (1eb12b1)
  • Includes latest addons: inputstream.adaptive (5c9c7f2, +5), inputstream.rtmp (ce68b77, +1), peripheral.joystick (910bd3d, +8), peripheral.xarcade (d218f0d, +6), pvr.argustv (83aa1e9), pvr.demo (964686d, +3), pvr.dvblink (ecc9cfd), pvr.dvbviewer (c2c1beb, +2), pvr.filmon (e850633), pvr.hdhomerun (a9d7309), pvr.hts (8dcd62d), pvr.iptvsimple (73feb2f), pvr.mediaportal.tvserver (931afab), pvr.mythtv (179b6ea, +2), pvr.nextpvr (b54f79f, +5), pvr.njoy (4467cac, +4), pvr.octonet (203f800), pvr.pctv (b60b971), pvr.stalker (d0170c5), pvr.teleboy (1956113), pvr.vbox (ea20464), pvr.vdr.vnsi (cbb75ab), pvr.vuplus (4f0de0e, +33), pvr.waipu (339c3dc, +4), pvr.wmc (7b28be3), pvr.zattoo (667b986, +2), vfs.libarchive (2ba1102), vfs.rar (e6b5114, +4), vfs.sftp (3ab3969, +3)
  • Include [env] compare (perma): TESTING: increase timeout to ensure OS is able to create core dump/crash log
  • Include [env] compare (perma): kodi: fix patch, bump ffmpeg-4.0.3-Leia-18.2
  • Include [env] patch: RPi/RPi2: enable Broadcom WiFi debugging (see details)
  • Include [env] patch: kodi: use upstream repo for Milhouse RPi builds
  • Include [env] patch: kodi: remove annoying, excessively repetitive addon logging
  • Include [env] patch: HACK: Disable multiple PVR addons during migration. Always enable inputstream.* and os.*
  • Include [env] patch: Bump included addon versions to prevent online updates
  • Include [env] patch: rev hack for kodi
  • Include [env] patch: Add experimental splash video for RPi
  • Include [env] patch: Add kodi binary addons (pvr, adsp, inputstream, vfs, peripheral.joystick/xarcade, other)
  • Include [env] PR:3357 (perma): Add nghttp2 support
  • Include [env] PR:3393 (perma): arm-mem: update to arm-mem-0100445, enable for all arm builds
  • Include [env] PR:3397 (perma): libxkbcommon: updated to 0.8.4 / added meson opts & LE copyright
  • Include [env] PR:3398 (perma): xkeyboard-config: updated to 2.26 / added fix for broken pt layout / updated build & added LE copyright
  • Include [env] PR:3399 (perma): cmake: update to cmake-3.14.1
  • Include [env] PR:3400 (perma): llvm: update to llvm-8.0.0
  • Include [env] PR:3401 (perma): nano: updated to nano-4.0 / added Team LibreELEC copyright
  • Include [env] PR:3410 (perma): New infolabel Skin.Name
  • Include [env] PR:3411 (perma): dav1d: updated to 0.2.1 / added meson opts to disable tools & tests
  • Include [env] PR:3413 (perma): libva/libva-utils: update to 2.4.1
  • Include [env] PR:3417 (perma): mesa: update to mesa-19.0.2
  • Include [env] PR:3419 (perma): systemd: update to systemd-242
  • Include [pkg] patch: kodi: fix addon platform_tag (kodi)
  • Include [pkg] PR:123 (perma): add PIN lock option to LE Settings (service.libreelec.settings)
  • Include [pkg] PR:124 (perma): Fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:125 (perma): Fixes for connman module (service.libreelec.settings)
  • Include [pkg] PR:126 (perma): Properly fix duplicate bluetooth devices (service.libreelec.settings)
  • Include [pkg] PR:127 (perma): fix missing flags (service.libreelec.settings)
  • Include [pkg] PR:128 (perma): Move all textures to common folder / Clean-up textures (service.libreelec.settings)
  • Include [pkg] PR:129 (perma): updates: notify user if custom url is not accessible (service.libreelec.settings)
  • Include [pkg] PR:130 (perma): make Estuary elements conditional (service.libreelec.settings)
  • Include [pkg] PR:14571 (perma): Remove ARB postfix from GL functions
  • Include [pkg] PR:15164 (perma): TexturePacker: Fix memory / resource leak the ugly way
  • Include [pkg] PR:15356 (perma): Optimize locking in ApplicationMessenger
  • Include [pkg] PR:15771 (perma): RetroPlayer: Move rendering calls to initialize/deinitialize methods
Build Highlights:
  1. [PVR] Initialize timer info tag with first available timer type from client
Build Details:
  1. LibreELEC.tv:
    • Add PKG_STAMP to trigger a package rebuild (PR:2431, 3 commits, 4 files changed)
    • RTL8192DU: fix build for Kernel 3.14.29 / Project Amlogic_Legacy (PR:3396, 1 commit, 1 file changed)
    • texturecache.py: update to texturecache.py-2.5.0 (PR:3420, 1 commit, 1 file changed)
  2. XBMC:
    • [PVR] Initialize timer info tag with first available timer type from client (PR:15882, 1 commit, 3 files changed)



RE: LibreELEC Testbuilds for x86_64 (Kodi 18.0) - Nekromantik - 2019-04-13

what could be cause of random pixelation while watching a movie?
its not my network as the NUC is wired in and got a gigabit connection to my NAS.