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.

    Multiple screens fo MM.

    Scheduled Pinned Locked Moved General Discussion
    36 Posts 13 Posters 22.3k Views 15 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.
    • N Offline
      ninjabreadman @Joshrobbs1
      last edited by ninjabreadman

      @Joshrobbs1 Two monitors on each side, or one each/two total? You could run two completely separate mirror instances, or one instance (i.e. server) and hide the modules (via CSS) you don’t want displayed on each one.

      I suggest using a Raspberry Pi Zero W to power one display, run a browser and connect to the other instance/server (or run an MM instance on the RPi Zero W). The server could be on a more powerful Raspberry Pi (3b) or some old laptop hardware. You would want to run the simpler, static modules (weather, time, calendar) on the RPi Zero W and the more demanding, processor-intensive modules (voice, video feeds, complex rendering) on the server.

      I don’t know how MM feels about running two instances on the same machine – you’d need to set different ports, scripts, etc, but I imagine it’s possible with some reconfiguration to avoid collisions.

      Problem with config or JavaScript? Copy/paste it into JSHint.
      Check out the detailed walkthroughs on install, config, modules, etc.

      H 1 Reply Last reply Reply Quote 0
      • H Offline
        hogedir @ninjabreadman
        last edited by

        @ninjabreadman Hi,

        Now we have a rpi4B with 2 screens available, and i want to display on 2 screens the magic mirror.

        is it possible with the version 2.20 ?

        kayakbabeK S 2 Replies Last reply Reply Quote 0
        • kayakbabeK Offline
          kayakbabe @hogedir
          last edited by

          @hogedir With a raspberry 4 you can have two displays. I’m thinking they can be set up as an extended desktop . Then it’s no big deal with the default magic mirror.
          Top_left and top_right would end up being left and right…
          I haven’t tried this with MM. But I have used my pi with two screens. But in my mind it ought to work with MM.
          Just don’t use the middle_center or any position that would span across both monitors.

          H 1 Reply Last reply Reply Quote 0
          • H Offline
            hogedir @kayakbabe
            last edited by

            @kayakbabe I think we need two electron display, so it’s not quite easy. it’s not just top_left and top_right. I need 2 MMM, 1 magic mirror per screen.

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

              @hogedir electron (and other browsers) runs maximized, which is only one screen…

              you can DRAG the edge to make the window larger, but cannot maximize over two screens…

              you can run separate instances of MM on each display…

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • BKeyportB Offline
                BKeyport Module Developer @hogedir
                last edited by

                @hogedir I had two running off one display, just two different Magicmirror installs. I forgot how it works though, was using them as a temporary menu display.

                Something about calling different config files if I recall right.

                The "E" in "Javascript" stands for "Easy"

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

                  @BKeyport MM_CONFIG environment variable

                  allows the different configs off the same directory tree

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    karam @BKeyport
                    last edited by

                    @BKeyport this answer inspired me to test it, so I have a solution:

                    1. create two different folders.
                    2. configure each install as you like.
                    3. edit each electron file in each folder “js/electron.js”
                    4. change the default resolution and position based on your screens.
                      here is my config:
                    let electronOptionsDefaults = {
                                    width: 1280,
                                    height: 1024,
                                    x: 1366,
                                    y: 0,
                                                 }
                    

                    NOTE: there are many better methods (electron-multi-monitor for example) but this is the easiest that I could find

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

                      @karam u can set the electronOptions in config.js, you don’t need to edit the source file

                      then you can do it with one folder,
                      and two config files

                      environment variable
                      MM_CONFIG=config1.js
                      for one

                      and
                      MM_CONFIG=config2.js
                      for the other

                      all modules for both are installed in modules folder, only ones referenced in config file are used

                      installers/mm.sh is the script used by my pm2 setup routine
                      copy that to mm2.sh
                      and then add the export MM_CONFIG=
                      to each

                      then copy the pm2_magicmirror.json
                      and change the title and the mm.sh filename

                      then pm2 start installers/??? (whatever name u copied the json file to for the second mm)
                      pm2 save
                      then on reboot you will get both

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      C S 2 Replies Last reply Reply Quote 1
                      • C Offline
                        cburchett @sdetweil
                        last edited by

                        @sdetweil: can you please share an example? I am not sure how to indicate the secondary display in the config files. Thank you!

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