Read the statement by Michael Teeuw here.
MESA Loader with fresh install
-
@Johanba the default os install doesn’t set up the driver for the mesa gpu that electron wants to use
you can research how to enable it, or turn off use of the gpu
add
export ELECTRON_DISABLE_GPU=1
to the script you use to launch MagicMirror
before any line that does npm startif you used my install script that file is
~/MagicMirror/installers/mm.sh
-
I tried editing installers/mm.sh to the below but still get an error running npm run start from MagicMirror directory. Is it running a different script to start?
cd ~/MagicMirror export ELECTRON_DISABLE_GPU=1 DISPLAY=:0 npm start
Error upon starting.
> magicmirror@2.23.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [13.05.2023 15:17.20.768] [LOG] Starting MagicMirror: v2.23.0 [13.05.2023 15:17.20.780] [LOG] Loading config ... [13.05.2023 15:17.20.787] [DEBUG] config template file not exists, no envsubst [13.05.2023 15:17.20.799] [LOG] Loading module helpers ... [13.05.2023 15:17.20.803] [LOG] No helper found for module: alert. [13.05.2023 15:17.20.834] [LOG] Initializing new module helper ... [13.05.2023 15:17.20.836] [LOG] Module helper loaded: updatenotification [13.05.2023 15:17.20.838] [LOG] No helper found for module: clock. [13.05.2023 15:17.22.967] [LOG] Initializing new module helper ... [13.05.2023 15:17.22.969] [LOG] Module helper loaded: calendar [13.05.2023 15:17.22.974] [LOG] No helper found for module: compliments. [13.05.2023 15:17.22.982] [LOG] No helper found for module: weather. [13.05.2023 15:17.23.045] [LOG] Initializing new module helper ... [13.05.2023 15:17.23.046] [LOG] Module helper loaded: newsfeed [13.05.2023 15:17.23.047] [LOG] All module helpers loaded. [13.05.2023 15:17.23.084] [LOG] Starting server on port 8080 ... [13.05.2023 15:17.24.236] [LOG] Server started ... [13.05.2023 15:17.24.238] [LOG] Connecting socket for: updatenotification [13.05.2023 15:17.24.240] [LOG] Starting module helper: updatenotification [13.05.2023 15:17.24.241] [LOG] Connecting socket for: calendar [13.05.2023 15:17.24.242] [LOG] Starting node helper for: calendar [13.05.2023 15:17.24.244] [LOG] Connecting socket for: newsfeed [13.05.2023 15:17.24.246] [LOG] Starting node helper for: newsfeed [13.05.2023 15:17.24.247] [LOG] Sockets connected & modules started ... [13.05.2023 15:17.24.454] [LOG] Launching application. MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information ../../buildtools/third_party/libc++/trunk/include/vector:1425: assertion __n < size() failed: vector[] index out of bounds[1409:0513/151731.846998:ERROR:gpu_process_host.cc(991)] GPU process exited unexpectedly: exit_code=6 MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information ../../buildtools/third_party/libc++/trunk/include/vector:1425: assertion __n < size() failed: vector[] index out of bounds[1451:0513/151738.477982:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. [1409:0513/151738.712662:ERROR:gpu_process_host.cc(991)] GPU process exited unexpectedly: exit_code=6 MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information
-
@calcio pm2 status will show the managed apps
pm2 info number/name
will tell you a bunch. but also the path/name of the thing started
-
@sdetweil Sorry, haven’t had a chance to revisit this. I’m running this over SSH to get everything set up. The app doesn’t crash so I can’t run pm2 after npm run start. It just errors and then tries to fetch information forever. I did look at the manual again and found a note that for running over ssh you should use ```
DISPLAY=:0 nohup npm start & -
@calcio we fixed the over SSH thing a long time ago, I do it all the time…
(didn’t know I wasn’t supposed to be able to…! lol)you can open a second ssh to get to pm2 tho…
but you should be able to
pm2 start all
to get mm to start …still see no clear process to make those messages go away. other than disable gpu
-
@sdetweil from the magicmirror directory I started npm start run and in another ssh session pm2 status shows
[PM2][WARN] Current process list is not synchronized with saved list. App npm differs. Type ‘pm2 save’ to synchronize.
Tried pm2 save and
[PM2] Saving current process list…
[PM2][WARN] PM2 is not managing any process, skipping save…
[PM2][WARN] To force saving use: pm2 save --force
Tried your recommendation of running pm2 start all after killing the other running mirror and get
[PM2][WARN] No process foundRunning the npm start run does show the mirror but it has that mesa-loader error and an exception. Not sure if this can just be ignored. Would rather be able to solve this. But second question after trying to get this fixed is the pi with the mirror running appears to go into sleep or display shuts off. How do I go about keeping it showing.
Again output if useful from running npm run start
user@computer:~/MagicMirror $ npm run startmagicmirror@2.23.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[21.05.2023 19:09.35.149] [LOG] Starting MagicMirror: v2.23.0
[21.05.2023 19:09.35.168] [LOG] Loading config …
[21.05.2023 19:09.35.176] [DEBUG] config template file not exists, no envsubst
[21.05.2023 19:09.35.187] [LOG] Loading module helpers …
[21.05.2023 19:09.35.218] [LOG] No helper found for module: alert.
[21.05.2023 19:09.35.260] [LOG] Initializing new module helper …
[21.05.2023 19:09.35.265] [LOG] Module helper loaded: updatenotification
[21.05.2023 19:09.35.269] [LOG] No helper found for module: clock.
[21.05.2023 19:09.35.980] [LOG] Initializing new module helper …
[21.05.2023 19:09.35.982] [LOG] Module helper loaded: calendar
[21.05.2023 19:09.35.986] [LOG] No helper found for module: compliments.
[21.05.2023 19:09.35.989] [LOG] No helper found for module: weather.
[21.05.2023 19:09.36.057] [LOG] Initializing new module helper …
[21.05.2023 19:09.36.058] [LOG] Module helper loaded: newsfeed
[21.05.2023 19:09.36.059] [LOG] All module helpers loaded.
[21.05.2023 19:09.36.088] [LOG] Starting server on port 8080 …
[21.05.2023 19:09.38.320] [LOG] Server started …
[21.05.2023 19:09.38.322] [LOG] Connecting socket for: updatenotification
[21.05.2023 19:09.38.324] [LOG] Starting module helper: updatenotification
[21.05.2023 19:09.38.325] [LOG] Connecting socket for: calendar
[21.05.2023 19:09.38.326] [LOG] Starting node helper for: calendar
[21.05.2023 19:09.38.329] [LOG] Connecting socket for: newsfeed
[21.05.2023 19:09.38.331] [LOG] Starting node helper for: newsfeed
[21.05.2023 19:09.38.332] [LOG] Sockets connected & modules started …
[21.05.2023 19:09.39.193] [LOG] Launching application.
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
…/…/buildtools/third_party/libc++/trunk/include/vector:1425: assertion __n < size() failed: vector[] index out of bounds[1294:0521/190948.154504:ERROR:command_buffer_proxy_impl.cc(325)] GPU state invalid after WaitForGetOffsetInRange.
[1294:0521/190948.157431:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[1252:0521/190948.236817:ERROR:gpu_process_host.cc(991)] GPU process exited unexpectedly: exit_code=6
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
…/…/buildtools/third_party/libc++/trunk/include/vector:1425: assertion __n < size() failed: vector[] index out of bounds[1252:0521/190954.556190:ERROR:gpu_process_host.cc(991)] GPU process exited unexpectedly: exit_code=6
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
…/…/buildtools/third_party/libc++/trunk/include/vector:1425: assertion __n < size() failed: vector[] index out of bounds[1252:0521/190955.659256:ERROR:gpu_process_host.cc(991)] GPU process exited unexpectedly: exit_code=6
[1294:0521/190956.473632:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[21.05.2023 19:10.00.497] [LOG] Create new calendarfetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics - Interval: 300000
[21.05.2023 19:10.00.744] [LOG] Create new newsfetcher for url: https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
[21.05.2023 19:10.00.917] [INFO] Checking git for module: MagicMirror
[21.05.2023 19:10.02.472] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[21.05.2023 19:10.02.552] [INFO] Newsfeed-Fetcher: Broadcasting 26 items. -
@calcio the only way to resolve the Mesa error is to turn off using the GPU
add to script, or before npm start in script do
export ELECTRON_DISABLE_GPU=1
-
@sdetweil I ended up creating a bash script to run export ELECTRON_DISABLE_GPU=1 and it works well. I also configured the screen to stay on. Now to go play with modules. Thanks for your assistance!
-
@calcio if you used my install script, I create that script
~/MagicMirror/installers/mm.sh