HowTo: Raspberry Pi – Rotate screen output

Especially if you have connected an external screen, it can happen that you are faced with the problem of wanting to rotate the screen output.

A typical use case is, for example, when you use your RaspberryPi to build a MagicMirror. For this purpose, the screen is often hung up rotated by 90 °. Now of course you also have to rotate the screen output by 90 °.

How this works and what you need to know is described in the following article.


Requirements

Helpful Articles:
Before you start with this article, you should have prepared the RaspberryPi so that it can be reached via the network and controlled via SSH.

The following three articles describe what to do to prepare the RaspberryPi:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

Required tools:
-none-

Required material:

In the following list you will find all the parts you need to implement this article.


Log in via SSH on the RaspberryPi

To get started, you first need to log in to RasPi with SSH on Putty. How to do it is described in the article

After entering your username and password you can start to enter the first commands.

Setting the screen orientation using config.txt

There are basically different ways to rotate the screen output. One possibility is to set the screen orientation in the configuration of your RaspberryPi.

To do this, connect to your RaspberryPi and open the configuration file with the following command.

sudo nano /boot/config.txt

In the opened configuration file you now have to navigate with the arrow keys to the lower end of the file.

Once there, you insert the following line.

display_rotate=2

But be careful: The value you set here determines the rotation of the display. The setting “display_rotate = 2” means that the screen content is rotated by 180 °. For other angles you have to set this parameter according to the table below.

WertRotation
0normal
190°
2180°
3270°
0x10000horizontal spiegeln
0x20000vertikal spiegeln

As soon as you have chosen the setting correctly, you can save the configuration file with the key combination CTRL-X, then Y and Enter.

Now you only have to restart your RaspberryPi and your screen content should be rotated accordingly. 🙂


I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂

Fab

P.S. Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at ko-fi.com

