MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Electron CPU usage

    Scheduled Pinned Locked Moved Troubleshooting
    247 Posts 46 Posters 544.9k Views 42 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cdelaorden
      last edited by

      Hi guys

      Im new to the forum and this project but I have some small experience with the Pis and having the same issue

      I think that its related to the video driver, using ‘sudo raspi-config’ and changing the video driver to one of the GL drivers resulted in a much lower cpu load in my case.

      Doesn’t matter if you choose full KMS or fake KMS as long as you dont use the legacy non-GL driver.

      It took my 4 CPU from full 100% to idle bellow 35%

      Im sure someone else with this problem can confirm this

      E MichMichM 2 Replies Last reply Reply Quote 1
      • E Offline
        E3V3A @cdelaorden
        last edited by

        @cdelaorden

        • How can we check the video driver without using rapsi-conf?
          in dmesg? in systemd journal?
        • How/where do you set the: ELECTRON_FORCE_WINDOW_MENU_BAR=1.
        • What would be the easiest way for users to check electron version from command line?

        "Everything I do (here) is for free – altruism is the way!"
        MMM-FlightsAbove, MMM-Tabulator, MMM-Assistant (co-maintainer)

        C 1 Reply Last reply Reply Quote 0
        • C Offline
          cdelaorden @E3V3A
          last edited by

          @e3v3a
          You can check it in the config.txt

          or just do a “tail /boot/config.txt | grep dtoverlay” to check what version is enabled

          all the rest of my configuration is the default one after a fresh install from the current version of MM and Raspbian, I havent touched anything from electron

          1 Reply Last reply Reply Quote 0
          • J Offline
            Juju
            last edited by

            Omg, yes finally! :D
            First I followed this installation guide: https://forum.magicmirror.builders/topic/236/complete-setup-tutorial/3
            I had the electron CPU issue. So I downgraded to electron version 1.4.15. The CPU usage went down from 90% to 70%. It was still laggy as hell.
            I then formatted the microSD card and followed that youtube guide: https://www.youtube.com/watch?v=0Q04SKvibik
            Downgraded to 1.4.15 again and now it’s running great with a CPU usage of like 5% with spikes to 50%, when there is an animation on the screen.

            But I have one question.
            0_1526304772560_Unbenannt.JPG
            After I finished the youtube tutorial I have the “MagicMirror” and the “mm”. Both autostart when I boot the raspberry pi.
            Which use has the “mm”?

            Mykle1M 1 Reply Last reply Reply Quote 0
            • Mykle1M Offline
              Mykle1 Project Sponsor Module Developer @Juju
              last edited by

              @juju

              pm2 stop mm
              pm2 delete mm
              pm2 save
              rm ~/mm.sh

              Create a working config
              How to add modules

              1 Reply Last reply Reply Quote 2
              • MichMichM Offline
                MichMich Admin @cdelaorden
                last edited by

                @cdelaorden I think you’ve found the issue! Awesome work!

                For others please note that when you start raspi-config and go to “Advanced Options” > “GL Driver”, the top one will always be selected, no matter which one is active. After selecting one of the two top drivers (GL), it might solve the hi CPU load issue …

                It solved it on a clean installed Pi 3 for me.

                1 Reply Last reply Reply Quote 0
                • MichMichM Offline
                  MichMich Admin
                  last edited by

                  I added some info about the Open GL driver to the Wiki:
                  https://github.com/MichMich/MagicMirror/wiki/Configuring-the-Raspberry-Pi#enable-the-open-gl-driver-to-decrease-electrons-cpu-usage

                  Hein-JanH 1 Reply Last reply Reply Quote 3
                  • Hein-JanH Offline
                    Hein-Jan @MichMich
                    last edited by

                    @michmich

                    I seem to be running into some kind if trouble. My SD card failed, so I had to do a clean install. I decided to immediately go for the full KMS driver.
                    “$ tail /boot/config.txt | grep dtoverlay” results in “dtoverlay=vc4-kms-v3d”.

                    The CPU usage is alright, but “/home/pi/.pm2/logs/mm-error-o.log” states:

                    libGL error: MESA-LOADER: failed to retrieve device information
                    MESA-LOADER: failed to retrieve device information
                    MESA-LOADER: failed to retrieve device information
                    

                    I am having trouble with the monitor. I am using MMM-Remote-Control.
                    “MONITOROFF” results in “/home/pi/.pm2/logs/mm-error-o.log”:

                    Powering off HDMI
                    

                    “MONITORON” results in “/home/pi/.pm2/logs/mm-error-o.log”:

                    Powering on HDMI with preferred settings
                    
                    [E] Failed to power on HDMI with preferred settings
                    
                    { Error: Command failed: tvservice --preferred && sudo chvt 6 && sudo chvt 7
                    [E] Failed to power on HDMI with preferred settings
                    
                        at ChildProcess.exithandler (child_process.js:217:12)
                        at emitTwo (events.js:106:13)
                        at ChildProcess.emit (events.js:194:7)
                        at maybeClose (internal/child_process.js:899:16)
                        at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
                      killed: true,
                      code: null,
                      signal: 'SIGTERM',
                      cmd: 'tvservice --preferred && sudo chvt 6 && sudo chvt 7' }
                    Powering off HDMI
                    

                    I may be wrong but I feel this is related to the Full KMS driver.

                    Can anyone confirm? Does anyone have a solution?
                    I am way out of my depth here…

                    C 1 Reply Last reply Reply Quote 0
                    • D Offline
                      Dom1n1c
                      last edited by

                      @Hein-Jan I got the same issue.
                      A few minutes, the monitor could be controlled, but then “tvservice -p” fails to power on the monitor.

                      1 Reply Last reply Reply Quote 0
                      • C Offline
                        cdelaorden @Hein-Jan
                        last edited by cdelaorden

                        @hein-jan @Dom1n1c

                        Please use the fake kms driver instead “dtoverlay=vc4-fkms-v3d”

                        it its known that the full kms driver isnt compatible with tvservice plus other restrictions

                        EDIT:
                        Also with the fake KMS you can rotate the display from /boot/config.txt so I suggest @michmich using it as the preferred method in the wiki

                        1 Reply Last reply Reply Quote 2
                        • 1
                        • 2
                        • 21
                        • 22
                        • 23
                        • 24
                        • 25
                        • 24 / 25
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy