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.

    Initial Setup Q's and Some Doc Feedback

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    21 Posts 3 Posters 9.4k Views 3 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.
    • E Offline
      ember1205
      last edited by

      Getting started, numerous issues and questions doing the initial setup.

      First, I want to say that the overall docs for installing and configuring this appear to be reasonably solid and generally well-maintained - kudos for that!

      With that said, there appear to be some gaps that I’m falling into.

      The doc I’m using to get started is this one: https://github.com/MichMich/MagicMirror
      I have an RPi3 with a 64G card. I am using the full Raspbian image and loaded it via NOOBS. After booting up and stepping through the few minimum steps that the device requires (including setting up WLAN and doing an OS update and then restart), I drop to a shell to begin the MM install and setup. For automatic installation, all I should have to issue (according to the docs) is

      bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
      

      While that works, there are a LOT of warnings about things potentially not working. So, I opted to update node.js according to the next two steps:

      curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
      sudo apt install -y nodejs
      

      This clearly processes updates and “makes me feel better.” Was it a necessary step? Should this have been required given that I opted for the “automatic” install?

      Backing up just a bit, there appears to be no guidance in the install doc as to whether I should choose to allow the installer to set MM to autostart and/or whether I should disable the screensaver during the install process. I chose “N” and “Y” respectively.

      After the node.js updates and a restart, I moved on to the Configuration section and opted to follow this doc: https://github.com/MichMich/MagicMirror/wiki/Configuring-the-Raspberry-Pi

      The information in the OpenGL driver section are very confusing. It states that you shouldn’t need to modify the OpenGL driver, then goes on to tell you to edit a file whose location has changed (but the commands still point to the old location - you have to find the info in the notes that the file has been moved), tells you to add a line for

      dtoverlay=vc4-kms-v3d
      

      Which looks IDENTICAL to the new default (which is already in the file) as

      dtoverlay=vc4-fkms-v3d
      

      That is also referenced as an option later on in the doc, but there’s no commentary that I could find as to whether I should use one or the other for my specific hardware. Also, the file HAS the new default, but it’s in a RPi4 section. Again, very confusing here, and really don’t know what I should have opted for. I chose the full OpenGL and not the “fake” one.

      In the Screensaver section, the first portion is already present since I opted to let the installer disable the screensaver. The second portion, however (LightDM) is not only not present but there is no discussion of what this is. Is this actually a required piece? What does it do?

      The section for disabling WiFi Power Saving seems pretty broken, at least for my needs. The section about adding information for Pi3 (Jesse and below) will BREAK your setup if using a new release. If nothing else, I would say this entire doc would be immensely easier to follow if there were some direction provided for inspecting the /etc/os-release file to determine which build of Raspbian is being used along with some notes on which names were released in which order (so you know that buster is newer than Jesse, for example).

      For the VNC server section, it was quite simple for me to just “turn on” the SSH and VNC server options from the Options panel in the desktop on the RPi when doing initial setup. I also want to point out that doing it this way also requires that the security options on the server be changed from UNIX Password to VNC Password or at least some VNC clients won’t connect.

      If anyone has any thoughts on the pieces where I wasn’t sure what to do, I’d appreciate it. Thanks!

      S 1 Reply Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @ember1205
        last edited by sdetweil

        @ember1205 the installer you used is WAY downlevel… I have created a new one that will be released on the next update

        see
        https://forum.magicmirror.builders/topic/10171/anyone-want-to-try-updated-installer

        if u want to run it now, then rename the MagicMirror folder out of the way and use the command
        provided in the linked topic
        (note there is also a new script for updates, and a new script to fix PM2 should you change your mind or have trouble)… all added to the next release

        it solves most of the issues you mentioned…

        except for warnings… which were added to the npm install processes, and we have no control.
        they ARE Warnings… so unless u intend your mirror to be accessed from over the internet, i think most are not worth chasing down… (the updates to fix the ‘vulnerabilities’ MAY/have/will at some time, mess things up and the mirror won’t run. (due to somebody elses code being broken)…

        notice on the kms driver the F letter
        dtoverlay=vc4-fkms-v3d
        means use the FAKE driver, not real… it MAY work, for portrait rotated displays it seems to have problems (search the forum)

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        E 1 Reply Last reply Reply Quote 1
        • S Do not disturb
          sdetweil
          last edited by sdetweil

          @ember1205 said in Initial Setup Q's and Some Doc Feedback:

          Backing up just a bit, there appears to be no guidance in the install doc as to whether I should choose to allow the installer to set MM to autostart and/or whether I should disable the screensaver during the install process. I chose “N” and “Y” respectively.

          that is all really choice on your installation and and usage planning…

          i don’t want to touch the mirror… if it reboots cause of power outage, etc, I want it to logon, and start mirror, and never screen lock…

          so, set OS to auto logon (manual step)
          use pm2 to autostart
          and turn off screensaver

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          E 1 Reply Last reply Reply Quote 0
          • E Offline
            ember1205 @sdetweil
            last edited by

            @sdetweil

            Thanks… Good updates. I will definitely look through your updated installer.

            With regard to the warnings - I understand what you’re saying, but my concerns were driven more by the warnings that said “this might not even work.” I realize that they may be very specific to certain aspects, but given that isn’t indicated specifically, it raised up my alert level.

            On the fake versus real driver piece, I did notice the “f” to indicate the fake driver. With zero experience with this piece, and having no background that there IS a fake driver or that it’s now default, my eyes told me that the name for the fake driver was actually the name for the real one at first [two] glance[s]. It wasn’t until I reached the latter part talking about the fake driver that I realized it was a different name and changed it.

            I’m not using portrait mode as I want this to be a “Magic Photo Frame” and display pictures (many of which are in landscape format), so it seems that I might be able to use either.

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

              @sdetweil said in Initial Setup Q's and Some Doc Feedback:

              @ember1205 said in Initial Setup Q's and Some Doc Feedback:

              Backing up just a bit, there appears to be no guidance in the install doc as to whether I should choose to allow the installer to set MM to autostart and/or whether I should disable the screensaver during the install process. I chose “N” and “Y” respectively.

              that is all really choice on your installation and and usage planning…

              i don’t want to touch the mirror… if it reboots cause of power outage, etc, I want it to logon, and start mirror, and never screen lock…

              so, set OS to auto logon (manual step)
              use pm2 to autostart
              and turn off screensaver

              Yes. Those were all done. But, the screensaver disable was done during the install and it appears to not have modified the same files as the manual changes show.

              S D 2 Replies Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @ember1205
                last edited by sdetweil

                @ember1205 i didn’t set the OpenGL driver… not worth the hassle. the driver is REALLY useful for algorithmic objects, rotating in 3d… nothing we do on the mirror

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • S Do not disturb
                  sdetweil @ember1205
                  last edited by

                  @ember1205 said in Initial Setup Q's and Some Doc Feedback:

                  Yes. Those were all done. But, the screensaver disable was done during the install and it appears to not have modified the same files as the manual changes show.

                  hm… i didn’t update the doc for manual install for my new installer… there are just too many places with different solutions…

                  I embodied all that I know about and generalized to attempt to cover more as time goes on.

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    dsegel @ember1205
                    last edited by

                    @ember1205 There are three locations where the screensaver might be starting from, and only one of them is actually run (I believe the first found in this order):

                    /home/pi/.config/lxsession/LXDE-pi/autostart
                    /etc/xdg/lxsession/LXDE-pi/autostart
                    /etc/xdg/lxsession/LXDE/autostart

                    Raspbian recently changed to not having the first one, so the second is now the preferred method.

                    S E 2 Replies Last reply Reply Quote 0
                    • S Do not disturb
                      sdetweil @dsegel
                      last edited by

                      @dsegel thx… already in the updated installer and the screensaver fixer scripts

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • E Offline
                        ember1205 @dsegel
                        last edited by

                        @dsegel said in Initial Setup Q's and Some Doc Feedback:

                        @ember1205 There are three locations where the screensaver might be starting from, and only one of them is actually run (I believe the first found in this order):

                        /home/pi/.config/lxsession/LXDE-pi/autostart
                        /etc/xdg/lxsession/LXDE-pi/autostart
                        /etc/xdg/lxsession/LXDE/autostart

                        Raspbian recently changed to not having the first one, so the second is now the preferred method.

                        So… None of that works. The ONLY way I could get the screensaver to shut off was to do:

                        sudo apt install xscreensaver
                        

                        And then run the Screensaver Preferences setup and set it to disabled. Anything else I tried ultimately allowed the screen to go blank (black) after about 15 minutes.

                        S 1 Reply Last reply Reply Quote 0
                        • S Do not disturb
                          sdetweil @ember1205
                          last edited by

                          @ember1205 thanks… I wished we had worked on it a little more…

                          i have a script that just does setting screensaver off…

                          haven’t had it fail on anything in a while… just tested Zorin OS. it worked properly

                          Sam

                          How to add modules

                          learning how to use browser developers window for css changes

                          E 1 Reply Last reply Reply Quote 0
                          • E Offline
                            ember1205 @sdetweil
                            last edited by

                            @sdetweil said in Initial Setup Q's and Some Doc Feedback:

                            @ember1205 thanks… I wished we had worked on it a little more…

                            i have a script that just does setting screensaver off…

                            haven’t had it fail on anything in a while… just tested Zorin OS. it worked properly

                            I’m going to try a fresh build and will use your script to see how it fares on this exact version of Raspbian…

                            S 1 Reply Last reply Reply Quote 0
                            • S Do not disturb
                              sdetweil @ember1205
                              last edited by

                              @ember1205 k… let me know

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              1 Reply Last reply Reply Quote 0
                              • E Offline
                                ember1205
                                last edited by

                                I have started my new build from scratch and used your install script.

                                There are a number of ‘vulnerability’ warnings that show, and I’m curious if I should actually try and repair them with the suggested npm commands or not.

                                Also, so far, the screensaver does seem to be disabled, but I haven’t yet jumped into the MM configuration to put in place the same modules I had been using on the other setup as of yet.

                                S 1 Reply Last reply Reply Quote 0
                                • S Do not disturb
                                  sdetweil @ember1205
                                  last edited by

                                  @ember1205 yes, the vulnerability warnings are troublesome… they usually cannot be all resolved, and some modules fixes force changes that break applications using them. i prefer NOT to attempt to resolve the problems…

                                  screensaver…

                                  can u show/send me the ~/install.log

                                  my email is the same userid as here on gmail

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  1 Reply Last reply Reply Quote 0
                                  • E Offline
                                    ember1205
                                    last edited by

                                    install starting  - Fri Dec 20 08:32:44 EST 2019
                                    installing on armv7l processor system
                                    the os is Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster
                                    Updating packages ...
                                    Hit:1 http://archive.raspberrypi.org/debian buster InRelease Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB] Get:3 http://raspbian.raspberrypi.org/raspbian buste
                                    r/main armhf Packages [13.0 MB] Fetched 13.0 MB in 15s (852 kB/s) Reading package lists...
                                    apt-get update  completed ok
                                    apt upgrade result =rc=0 Reading package lists...
                                    Building dependency tree...
                                    Reading state information...
                                    Calculating upgrade...
                                    The following package was automatically installed and is no longer required:
                                      point-rpi
                                    Use 'sudo apt autoremove' to remove it.
                                    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
                                    Installing helper tools ...
                                    Check current Node installation ...
                                    Node currently installed. Checking version number.
                                    Minimum Node version: v10.1.0
                                    Installed Node version: v10.15.2
                                    No Node.js upgrade necessary.
                                    Check current NPM installation ...
                                    NPM currently installed. Checking version number.
                                    Minimum npm version: V6.0.0
                                    Installed npm version: V5.8.0
                                    npm should be upgraded.
                                    Installing npm ...
                                    Reading package lists...
                                    Building dependency tree...
                                    Reading state information...
                                    npm is already the newest version (5.8.0+ds6-4).
                                    npm set to manually installed.
                                    The following package was automatically installed and is no longer required:
                                      point-rpi
                                    Use 'sudo apt autoremove' to remove it.
                                    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
                                    upgrading npm to latest
                                    /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
                                    /usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
                                    + npm@6.13.4
                                    added 430 packages from 854 contributors in 42.042s
                                    npm installation Done! version=V6.13.4
                                    Cloning MagicMirror ...
                                    Cloning MagicMirror Done!
                                    Installing dependencies ...
                                    Dependencies installation Done!
                                    setting up initial config.js
                                    Check plymouth installation ...
                                    Splashscreen: Checking themes directory.
                                    Splashscreen: Create theme directory if not exists.
                                    Splashscreen: Changed theme to MagicMirror successfully.
                                    install and setup pm2
                                    pm2 not installed, installing
                                    pm2 install result /usr/local/bin/pm2 -> /usr/local/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2-dev -> /usr/local/lib/node_modules/pm2/bin/pm2-dev /usr/local/bin/pm2-docker -> /usr/lo
                                    cal/lib/node_modules/pm2/bin/pm2-docker /usr/local/bin/pm2-runtime -> /usr/local/lib/node_modules/pm2/bin/pm2-runtime npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_
                                    modules/pm2/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arc
                                    h":"arm"}) + pm2@4.2.1 added 207 packages from 202 contributors in 38.506s
                                    get the pm2 platform specific startup command
                                    startup command = sudo env PATH=$PATH:/usr/bin:/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
                                    
                                                            -------------
                                    
                                    __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
                                     _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
                                      _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
                                       _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
                                        _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
                                         _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
                                          _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
                                           _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
                                            _\///______________\///______________\///__\///////////////__
                                    
                                    
                                                              Runtime Edition
                                    
                                            PM2 is a Production Process Manager for Node.js applications
                                                         with a built-in Load Balancer.
                                    
                                                    Start and Daemonize any application:
                                                    $ pm2 start app.js
                                    
                                                    Load Balance 4 instances of api.js:
                                                    $ pm2 start api.js -i 4
                                    
                                                    Monitor in production:
                                                    $ pm2 monitor
                                    
                                                    Make pm2 auto-boot at server restart:
                                                    $ pm2 startup
                                    
                                                    To go further checkout:
                                                    http://pm2.io/
                                    
                                    
                                                            -------------
                                    
                                    [PM2] Init System found: systemd
                                    Platform systemd
                                    Template
                                    [Unit]
                                    Description=PM2 process manager
                                    Documentation=https://pm2.keymetrics.io/
                                    After=network.target
                                    
                                    [Service]
                                    Type=forking
                                    User=pi
                                    LimitNOFILE=infinity
                                    LimitNPROC=infinity
                                    LimitCORE=infinity
                                    Environment=PATH=$PATH:/usr/bin:/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
                                    Environment=PM2_HOME=/home/pi/.pm2
                                    PIDFile=/home/pi/.pm2/pm2.pid
                                    Restart=on-failure
                                    
                                    ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect
                                    ExecReload=/usr/local/lib/node_modules/pm2/bin/pm2 reload all
                                    ExecStop=/usr/local/lib/node_modules/pm2/bin/pm2 kill
                                    
                                    [Install]
                                    WantedBy=multi-user.target
                                    
                                    Target path
                                    /etc/systemd/system/pm2-pi.service
                                    Command list
                                    [ 'systemctl enable pm2-pi' ]
                                    [PM2] Writing init configuration in /etc/systemd/system/pm2-pi.service
                                    [PM2] Making script booting at startup...
                                    [PM2] [-] Executing: systemctl enable pm2-pi...
                                    [PM2] [v] Command successfully executed.
                                    +---------------------------------------+
                                    [PM2] Freeze a process list on reboot via:
                                    $ pm2 save
                                    
                                    [PM2] Remove init script via:
                                    $ pm2 unstartup systemd
                                    pm2 startup command done
                                    configure the pm2 config file for MagicMirror
                                    start MagicMirror via pm2 now
                                    save MagicMirror pm2 config now
                                    disable screensaver via lxsession
                                    We're ready! Run pm2 start MagicMirror from the ~/MagicMirror directory to start your MagicMirror.
                                    install completed - Fri Dec 20 08:59:08 EST 2019
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • E Offline
                                      ember1205
                                      last edited by

                                      Some additional notes:

                                      • The screensaver settings appear to have been set in the /etc/xdg/lxsession/LXDE-pi/autostart file
                                      • No settings have been adjusted in /etc/lightdm/lightdm.conf
                                      • The mouse pointer auto remove configuration has not been completed, but there appears to be no issue with the pointer remaining on the screen once Electron loads
                                      • There was no change made to the system to disable power saving on the WLAN interface - as a result, the interface seemingly “could” go into powersave mode and affect network connectivity (I have not yet experienced an issue with this)
                                      S 1 Reply Last reply Reply Quote 0
                                      • S Do not disturb
                                        sdetweil @ember1205
                                        last edited by sdetweil

                                        @ember1205 cool. great feedback.

                                        i dont have lightdm changed on my buster system.
                                        according to this, its still lxde
                                        https://www.raspberrypi.org/forums/viewtopic.php?t=249837

                                        correct, there is no mod for mouse pointer.
                                        can also be done in css
                                        cursor: none;

                                        also no setting change for wlan power

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        E 1 Reply Last reply Reply Quote 0
                                        • E Offline
                                          ember1205 @sdetweil
                                          last edited by

                                          @sdetweil

                                          -Should- the WLAN power setting be changed? It would seem that this would be a wise approach to ensure it doesn’t go into powersave mode.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S Do not disturb
                                            sdetweil @ember1205
                                            last edited by

                                            @ember1205 i don’t know the answer… depends on how much its used I would guess…
                                            I don’t know what the power save rules are

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            E 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
                                            • 1 / 2
                                            • 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