Step 12.10 — Bring up the DSI panel and rotate it¶
Step 10 of 37 · Chapter 12 — Software: Pi OS image, Klipper/Moonraker/Mainsail, firmware, printer.cfg
Parts: none.
Do: Nothing plugs in here; Ch 10 connected the panel. Two edits now, with the Pi still on the bench. First, confirm display_auto_detect=1 is present in /boot/firmware/config.txt; add it if missing. Second, sudo nano /boot/firmware/cmdline.txt and append to the single existing line, no line breaks:
video=DSI-1:800x480@60,rotate=180
Check
config.txt carries display_auto_detect=1, cmdline.txt carries the video= line, and the Pi still boots. The panel itself is checked at Step 12.11.
What you're looking at
DSI is the Pi's native display connection, where the panel's ribbon plugs in. Rotation goes in the kernel command line because the current driver ignores the old config-file setting. The screenshot, from the KlipperScreen docs, is its home panel.
Reboot. LDO's mount hangs the panel 180° from the Pi's default.
Caution
Rev D+ / LDO: LDO's touchscreen guide tells you to edit /boot/config.txt, comment out dtoverlay=vc4-fkms-v3d and set display_lcd_rotate=2. That is the legacy fake-KMS path. MainsailOS 3.x is built on a current Raspberry Pi OS: the boot partition is mounted at /boot/firmware/, and the display stack is full KMS (vc4-kms-v3d), where display_lcd_rotate does nothing. Use the cmdline.txt method above. src · src
Tip
if the touch axes end up rotated relative to the picture, that is a separate fix — see KlipperScreen's touch-rotation matrix page, not the display rotation above. src
Good stopping point · ~20 min since the last one
KIAUH and KlipperScreen installed, the DSI auto-detect and rotation lines in place for the panel 12.11 will show, and the Klipper version you are building against is written down. The Pi boots and answers on the network; there is no screen on the bench yet.
Source: KlipperScreen rotation · KlipperScreen docs image main_panel.png (AGPL-3.0) · KlipperScreen touch issues · LDO BTT 4.3" screen guide