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.

    Save performance when rotating screen e.g. on Raspberry Pi

    Scheduled Pinned Locked Moved Showcase
    19 Posts 11 Posters 19.7k Views 14 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.
    • P Offline
      ptrk95 Module Developer @evroom
      last edited by

      @evroom Yes, I did rotate it counter clockwise.

      I found a solution that worked for my setup, rotating the screen 270:

       body {
      	margin: 0;
      	position: absolute;
       	transform: rotate(-90deg);
       	transform-origin: top left; 
      	width: 100vh;
      	height: 100vw;
      	
      	object-fit: cover;
      	top: 100vh;
              visibility: visible;
       }
      

      Tell me if that worked for you. Then I`ll update the post :)

      Adjusting the omxplayer orientation is one of the drawbacks.

      1 Reply Last reply Reply Quote 0
      • evroomE Offline
        evroom
        last edited by evroom

        @ptrk95 said in Save performance when rotating screen e.g. on Raspberry Pi:

        Tell me if that worked for you.

        Almost, but not quite.
        It does rotate clock wise, but it is centered.
        In Excel analogy: vertical alignment: center.
        I would need ‘top’.

        This is my custom.css, probably the other settings interfere:

        body {
          margin: 0;
          position: absolute;
          transform: rotate(-90deg);
          transform-origin: top left;
          width: 100vh;
          height: 100vw;
        
          object-fit: cover;
          top: 100vh;
                visibility: visible;
         }
        
        .region.top.left {
          width: 60%;
        }
        
        .region.middle.center {
          width: 60%;
        }
        
        .region.bottom.left {
          width: 60%;
        }
        
        .MMM-HTMLBox {
          font-size: 18px;
          line-height: 22px;
        }
        .MMM-RTSPStream header {
        
          text-align: left;
        }
        
        .MMM-RTSPStream .innerWrapper {
          border-style: none;
          //border: 1px solid red;
        }
        

        I want the left side modules to occupy 60% and the right side modules 40%.
        Maybe I have to interpret top, middle and bottom different now ?

        MagicMirror version: 2.30.0
        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        Test environment:
        MagicMirror version: v2.30.0
        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        1 Reply Last reply Reply Quote 0
        • evroomE Offline
          evroom
          last edited by

          Okay, found it.

          In my /boot/config.txt I had the width and height set to 900 and 1600 and this has to be now 1600 and 900.
          This is working:

          display_hdmi_rotate=0
          framebuffer_width=1600
          framebuffer_height=900
          

          Works now.

          Only need to modify the omxplayer lines to have those streams rotated too.

          MagicMirror version: 2.30.0
          Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
          Raspbian GNU/Linux 12 (bookworm)

          Test environment:
          MagicMirror version: v2.30.0
          Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
          Raspbian GNU/Linux 12 (bookworm)

          1 Reply Last reply Reply Quote 1
          • T Offline
            thedk
            last edited by thedk

            Didnt work that easy for me.

            1. You have to take the resolution of your display/monitor in the config.txt, not just 1600,900.
            2. I had to enable overscan, cause the picture was to big.
            3. If you’re using the MMM-Remote_Control the picture is rotated when you have a look at your MagicMirror.

            I switched back to the fake KMS driver.

            1 Reply Last reply Reply Quote 0
            • J Offline
              j.e.f.f Project Sponsor Module Developer
              last edited by

              Great hack!! I’m going to add this to my CSS 101 guide if that’s OK. I think this is incredibly useful.

              P 1 Reply Last reply Reply Quote 1
              • P Offline
                ptrk95 Module Developer @j.e.f.f
                last edited by

                @j-e-f-f thank you! Of course you can :)

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Joern
                  last edited by

                  Hello,

                  Iam struggeling on my PI3 to rotate by 90deg to right. Monitor has 1920x1080.
                  But I see only black screen at any other position than -90deg!!
                  As I need to change to 90deg or -270deg I got only black screen (also 180deg even) …

                  So I changed config.txt to:

                  display_hdmi_rotate=0
                  framebuffer_width=1920
                  framebuffer_height=1080
                  

                  & custom.css to:

                  body {
                          margin: 0;
                          position: absolute;
                          transform: rotate(90deg);
                          transform-origin: top left; 
                          width: 100vh;
                          height: 100vw;
                          object-fit: cover;
                          top: 100vh;
                          visibility: visible;
                  }
                  

                  What is missing?

                  Worse case I change physical mounting way, but not preferred :face_with_stuck-out_tongue_winking_eye:

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    Joern
                    last edited by Joern

                    transform: rotate(90deg);
                    transform-origin: top right;
                    

                    works at least see have screen, but only half screen is used, so no option…

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      hdez
                      last edited by

                      Warning! Extreme newbie here. This is only my second day playing with Magic Mirror css.

                      I changed my css file and boot/config.txt following @evroom’s instructions above and although I was able to rotate the screen with these instructions, like @Joern, the Magic Mirror modules only fill the bottom half of the screen.

                      My CSS file is as follows (sorry, I don’t know how to put this in a separate box):

                      body {
                      margin: 0px; If I omit “px”, Magic Mirror does not display correctly.
                      position: absolute;
                      transform: rotate(90deg);
                      transform-origin: top right;
                      width: 100vh;
                      height: 100vh; If I change this to “100vw”, Magic Mirror does not display correctly.
                      object-fit: cover;
                      top: 100vh;
                      visibility: visible;
                      background: #000;
                      color: #aaa;
                      font-family: “Roboto Condensed”, san-serif;
                      font-weight: 400;
                      font-size: 2em;
                      line-height: 1.5em;
                      -webkit-font-smoothing: antialiased;
                      }
                      .MMM-HTMLBox {
                      font-size: 18px;
                      line-height: 22px;
                      }
                      .MMM-RTSPStream header {
                      text-align: left;
                      }
                      .MMM-RTSPStream .innerWrapper {
                      border-style: none;
                      }

                      …a few more entries after these ones.

                      My boot/config.txt contains the following entry:

                      display_hdmi_rotate=0
                      framebuffer_width=1600
                      framebuffer_height=900

                      Any entries shown here that were not included in @evroom’s instructions, are from the original installation of Magic Mirror.

                      I’m running Magic Mirror latest software on a Pi4 with an Acer 24" monitor.

                      Any ideas as to what I should change in order for the modules to fill the entire screen?

                      Any help will be greatly appreciated.

                      S 1 Reply Last reply Reply Quote 0
                      • S Away
                        sdetweil @hdez
                        last edited by

                        @hdez said in Save performance when rotating screen e.g. on Raspberry Pi:

                        (sorry, I don’t know how to put this in a separate box

                        after you paste the text, select it, and then push the button above the editor that looks like </>

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        H 1 Reply Last reply Reply Quote 0
                        • 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
                          OSZAR »