LCD Landscape to portrait rotation at runtime
My project requires to display screen in portrait mode, the lcd is native landscape and cannot be configured via SPI command to modify MADCTL register to change orientation.
I am using 800*480 RGB565 display from LXD with sitronix display IC ST7262, my MCU is STM32U5A9 and using LVGL for UI.
Now, I need to rotate the framebuffer by 90 every display flush. I am using lvgls software rotation and have the nemagfx wired in my lvgl code, so I was expecting lvgl to pass on the rotation as well to nemagfx which is not true, ultimately i see delays in animation or screen change, there are no pixel glitches or screen tearing it just don’t feel smooth transitions.
I also have double buffering enabled, I render partially to save up on cpu cost for composing full disp.
I don’t know how common it is to use the native landscape lcd in portrait mode but I am struggling to get a smooth lcd performance here.
The claude says lvgl sw rotations shouldn’t take more than 130 ms but does anyone have any experience and thoughts that how common this setup is and does it feel like workable solution i.e smooth performance while doing the sw rotates
Posted Aug 12, 2026, 8:20 PM UTC