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 35.0k 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

      @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
                    • S Offline
                      sdetweil @NathTheDude
                      last edited by sdetweil

                      @NathTheDude I started by doing

                      cd MagicMirror
                      node serveronly 
                      

                      note no npm start needed, will run til you ctrl-break out

                      then tried multiple tries to get chrome on the second display…
                      (it works manually if the position is mispelled!)

                      then once it worked reliably,
                      i killed the server instance
                      then I used pm2 to stop/start that instance til I got that to work.

                      note that I had to use
                      –disable-bundled-ppapi-flash
                      on the second instance as it collided with the 1st…

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      K 1 Reply Last reply Reply Quote 0
                      • K Offline
                        krocaq @sdetweil
                        last edited by

                        @sdetweil

                        @saljoke
                        Hi. Thats right. i only use 1 Pi4 to serve both displays via 2 MM instances. first the originally MagicMirror directory and the second in a MagicMirror2 directory. Both powered up via PM2 and turned off and on via PIR sensor.

                        The config looks like this:

                        language: “de”,
                        logLevel: [“INFO”, “LOG”, “WARN”, “ERROR”],
                        timeFormat: 24,
                        units: “metric”,
                        electronOptions: {fullscreen:true, x:1920},

                        1920 is the resolution witdh of the main display.

                        Very easy to handle and good for the electrical consumption

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

                          @krocaq see my comment here , you can do it with ONE directory
                          https://forum.magicmirror.builders/topic/17239/two-display/2?_=1663555322286

                          Sam

                          How to add modules

                          learning how to use browser developers window for css changes

                          1 Reply Last reply Reply Quote 0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • 1
                          • 2
                          • 3
                          • 3 / 3
                          • 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