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.1k 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.
    • N Offline
      NathTheDude
      last edited by

      thanks @sdetweil , right you are - I was not running npm from within the MagicMirror directory.

      When I update ‘Display’ to 1 I still get an error when trying to manually run NPM, however when ‘Display’ is set to 0 and then I run NPM there are no errors with it. The error is:

      pi@MagicMirrors:~/MagicMirror $ npm start
      
      > magicmirror@2.10.1 start /home/pi/MagicMirror
      > ./run-start.sh
      
      (electron:11918): Gtk-WARNING **: 22:18:00.088: cannot open display: :1
      npm ERR! code ELIFECYCLE
      npm ERR! errno 1
      npm ERR! magicmirror@2.10.1 start: `./run-start.sh`
      npm ERR! Exit status 1
      npm ERR! 
      npm ERR! Failed at the magicmirror@2.10.1 start script.
      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      
      npm ERR! A complete log of this run can be found in:
      npm ERR!     /home/pi/.npm/_logs/2020-02-04T22_18_00_154Z-debug.log
      pi@MagicMirrors:~/MagicMirror $ 
      

      @bhepler thanks for the link, it is a bit beyond my understanding at the moment. I will have to read up on it a bit more. I tried to run xrandr to see what kind of status it gives on the monitors but it currently comes back with ‘Can’t open display’, I assume it is because another service/application is utilising them?

      Anyway, thanks for your help.

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

        @NathTheDude said in Rpi 4 and two monitors:

        When I update ‘Display’ to 1 I still get an error

        Yes, we just need to find out what the other Display number is.

        tvservice is wrong cause it reports display 2 for HDMI 0, and we know it’s really Display 0

        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 , so using ‘0’ or ‘0.0’ give the same result and start MM on the first monitor.

          So far I have tried 1,2,3,4,5,6,7,8,9 and 0.1, 0.2, 0.3, 0.4, 0.5

          How far do I go? :)

          O 1 Reply Last reply Reply Quote 0
          • O Offline
            OldSunGuy @NathTheDude
            last edited by

            @NathTheDude The 2nd monitor should be display 0, screen 1. Use this:

            DISPLAY=:0.1
            
            1 Reply Last reply Reply Quote 0
            • N Offline
              NathTheDude
              last edited by NathTheDude

              Hey @OldSunGuy , thanks. ‘0’ and ‘0.0’ seem to be the first monitor however I get an error when I try anything else. So far I have tried using each of the following: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9

              Each time I try to start npm (npm start) apart from when I use 0 or 0.0 I get the following (with the value reflecting the number I changed in ‘run-start.sh’):

              (electron:2238): Gtk-WARNING **: 06:14:02.236: cannot open display: :0.1
              

              @sdetweil - not sure if this is relevant but it does not seem to matter what value I set in ‘run-start.sh’, when I reboot the pi it will always start MM on the first screen. Should it not fail if it is using ‘run-start.sh’?

              Also with an incorrect value being added to ‘run-start.sh’, when I run ‘mm.sh’ this always works and displays MM on the first screen.

              okay, I think I understand it now. When I reboot it is using ‘mm.sh’, within mm.sh is the following:

              cd ~/MagicMirror
              DISPLAY=:0 npm start
              

              Which I assume means that the ‘run-start.sh’ is not used during boot up?

              When I change this value to anything other than 0, this will also fail with the same error seen when trying to run npm previously.

              O 1 Reply Last reply Reply Quote 0
              • O Offline
                OldSunGuy @NathTheDude
                last edited by

                @NathTheDude If you start a terminal on one desktop and run:

                echo $DISPLAY
                

                Then start a terminal on the other desktop and run:

                echo $DISPLAY
                

                do you get the same results?

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

                  @OldSunGuy - I get :0.0

                  I wonder if both screens are being seen as 0.0, if that is the case I guess I would expect the MM screen to cover both screens and not just the first :-/

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

                    @OldSunGuy , sorry mis read your comment. Not sure how I would start a terminal on one screen and a different terminal on another.

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

                      @NathTheDude if they are two independent desktops, then you should have a menu on the second desktop, just like the first…

                      also, you can move the mouse to the second desktop and do ctrl-alt-t to open a terminal there

                      I have an micro hdmi adapter coming later today so I can put up a second physical display on my pi4…

                      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 , I opened up a terminal session on each screen and both indicated the same display was being used (:0).

                        From the ‘Appearance Settings’ window (‘Prefences’ > ‘Apprearance Settings’, there is a ‘Taskbar’ tab and in this tab you select which hdmi output you want the taskbar to be on. You can choose both.

                        S N 2 Replies 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