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!