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.

    Rpi 4 and two monitors

    Scheduled Pinned Locked Moved Hardware
    60 Posts 6 Posters 28.4k Views 6 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.
    • S Offline
      sdetweil @NathTheDude
      last edited by sdetweil

      @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

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • N Offline
        NathTheDude
        last edited by NathTheDude

        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
        
        S 2 Replies Last reply Reply Quote 0
        • S Offline
          sdetweil @NathTheDude
          last edited by

          @NathTheDude if u start the json file, pm2 reads the info, gives u a nice name etc.

          pm2 delete 0 or 1
          pm2 save

          Then pm2 start the json file.
          And pm2 save
          To save for reboot

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @NathTheDude
            last edited by

            @NathTheDude

            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

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • N Offline
              NathTheDude
              last edited by

              @sdetweil

              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.

              1 Reply Last reply Reply Quote 0
              • N Offline
                NathTheDude
                last edited by

                @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

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

                  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/9

                  I 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)
                  alt text

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 1
                  • N Offline
                    NathTheDude
                    last edited by

                    @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.

                    1 Reply Last reply Reply Quote 0
                    • N Offline
                      NathTheDude
                      last edited by

                      @sdetweil - if you comment out the chromium line in the run-start.sh does this cause you any issues/errors?

                      S 2 Replies Last reply Reply Quote 0
                      • S Offline
                        sdetweil @NathTheDude
                        last edited by

                        @NathTheDude no… you could just change config.js to serverOnly:true, then it won’t try to start chrome

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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