CPU stuck at 800Mhz?

  • So I have a Intel NUC: NUC6CAYH

    CPU is a Intel Celeron J3455 / 1.5 GHz / 2.3Ghz turbo.

    But in LibreElec / Kodi (19) it is stuck at 800Mhz.

    I have checked everything in BIOS but all settings are at high perf.

    If I only swap the disk and boot Windows, speeds are ok.

    How to solve this?

  • It looks like a memory leak error, triggered by the Netflix add-on:

    Code
    1. ...
    2. 2019-07-26 10:10:42.314 T:139900012103424 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
    3. - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
    4. Error Type: <class 'urllib2.URLError'>
    5. Error Contents: <urlopen error [Errno 111] Connection refused>
    6. Traceback (most recent call last):
    7. File "/storage/.kodi/addons/plugin.video.netflix/addon.py", line 33, in <module>
    8. NAVIGATION.router(paramstring=REQUEST_PARAMS)
    9. ...

    Uninstall the add-on and see whether it solves the issue. Maybe a simple re-install makes Netflix work as expected.

  • Run this command in ssh:

    Code
    1. cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

    If is says "powersave" - run this:

    Code
    1. echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

    If this solves your issue you can make it permanent by adding it to /storage/.config/autostart.sh

  • Yep seems to me you might need a solution similar to what is towards the bottom here:

    Video stutter 25Hz Videoplayback with Hardwaredecoding Libreelec 9.0


    ....some sort of kernel param to force the CPU to a higher setting (as per the suggestion above). If you force the CPU up to a higher level, you'll use a bit more power but that's usually a much more liveable scenario than stutter effects...it might also be worth looking at the GPU side of things, although I don't think that is used for Netflix, that's all software decoded I think?

  • Yeah, setting GPU frequency to a max.setting is pretty much a must for most Intel LE boxes. I use 750 mhz GPU speed for my Gemini Lake box. However, I didn't have to change the CPU governor to "performance" because default "powersave" seem to work fine for me.

  • If that's a known thing (the need to set the GPU MHz), one wonders why it is not baked into Libreelec or at least in some sort of FAQ somewhere?


    It took me quite some effort to dig that up....

  • I had a look at the CPU data sheet, max. frequency (burst) is 2.30GHz, so 800MHz is not close to the max, as I stated before.

    The data sheet of the NUC says, it supports two displays (HDMI, VGA). Maybe one of them has to be switched off to relieve the CPU.

  • Run this command in ssh:

    Code
    1. cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

    If is says "powersave" - run this:

    Code
    1. echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

    If this solves your issue you can make it permanent by adding it to /storage/.config/autostart.sh


    Added to autostart.sh and confirmed on performance now, it was on powersave.

    But still max 800Mhz and maxing it when Netflix is on.


    Also tried:


    (

    echo 750 > /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz

    ) &

    nohup script.sh &



    I don't see any difference.

    But then that might not be the correct device for my nuc.

    Edited 2 times, last by SirMacke ().

  • cat /sys/bus/pci/devices/0000:00:02.0/drm/card0/gt_cur_freq_mhz


    Says 750

    So the 800 max on cpu is still an issue.

  • cat /sys/bus/pci/devices/0000:00:02.0/drm/card0/gt_cur_freq_mhz

    That is the video clock of the GPU.


    Use

    Code
    1. cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

    to see the current CPU core frequencies.

  • That is the video clock of the GPU.


    Use

    Code
    1. cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

    to see the current CPU core frequencies.

    cat: can't open '/sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq': No such file or directory



    Edit:

    Code
    1. LibreELEC:~ # lscpu | grep MHz
    2. CPU MHz: 799.149
    3. CPU max MHz: 1500.0000
    4. CPU min MHz: 800.0000

    But It never leaves 800, even when cores are at 100%

    Edited 2 times, last by SirMacke ().