Read the statement by Michael Teeuw here.
Rpi 4 and two monitors
-
@NathTheDude sorry. I left out the pm2 steps
From mm2 folder do
pm2 start installers/pm2???.json pm2 save
Where the json file is the one u modified.
It should start the second mirror app.
The only difference is that window-positio info. And on reboot
pm2 status should show both.
Can u show the two chromium browser lines?
I will attempt to recreate here
-
Hey @sdetweil , after looking at how the current MM is setup with pm2 (pm2 show MagicMirror) this had the ‘mm.sh’ as the target.
Within the MM2 folder I ran: ‘pm2 start ./installers/mm.sh --name MagicMirror2’ which started the MM2 but on the first screen. Then used pm2 save.
I just setup pm2 with the .json file instead of the mm.sh file and the results seem to be the same from what i can see with it getting displayed on the first screen.
Within the start-run.sh, I can comment out the chromium line and and it will not break anything which makes me think this line is not being referenced.
MM line:
chromium-browser --noerrdialogs --kiosk --user-data-dir='Default' --window-position=0,0 --disable-infobars --app=http://localhost:$port --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors 2>/dev/null
MM2 line:
chromium-browser --noerrdialogs --kiosk --disable-infobars --app=http://localhost:8082 --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors --window-postion=1920,0 --user-data-dir='Test2' 2>/dev/null
-
@NathTheDude if u start the json file, pm2 reads the info, gives u a nice name etc.
pm2 delete 0 or 1
pm2 saveThen pm2 start the json file.
And pm2 save
To save for reboot -
I was able to recreate the problem, and good news its just a typo
--window-postion=1920,0
should be
--window-position=1920,0
missing i in position
-
Thank you for this although it is still producing 2 x MM’s on the first screen (MM and MM2), not sure what could be wrong. If you have it working it obviously must me something I have done wrong…hmmmmm.
I will review all the files and let you know if I find anything.
-
@sdetweil . I know it is a bit extreme but thought I would just start again and burn another image to the SD card. I am in the same position though
- burnt image to sd card, booted rpi and did an update, enabled SSH and VNC
- installed MM with your automation script
- copied the ‘MagicMirror’ Folder to ‘MagicMirror2’, in the new folder I updated:
– config.js - just updated port to 8082
– run-start.sh - updated with window position and profile
– mm.sh - new location
– pm2_MagicMirror.json - updated with new locations - within the MagicMirror2 folder,
– pm2 start ./installers/pm2_MagicMirror.json
– pm2 save - This then started another MM from the MM2 folder on to screen 1
- htop confirms that processes are running from both MagicMirror and MagicMirror2
- pm2 status confirms that both are up
In your setup, if you update the chromium line within run-start.sh with bad entries does that break your setup. Does not seem to be running this command from what I can see in my setup
-
well, I finally got it to work , note I have two displays that support 4k, 3840x2160, so my screen pos is double yours
in /boot/config.txt
[pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=4
and in /boot/cmdline.txt
add cma=384M to the end of the line, like this…plymouth.ignore-serial-consoles cma=384M
then you must power down and back up for these changes to be applied
found here
https://retropie.org.uk/forum/topic/24436/drm_ioctl_mode_create_dumb-failed-cannot-allocate-memory/9I was getting the DRM cannot allocate memory error
MagicMirror/run-start.sh line for chromium
chromium-browser -noerrdialogs -kiosk --user-data-dir='Default' --window-position=0,0 -start_maximized --disable-infobars --app=http://localhost:$port --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors 2>/dev/null
MagicMirror2/run-start.sh line for chromium
chromium-browser --disable-bundled-ppapi-flash -noerrdialogs -kiosk -start_maximized --window-position="3840,0" --disable-infobars --app=http://localhost:$port --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors --user-data-dir='Test2' # 2>/dev/null
this boots up and both MM start via pm2 and display on separate screens, with different content (modules in different positions)
here is a screenshot of my dev system connected to both MM servers at the same time
(the displays are two hdmi ports on the same TV, so I can’t show them physically at the same time)
-
@sdetweil - nice 2 x 4k’s.
So, I did what you mentioned in your last post but unfortunetly I am in the same issue. I wonder if your problem was more to do with 2 x 4k’s which is perhaps different to mine? I am not sure.
-
@sdetweil - if you comment out the chromium line in the run-start.sh does this cause you any issues/errors?
-
@NathTheDude no… you could just change config.js to serverOnly:true, then it won’t try to start chrome