Read the statement by Michael Teeuw here.
Electron CPU usage
-
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
-
- 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?
- How can we check the video driver without using rapsi-conf?
-
@e3v3a
You can check it in the config.txtor 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
-
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.
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”? -
pm2 stop mm
pm2 delete mm
pm2 save
rm ~/mm.sh -
@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.
-
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 -
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… -
@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. -
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