Dear community, I am trying to rotate the screen on colibri-imx8 using latest stable BSP 5.7.0 .
The display is connected through a parallel RGB port and the touch controller is connected via I2C.
Here is my device tree overlay fdt_overlays=colibri-imx8x_parallel-rgb_overlay.dtbo display-lt161010_overlay.dtbo
Looking at the documentation I see the possibility to rotate from device-tree here, so I try to patch the dtb in the following way:
Can you please confirm which OS and version are you running on your module? Is thisTorizonCore?
I’d suggest you in the meantime have a look on how to do screen rotation with Weston: Working with Weston on TorizonCore | Toradex Developer Center. This page is designed for TorizonCore but the concepts can be extracted to the Reference Multimedia Image. I’d suggest you to test changing the weston.ini on your machine on both cases and check if this change made the trick before telling you how to make this change permanent in both cases.
I forgot to write that I am using TorizonCore (tdx-wayland distro).
I already try the weston solution that you suggest, and the rotation is working as expected, but at compositor level. I need to rotate the screen early to rotate also the splash banner.
Hi @gclaudino.tx,
I agree with you, but the best solution is to rotate the entire screen early, in order to not handle every single application rotation.
Are there any limitation with my proposal to rotate the screen from device tree overlay?
Could you please suggest an alternative solution to rotate the entire screen at the first stage of linux execution?
Therefore, it seems to me not guaranteed that the rotation will work with the display node as it is today.
So, just to be clear on your goal:
Once you’ve configured your weston-ini file, every application on runtime should follow the Weston definition as it will use the Weston container to show up.
For the before boot, we usually have the splash screen with Torizon and then the module boots up. If changing the banner orientation is not an option, I’d suggest you check for other drivers and test them with the screen you’re using.
Dear @gclaudino.tx , thank you for the useful and complete answer.
Now it is very clear the problem and the options.
Looking at the imx8x-colibri.dtsi I see the display_lcdif: display@disp1 option.
As far as I understand it can replace actual panel-dpi definition so it could be an option to check if the rotation is supported.
Looking at the documentation I am not able to see if this is true, can you confirm that I can change the device definition and that it support rotation?
If I am wrong, what are the driver alternative to try with our display?
Here is our display datasheet I hope it could help. UMSH-P250MD-2T_V1_R3_20220530P.PDF (2.6 MB)
You could try to do it nevertheless and check if it can improve your results. In order to help you with this, you may find these articles useful:
Finally, I’ve had a look at the display datasheet but could only spot the driver for the touch controller, nothing different for the display itself.
However, I’d strongly suggest you create a rotated splash screen and then customize it with TorizonCore Builder (Splash Screen on TorizonCore | Toradex Developer Center) to match the orientation you’ve defined on the weston-ini as suggested by @zorro ! Also, thanks for joining the topic, your help is really appreciated
I’ve also tried to rotate the framebuffer console by enabling some additional kernel parameters but apparently it doesn’t apply to an already existing splash screen.
Hi @henrique.tx ,
right now we use the rotation from compositor.
I didn’t rotate the splash banner yet, I will close this once the banner rotation will be ok.