Posts by BallerShotCaller

    Nope. It will be released simultaneously for Generic, RPi4, and the current roster of Allwinner and Rockchip devices. Everything else is either still in a developmental state or discontinued.

    Alright, now I understand that I don't have to check everyday whether it has been released or not since this will surely take a couple of weeks until all those platforms are ready for the official release.

    Thank you for clearing this up.

    Sorry if this question has already been asked before but as Kodi went from Pyhthon 2 to Python 3 I'm curious whether it will be possible to just update from LE 9 to LE 10 or will it be necessary to install LE 10 from scratch?


    Guys, I finally have localized and resolved the problem. I will post the solution here as maybe and hopefully this will help others too, as the solution was very hard to find:

    First of all I have to mention that I am using LibreELEC with multiple profile accounts, so this issue might not occur on everyone's LG TV. But basically my issue was based on the multi profile configuration itself.

    One strange behavior that made me feel curious was that after starting LibreELEC, when reaching the login-screen where all user profiles are being offered, the TV was oddly showing a resolution of [email protected] when instead I had set a resolution of 1920×[email protected] in LibreELEC under Settings --> System --> Display --> Resolution within my personal profile setting. Plus I had limited the whitelist to the following three resolutions:




    Now the obvious question to me was: How can the TV get a resolution that is set nowhere in the LibreELEC environment?

    So my next thought was that maybe LibreELEC would get the initial screen setting's resolution from the Master's user profile setting instead of my personal profile's setting (which would be curious to me as you have to enter the Master's user password everytime you want to navigate into LibreELEC's settings screen, which would indicate that those settings are being set globally (I learned it the hard way: they are not!).).

    So I logged in with the Master's profile and there I mentioned that under Settings --> System --> Display --> Resolution there was not set anything:

    So the next common thing I did was to insert the same settings as in my personal user's profile settings:

    1920×1080@50Hz for resolution


    whitelisted the following resolutions too:




    Rebootet LibreELEC and voilà, the login screen's resolution and refresh rate was in-sync with the TV's resolution display.

    Now all stuttering caused by the TV's not being in-sync with the LibreELEC system is gone for all live TV shows and all movies I have tested so far.


    So in the end no suspicious and fancy TV setting (e.g. Upscaling, Cinemamode, Freesync, Instant Game Response, noise filter, or whatever) caused this stuttering issue. I was able to get the TV in-sync with the LibreELEC system temporarly when the resolution/refresh rate was being changed "on-the-fly" while playing the movie (oddly it did not get in-sync when just starting the movie even when Adjust Display Refresh Rate was set to always.), but this was not an acceptable workaround to me.

    Even after login with my personal profile the resolution did not change from [email protected] to 1920×[email protected] though within my personal profile the setting under Settings --> System --> Display --> Resolution was set to 1920×[email protected].

    In the end the solution was found in a deeper way of configuration setting within LibreELEC which caused kind of an unpredictable behavior between LibreELEC and the LG TV because this setting's value was in an undefined state.

    I am quite happy I found out how to resolve this annoying stuttering issue but still I am curious what exactly is causing this issue in the background of LibreELEC's and my TV's behavior.

    Thinking back, in a way it makes sense that the initial login screen caused some issues becaused it's resolution state was just undefined. But then I don't understand why this caused further behavior issues like not being in-sync with the LG TV, even when starting to play a media file with a resolution change in-between.

    Maybe some of you LibreELEC/Kodi cracks do have an obvious answer to this.



    I have now found the confirmation of my guessings here:

    Upcoming Kodi 19 and profiles support

    The obvious point is coming from the user DarrenHill where he mentions:

    "Currently, if you're using the menu to select a profile (rather than having Kodi automatically open a specific profile), then that menu runs under the master profile.
    Hence if you have stuff configured under the master profile as well as other profiles, those configurations get loaded and then afterwards whatever you have in the other profile gets loaded once you select it.

    So if you have items in the master that are not in the secondary profile, then those will still be used (if stuff is either just in the secondary profile or is in both, then the secondary entry will be used as it will overwrite the version in the master profile where it exists).

    The trick is either to keep the master profile completely empty of all settings, or at least only put settings in there that you want to apply to all profiles. Most people make the mistake of using the master profile as just another profile, when in fact it's slightly different for those reasons. If you plan to use profiles at all, it needs to be handled as a special case."

    This seems (mostly) to be true but if this is all the case I'm still curious why LibreELEC did not change from [email protected] to 1920×[email protected] after logging in with my personal profile where the default resolution was set to 1920×[email protected].

    +1 here. I am having exactly the same issue.

    Here's an example of the behavior:

    Let's say the refresh rate of an SD based movie (most of my movies are based on SD material) being started in LE is set to [email protected] (of course this resolution setting is whitelisted within LE).

    To resolve this issue, while still playing the movie in background, I have to open the menu and set the exactly same resolution setting manually again which is already set. Then the TV screen turns black for a second, comes back and the picture goes smoothly as it should.

    After struggling around for days now I was able to localize the problem: When I enable the the refresh rate display on the TV I can see, after starting the movie, the TV is showing a refresh rate of 30Hz when LE has set it to 50Hz. After setting the resolution on-the-fly manually as described above, the TV shows the correct refresh rate any everything is in-sync.

    "Adjust Display Refresh Rate" is set to "always", but also "On Start/Stop" does not change anything according to this weird behavior.

    Not sure if this is a LG OLED TV issue (LG GX55 in my case) as in this topic LG TVs were already mentioned or if it's a LibreELEC/Kodi issue.

    Any suggestions on how to reslove or workaround this issue would be very appreciated.

    Recently there is this great new feature on LE which allows you to set a password on LE settings.

    Since the characters are being showed in clear text on the TV screen everytime you login into LE settings it would be nice to have those characters hidden so others cannot see it, for example like any other password protected KODI settings which are showing points instead of real characters.

    When using LibreELEC's backup function via GUI I've read that it basically does backup the following folders:




    Since I want to do a scheduled automatic backup onto a remote share via script I'm backing up the following folders via the following command:

    tar cfv backup.tar /storage/.cache /storage/.config /storage/.kodi /storage/scripts

    As you can see I'm backing up an additional folder called /storage/scripts

    Now my question is: When restoring the backup.tar file via GUI, will the additional folder be restored too or do I have to do it manually?

    Well, after messing around with this a while now I did not found the solution but I want to share my workaround with you which will delete the according history file on every system startup, system halt, system reboot and system poweroff/shutdown:

    According to this tutorial I have created the two files and inside the /storage/.config folder:

    Content of

    ( rm -rf /storage/.ash_history;
    ) &

    Contect of

    After creating those files with the according content make both files executable:

    chmod +x /storage/.config/
    chmod +x /storage/.config/

    Maybe this helps someone else but me too.



    Thank you, this works for a one-time erase. But what I really want is to disable history completely.

    The command

    echo $HISTFILE

    gives me the following output


    so I've tried the following command which is being executed without any error

    unset HISTFILE

    but after exit and login via SSH the /storage/.ash_history file is being created again.

    How can I delete the whole command line history permanently?

    cat /dev/null > ~/.bash_history && history -c && exit

    seems not to work as there is no ~/.bash_history file.

    Also, if there is a way, how can I make this automatically evertime I logout from command line?

    Thank you in advance.

    wget or curl from an LE box, you cannot download in a browser

    I'm standing a little in the dark of how I can download a specific addon version for my generic x64 device as a .ZIP file from the official LibreELEC repository by using wget. How can I find out the specific path to a specific version of a specific addon?

    I found a way to automate this. What I did:

    Create a shell script:

    nano /storage/<myScriptFolder>/<myScript>.sh

    Added the following content:

    curl -s -H "Content-Type: application/json" -v -X POST -d '{"jsonrpc": "2.0", "method": "Addons.SetAddonEnabled", "params": { "addonid": "pvr.teleboy", "enabled": false }, "id": 1}' http://localhost:8080/jsonrpc
    sleep 1
    curl -s -H "Content-Type: application/json" -v -X POST -d '{"jsonrpc": "2.0", "method": "Addons.SetAddonEnabled", "params": { "addonid": "inputstream.adaptive", "enabled": false }, "id": 1}' http://localhost:8080/jsonrpc
    sleep 1
    curl -s -H "Content-Type: application/json" -v -X POST -d '{"jsonrpc": "2.0", "method": "Addons.SetAddonEnabled", "params": { "addonid": "inputstream.adaptive", "enabled": true }, "id": 1}' http://localhost:8080/jsonrpc
    sleep 1
    curl -s -H "Content-Type: application/json" -v -X POST -d '{"jsonrpc": "2.0", "method": "Addons.SetAddonEnabled", "params": { "addonid": "pvr.teleboy", "enabled": true }, "id": 1}' http://localhost:8080/jsonrpc

    Saved the file, exit the editor and then made the script executable by running the following command:

    chmod +x /storage/<myScriptFolder>/<myScript>.sh

    Now, in my case, as I have multiple kodi profiles, the start of the Teleboy PVR and inputstream.adaptive addon are profile dependent, which means that they are started only after the according user did login.

    I found out that it is not possible to run a shell script directly and automatically in the background after a user has logged in so I had to create for every according profile an which is user profile dependent by default and is executed immediately after a user did login. So what I did was:

    Create the directly inside the according profile folder...

    nano /storage/.kodi/userdata/profiles/<myUser>/

    ...and adding the following content:

    import time
    import subprocess

    Saved the file, exit the editor and then made the executable by executing:

    chmod +x /storage/.kodi/userdata/profiles/<myUser>/

    Note: The time function is needed for adding a delay as in this special case it is necessary to wait until the Teleboy PVR and the inputstream.adaptive addons have fully started once. Otherwise, if you interrupt the start processes too early, they will not work correctly after disabling and enabling again.

    Hope this workaround helps someone.

    Something like

    from subprocess import call

    This solution worked, thank you.

    What I did, was:

    Create the directly inside the according profile folder with the following content:

    import subprocess"/storage/<myScriptFolder>/<myScript>.sh")

    Then made the executable by executing

    chmod +x