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.

    I cannot disable screen blanking with MagicMirrorOS

    Scheduled Pinned Locked Moved Solved Troubleshooting
    27 Posts 3 Posters 7.2k 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.
    • S Do not disturb
      sdetweil @smegbadger
      last edited by

      @smegbadger have you turned off screen blanking on the docker host? ubuntu or whatever owns the actual display?

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        Hi

        I don’t know where that would be. The RPi boots to a login prompt. Then docker takes over and launches MM in electron. There is no GUI for me to fiddle with

        Steve

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

          @smegbadger @karsten13 will have to advise

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          karsten13K 1 Reply Last reply Reply Quote 0
          • karsten13K Offline
            karsten13 @sdetweil
            last edited by

            @sdetweil

            the setup is “Raspberry Pi OS Lite” with the normal docker setup and an additional labwc container

            @smegbadger

            I have no idea what is happening. Sounds like the monitor totally cuts the connection to the pi after a while.

            Maybe this post contains something helpful.

            What is your wlr-randr command for waking up?

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

              @smegbadger if you stop mmos does the screen still turn off overnight?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 1
              • S Offline
                smegbadger
                last edited by

                @sdetweil I stopped docker at 9:30 last night with docker compose down leaving the screen at the magicmirror login prompt. This morning the screen was still showing the login prompt . MM was reinstated perfectly with docker compose up -d --force-recreate. @karsten13 I notice there are now four objects that start:

                [+] Running 4/4
                 ✔ Network magicmirror_default  Created                                                                            0.1s
                 ✔ Container mm                 Started                                                                            0.9s
                 ✔ Container init               Started                                                                            1.0s
                 ✔ Container labwc              Started                                                                            1.0s
                

                Steve

                karsten13K 1 Reply Last reply Reply Quote 0
                • karsten13K Offline
                  karsten13 @smegbadger
                  last edited by

                  @smegbadger

                  the 4 objects are o.k., one network and 3 containers (init is only for setting correct permissions in the mount folders, it runs for a very short time, you can disable it in the .env file if wanted).

                  Question: When the failed to connect to display occurs, how do you get the screen back working? Is a docker rm -f labwc && docker compose up -d sufficient or a docker compose up -d --force-recreate? Or do you have do reboot? Or do you switch the monitor off and on?

                  Other idea is to implement a wlr-randr call every 30min. in the labwc container.

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

                    @karsten13 i have disabled the init container as suggested.

                    When the display fails I can get it back with docker rm -f labwc && docker compose up -d (docker compose up -d --force-recreate also works but docker compose up -d on it’s own doesn’t). I am running it today with the MMM-Universal-Pir module disabled as another test (although when sitting at a login prompt it never went off).

                    Note that the display fails after a few hours of no PIR trigger, it doesn’t have to be overnight.

                    Steve

                    karsten13K 1 Reply Last reply Reply Quote 0
                    • karsten13K Offline
                      karsten13 @smegbadger
                      last edited by

                      @smegbadger said in I cannot disable screen blanking with MagicMirrorOS:

                      I can get it back with docker rm -f labwc && docker compose up -d

                      so restarting only the labwc container solves the problem …

                      I will try to build a labwc container which executes wlr-randr e.g. every 30min. so we can see if this helps.

                      karsten13K 1 Reply Last reply Reply Quote 0
                      • karsten13K Offline
                        karsten13 @karsten13
                        last edited by

                        @karsten13 said in I cannot disable screen blanking with MagicMirrorOS:

                        I will try to build a labwc container which executes wlr-randr e.g. every 30min. so we can see if this helps.

                        you can now test with a new labwc container which does the wlr-randr call every 15min. but I’m not sure this helps …

                        For testing change this line in the .env file

                        LABWC_IMAGE="karsten13/labwc:develop"
                        

                        and then do a docker compose pull && docker compose up -d

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

                          @karsten13 unfortunately that change did not prevent the display from dropping. There’s no time timestamp in the docker logs for labwc but when i looked this morning there were some 40 calls to wlr-randr that had failed. If they are every 15mins that’s about 10:00 it failed. I will make a more accurate observation tonight

                          karsten13K 1 Reply Last reply Reply Quote 0
                          • karsten13K Offline
                            karsten13 @smegbadger
                            last edited by

                            @smegbadger

                            unfortunately that change did not prevent the display from dropping

                            I expected this already …

                            can you post the exact error message of wlr-randr when it fails?

                            Other point: What happens if you disable MMM-Universal-Pir for a test? Are you still getting the errors or does mm runs correctly over night?

                            karsten13K 1 Reply Last reply Reply Quote 0
                            • karsten13K Offline
                              karsten13 @karsten13
                              last edited by

                              for testing I added wlopm to the current mm-develop docker image.

                              So for another test use this lines in the .env file

                              MM_IMAGE="karsten13/magicmirror:develop"
                              LABWC_IMAGE="karsten13/labwc:develop"
                              

                              Then change the on/off commands in the config.js

                                                      module: "MMM-Universal-Pir",
                                                      position: "top_right",
                                                      config: {
                                                              onCommand: "wlopm --on HDMI-A-1",
                                                              offCommand: "wlopm --off HDMI-A-1",
                                                      }
                              

                              and then do a docker compose pull && docker compose up -d

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

                                @karsten13 I left it running overnight with the MMM-Universal-Pir config lines commented out and the monitor physically switched off and this morning MM was still working fine when I switched the monitor back on again. When I looked at docker logs labwc the wlr-randr command was failing (still being triggered every fifteen mins) which suggests the connection between the MMM-Universal-Pir and the display driver is the issue rather than the display actually going off. I will try your new build today although i will have to add --transform 90 to the onCommand to get my screen rotation.

                                magicm@magicmirror:/opt/mm/mounts/config $ docker logs labwc
                                HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
                                  Make: Raspberry PI
                                  Model: RPI MON156
                                  Serial: 81005568472
                                  Physical size: 350x190 mm
                                  Enabled: yes
                                  Modes:
                                    1920x1080 px, 60.000000 Hz (preferred, current)
                                    1920x1080 px, 60.000000 Hz
                                    1920x1080 px, 59.939999 Hz
                                    1920x1080 px, 50.000000 Hz
                                    1920x1080 px, 48.000000 Hz
                                    1920x1080 px, 47.952000 Hz
                                    1280x720 px, 60.000000 Hz
                                    1280x720 px, 60.000000 Hz
                                    1280x720 px, 59.939999 Hz
                                    1280x720 px, 50.000000 Hz
                                    1280x720 px, 48.000000 Hz
                                    1280x720 px, 47.952000 Hz
                                    720x576 px, 50.000000 Hz
                                    720x480 px, 60.000000 Hz
                                    720x480 px, 59.939999 Hz
                                    640x480 px, 60.000000 Hz
                                    640x480 px, 59.939999 Hz
                                    640x480 px, 59.939999 Hz
                                  Position: 0,0
                                  Transform: 90
                                  Scale: 1.000000
                                  Adaptive Sync: disabled
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                failed to connect to display
                                magicm@magicmirror:/opt/mm/mounts/config $ docker exec -it labwc bash
                                pi@c7c64f70849e:/$ wlr-randr
                                failed to connect to display
                                pi@c7c64f70849e:/$
                                

                                Steve

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

                                  @karsten13 my apologies, I see the transform is not needed as you have taken the rotation into account

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

                                    @karsten13 the display failed today as before but we have timestamps in the labwc docker logs

                                    magicm@magicmirror:~ $ docker logs labwc
                                    00:00:00.000 [INFO] [seatd/seat.c:48] Created VT-bound seat seat0
                                    00:00:00.000 [INFO] [seatd/seatd.c:194] seatd started
                                    00:00:00.052 [INFO] [seatd/server.c:145] New client connected (pid: 17, uid: 1000, gid: 1000)
                                    00:00:00.052 [INFO] [seatd/seat.c:239] Added client 1 to seat0
                                    00:00:00.052 [INFO] [seatd/seat.c:563] Opened client 1 on seat0
                                    00:00:00.120 [ERROR] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
                                    00:00:00.120 [ERROR] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
                                    executing: wlr-randr --output HDMI-A-1 --transform 90
                                    Sat Mar 29 08:14:25 UTC 2025
                                    HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
                                      Make: Raspberry PI
                                      Model: RPI MON156
                                      Serial: 81005568472
                                      Physical size: 350x190 mm
                                      Enabled: yes
                                      Modes:
                                        1920x1080 px, 60.000000 Hz (preferred, current)
                                        1920x1080 px, 60.000000 Hz
                                        1920x1080 px, 59.939999 Hz
                                        1920x1080 px, 50.000000 Hz
                                        1920x1080 px, 48.000000 Hz
                                        1920x1080 px, 47.952000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 59.939999 Hz
                                        1280x720 px, 50.000000 Hz
                                        1280x720 px, 48.000000 Hz
                                        1280x720 px, 47.952000 Hz
                                        720x576 px, 50.000000 Hz
                                        720x480 px, 60.000000 Hz
                                        720x480 px, 59.939999 Hz
                                        640x480 px, 60.000000 Hz
                                        640x480 px, 59.939999 Hz
                                        640x480 px, 59.939999 Hz
                                      Position: 0,0
                                      Transform: 90
                                      Scale: 1.000000
                                      Adaptive Sync: disabled
                                    Sat Mar 29 08:29:25 UTC 2025
                                    HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
                                      Make: Raspberry PI
                                      Model: RPI MON156
                                      Serial: 81005568472
                                      Physical size: 350x190 mm
                                      Enabled: yes
                                      Modes:
                                        1920x1080 px, 60.000000 Hz (preferred, current)
                                        1920x1080 px, 60.000000 Hz
                                        1920x1080 px, 59.939999 Hz
                                        1920x1080 px, 50.000000 Hz
                                        1920x1080 px, 48.000000 Hz
                                        1920x1080 px, 47.952000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 59.939999 Hz
                                        1280x720 px, 50.000000 Hz
                                        1280x720 px, 48.000000 Hz
                                        1280x720 px, 47.952000 Hz
                                        720x576 px, 50.000000 Hz
                                        720x480 px, 60.000000 Hz
                                        720x480 px, 59.939999 Hz
                                        640x480 px, 60.000000 Hz
                                        640x480 px, 59.939999 Hz
                                        640x480 px, 59.939999 Hz
                                      Position: 0,0
                                      Transform: 90
                                      Scale: 1.000000
                                      Adaptive Sync: disabled
                                      
                                      ...
                                      
                                    Sat Mar 29 13:14:26 UTC 2025
                                    HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
                                      Make: Raspberry PI
                                      Model: RPI MON156
                                      Serial: 81005568472
                                      Physical size: 350x190 mm
                                      Enabled: yes
                                      Modes:
                                        1920x1080 px, 60.000000 Hz (preferred, current)
                                        1920x1080 px, 60.000000 Hz
                                        1920x1080 px, 59.939999 Hz
                                        1920x1080 px, 50.000000 Hz
                                        1920x1080 px, 48.000000 Hz
                                        1920x1080 px, 47.952000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 60.000000 Hz
                                        1280x720 px, 59.939999 Hz
                                        1280x720 px, 50.000000 Hz
                                        1280x720 px, 48.000000 Hz
                                        1280x720 px, 47.952000 Hz
                                        720x576 px, 50.000000 Hz
                                        720x480 px, 60.000000 Hz
                                        720x480 px, 59.939999 Hz
                                        640x480 px, 60.000000 Hz
                                        640x480 px, 59.939999 Hz
                                        640x480 px, 59.939999 Hz
                                      Position: 0,0
                                      Transform: 90
                                      Scale: 1.000000
                                      Adaptive Sync: disabled
                                    Sat Mar 29 13:29:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 13:44:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 13:59:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 14:14:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 14:29:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 14:44:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 14:59:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 15:14:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 15:29:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 15:44:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 15:59:26 UTC 2025
                                    failed to connect to display
                                    Sat Mar 29 16:14:26 UTC 2025
                                    failed to connect to display
                                    
                                    There's also a new item in the `mm` docker logs when I restarted the docker containers on my return
                                    Gdk-Message: 16:25:24.348: Error reading events from display: Broken pipe
                                    [entrypoint 16:25:25.533] [INFO]   ***WARNING*** could write to /etc/localtime
                                    [entrypoint 16:25:25.539] [INFO]   copy default modules
                                    [entrypoint 16:25:25.603] [INFO]   copy css files
                                    

                                    Steve

                                    karsten13K 1 Reply Last reply Reply Quote 0
                                    • karsten13K Offline
                                      karsten13 @smegbadger
                                      last edited by karsten13

                                      @smegbadger

                                      I build another new labwc image. You can revert the changes done to MM_IMAGE and the on-/offCommand in your setup.

                                      The new karsten13/labwc:develop now runs labwc with pid=1 (I thought that was already the case) and additionally kills labwc if the wlr-randr command fails with failed to connect to display.

                                      Now the container will restart if labwc is terminated inside the container. This does not address the root issue but should be a good workaround (hopefully).

                                      So please do again a docker compose pull && docker compose up -d to get the latest changes …

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

                                        @karsten13, thank you for this. It worked well overnight last night. One question: when the wlr-randr command fails, the labwc container is then killed and then automatically restarts - will the screen be turned on then until the next PIR activity and subsequent timeout of MMM-Universal-Pir?

                                        Steve

                                        karsten13K 1 Reply Last reply Reply Quote 0
                                        • karsten13K Offline
                                          karsten13 @smegbadger
                                          last edited by

                                          @smegbadger said in I cannot disable screen blanking with MagicMirrorOS:

                                          the labwc container is then killed and then automatically restarts - will the screen be turned on then until the next PIR activity and subsequent timeout of MMM-Universal-Pir?

                                          yes, I tested this by killing and restarting the labwc-container from outside.

                                          Not nice but I have no idea how to solve this.

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

                                            @karsten13 I thought that would be the case. I tried changing the initial RANDR_PARAMS="--output HDMI-A-1 --transform 90" in the .env file to RANDR_PARAMS="--output HDMI-A-1 --off" so that the MMM-Universal-Pir module would be responsible for the first switch on of the display but then I got no display on restart at all.

                                            Steve

                                            karsten13K 2 Replies 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