5 comments

  1. Hallo Fabian,

    deine tolle Seite hat mich inspiriert mir einen Magic Mirror zu bauen.
    Magic Mirror läuft auf einem PI 4 einwandfrei, verschiedene Module sind installiert und dank deiner Beschreibung zum PM2 startet der MM auch automatisch. So weit so gut 🙂
    Was ich nicht schaffe ist es das Bild zu drehen. Ich öffne mit sudo nano /boot/config.txt
    die Datei und navigiere bis ans Ende und schreibe dort display_rotate=2 und speichere die Datei. Nach einem reboot bleibt das Bild weiterhin horizontal. Interessant ist vielleicht folgender Hinweis: Wenn ich mich direkt über den Explorer am PI zur conf.txt navigiere, bekomme ich dort nach dem edit der Zeile den Hinweis “Speichern nicht möglich, keine Berechtigung”. Wenn ich aber vom PC per SSH auf den Rasp zugreife kann ich die Datei editieren und auch speichern. Wenn ich mir die Datei dann am PI ansehe, steht der neue Wert auch drin. Ich habe es mit den Werten 1,2 und 3 getestet. Leider bleibt die Anzeige immer horizontal. Hast du evtl. eine Idee? Nachfolgend meine conf.txt

    Vielen Dank,

    Thomas

    # For more options and information see
    # http://rpf.io/configtxt
    # Some settings may impact device functionality. See link above for details

    # uncomment if you get no picture on HDMI for a default “safe” mode
    #hdmi_safe=1

    # uncomment this if your display has a black border of unused pixels visible
    # and your display can output without overscan
    #disable_overscan=1

    # uncomment the following to adjust overscan. Use positive numbers if console
    # goes off screen, and negative if there is too much border
    #overscan_left=16
    #overscan_right=16
    #overscan_top=16
    #overscan_bottom=16
    # uncomment to force a console size. By default it will be display’s size minus
    # overscan.
    #framebuffer_width=1280
    #framebuffer_height=720

    # uncomment if hdmi display is not detected and composite is being output
    #hdmi_force_hotplug=1

    # uncomment to force a specific HDMI mode (this will force VGA)
    #hdmi_group=1
    #hdmi_mode=1

    # uncomment to force a HDMI mode rather than DVI. This can make audio work in
    # DMT (computer monitor) modes
    #hdmi_drive=2

    # uncomment to increase signal to HDMI, if you have interference, blanking, or
    # no display
    #config_hdmi_boost=4

    # uncomment for composite PAL
    #sdtv_mode=2

    #uncomment to overclock the arm. 700 MHz is the default.
    #arm_freq=800

    # Uncomment some or all of these to enable the optional hardware interfaces
    # Uncomment this to enable infrared communication.
    #dtoverlay=gpio-ir,gpio_pin=17
    #dtoverlay=gpio-ir-tx,gpio_pin=18

    # Additional overlays and parameters are documented /boot/overlays/README

    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on

    [pi4]
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack
    dtoverlay=vc4-fkms-v3d
    max_framebuffers=2

    [all]
    #dtoverlay=vc4-fkms-v3d
    display_rotate=3

    —————————————————

    wie gesagt, editieren nur via ssh möglich 🙁

    1. Hey Thomas,
      ich habe mir das gerade mal angeguckt. Das Verfahren zum drehen der Bildschirmausgabe hat sich wohl geändert mit dem Release des Raspi4. Insofern schonmal danke für den Hinweis. 🙂 (Werde den Artikel aktualsieren)

      Probiere bitte mal die folgenden Befehle aus:
      Normale orientierung: DISPLAY=:0 xrandr –output HDMI-1 –rotate normal
      Rotation links: DISPLAY=:0 xrandr –output HDMI-1 –rotate left
      Rotation rechts: DISPLAY=:0 xrandr –output HDMI-1 –rotate right
      Rotation kopfüber: DISPLAY=:0 xrandr –output HDMI-1 –rotate inverted

      Würde mich über eine Rückmeldung freuen. 🙂
      Beste Grüße
      Fabian

  2. Moin Fabian,

    erstmal vielen Dank für deine schnelle Antwort 🙂
    Ich habe in der config.txt jetzt den ursprünglichen Befehl display_rotate=3 gelöscht und gegen deinen Befehl ersetzt. Leider bringt es nicht den gewünschten Erfolg und die Anzeige dreht sich nicht (habe es mit allen vier Orientierungen versucht). Eins fiel mir auf: Damit ich beim testen nichts zerschieße habe ich mir die config.txt im gleichen Verzeichnis gesichert. Es liegen dort jetzt die Dateien (“config.txt”, config.txt.save” und config.txt.save.1″. Kann es sein das es dort Probleme gibt? Ich wollte die Dateien im Explorer des PI löschen, bekomme dort aber immer den Hinweis “Die Dateioperation wurde mit Fehlern abgeschlossen. Fehler beim entfernen der Datei …..Keine Berechtigung:-(

    Hier die letzten Zeilen meiner config.txt

    [pi4]
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack
    dtoverlay=vc4-fkms-v3d
    max_framebuffers=2

    [all]
    #dtoverlay=vc4-fkms-v3d
    DISPLAY=:0 xrandr –output HDMI-1 –rotate right

    Es tut mir Leid, nicht anderes mitteilen zu können.

    Besten Gruß

    Thomas

  3. Hallo Fabian,

    ich habe eine Lösung gefunden und wollte sie dir gern mitteilen.
    Manchmal denkt man einfach zu kompliziert. Zum drehen der Anzeige benötigt man die Terminal Konsole überhaupt nicht, dies geht ganz einfach über die grafische Oberfläche von Raspbian. Hier die Lösung:
    für das Raspberry OS mit Desktop:

    > Einstellungen
    > Screen Configuration
    > Hilfe/Info zeigt den ARandR Bildschirmlayout Editor an
    > schließen
    > Rechtsklick auf DSI-1, bzw. HDMI
    > Drehung

    Dann die gewünschte Drehung auswählen und mit “Configure Anwenden” bestätigen.
    Sofort wird der Bildschirm gedreht und bleibt auch nach einem reboot in dieser Einstellung.

    Manchmal ist es ganz einfach 🙂

    Trotzdem danke für deine Unterstützung.

    Gruß, Thomas

    1. Hey Thomas,
      super, vielen Dank für die Rückmeldung.
      Werde das dann in den Artikel nachtragen. 🙂
      Beste Grüße
      Fabian

Leave a Reply

Your email address will not be published. Required fields are marked *