MagicMirror² v2.8.0 is available! For more information about this release, check out this topic.

Vertical Image Diagonal Line Issue

  • @mfruckus cool… i just did a google search to find that info… will be great if you post a step by step for others

  • Here’s a fix for screen tearing/graphical errors when you’ve rotated the screen to a vertical position.

    First, you need to change your GL Driver to Full KMS. To do so, run:

         sudo raspi-config
    • Select Advanced Options

    • Select GL Driver

    • Select G1 GL (Full KMS) OpenGL desktop driver with full KMS

    • Select Finish

    • Reboot

    Upon reboot, you’ll find your screen is horizontal.
    To fix this, first run:

         xrandr -q

    You will be presented with a list of ports, the port that your monitor is connected to will say “connected.”

    It should look something like this:

    Screen 0: minimum 320 x 200, current 1080 x 1920, maximum 2048 x 2048
    HDMI-1 connected 1080x1920+0+0 (normal left inverted right x axis y axis) 1210mm x 680mm
    1920x1080i 60.0*+
    1680x1050 59.8 60.0
    1024x768 60.0
    800x600 60.3 56.2
    640x480 59.9
    Composite-1 unknown connection (normal left inverted right x axis y axis)
    720x480 62.69

    In my instance, the port I need to know is HDMI-1. Yours may very well be different.

    Now, using the name of the connected port, run:

    xrandr --output (name of your connected port) --rotate right

    My example would be:

    xrandr --output HDMI-1 --rotate right

    There you go! Now, your screen is vertical and not suffering from the awful screen tearing that it was. Not going to say it’ll look as good as it does horizontally but this fix vastly improved how my raspberry pi and MagicMirror looked when the screen is vertical.

    I haven’t yet figured out how to make xrandr rotate on boot (any assistance there would be appreciated!) therefore, you’ll have to rotate the screen each time you boot it up.

    When I do figure out how to make xrandr rotate upon boot, I’ll amend this guide!

    Good luck, everybody!

  • Here’s an update with an even better fix!

    While beginning my journey into custom css, I quickly came across another fix to the poor graphics of a vertically rotated screen. In my opinion, this fix is even better than using xrandr because this fix saves a ton on performance, results in a look just as good as using the screen in its native horizontal look, and once you implement it, it will stay implemented.

    All you have to do is copy and paste the following to your MagicMirror’s custom css:

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

    There you go, just like that you’re set. The custom css of modules may have to be edited as well to make it work but that’s a small price to pay for a much better finished product.

    Credit where credit is due, I found this fix right here on the forum!