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 546.8k 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.
    • 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
              • S Offline
                schmo90
                last edited by

                @cdelaorden said in Electron CPU usage:

                the full kms driver isnt compatib

                hy now i use the fake kms driver, everything is working fine and realy fast.
                but i have the problem that the mirror will go to a black screen after some hours.

                only a pm2 restart mm helps in this case -.-

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

                  @schmo90 mmm havent had that problem, everything its working fine

                  Have you deactivated the screensaver as its shown in the wiki?

                  Also, are you using a module like MMM-Remote-Control to turn off the screen?

                  If you see a black screen and the mouse but nothing else you are probably missing “sudo chvt 6 && sudo chvt 7” in your statement after turning hdmi back on. You can test it in ssh after forcing the issue.

                  Also if you are concatenating commands like Hein-Jan did with “tvservice --preferred && sudo chvt 6 && sudo chvt 7” have in mind that commands after && are only executed if no errors are found. So maybe “tvservice -p” its working correctly but its giving some feedback and things after && aren’t executed.

                  You could force it by using ; as a separator instead of && so it doesn’t look for an answear

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    schmo90
                    last edited by

                    hy i didnot turn off the hdmi,

                    i will turn off the lcd with the gpio’s

                    screen is turning on normal but electron browser is showing a black screen (mous appears at moving)

                    1 Reply Last reply Reply Quote 0
                    • binderthB Offline
                      binderth
                      last edited by

                      adding another flavour:
                      As my Foscam FI9900P got an ONVIF-Update lately and is now capable of RTSP-streaming I installed MMM-RTSPStream.

                      • activated fake (or full) OpenGL Desktop driver:
                        omxplayer crashes
                      • activated non-GL desktop driver:
                        omxplayer runs

                      So, as I see it, the omxplayer problem doesn’t concern MagicMirror - is there another way to reduce Electron CPU usage - except using an Open-GL dekstop driver?

                      PS: activating fake KMS reduced CPU usage as recommended in this thread - but I’d like to have the video-stream of my cam on the MM (unfortunately it doesn’t provide MJPEG)

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

                        hi @binderth
                        the fake-kms was created for keeping omxplayer compatibility but you need to add the “–no-osd” flag to the omxplayer command line

                        you might want to try it

                        dont bet on it, but changing line 101 of node_helper.js to

                        var args = ["--no-osd", "--live", "--video_queue", "4", "--fps", "30",
                        

                        might do the trick

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 24
                        • 25
                        • 1 / 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