Hello,
I am using a DSI display with a CM4 and a 5.15 Kernel. So far, I've been successful with a patched panel-simple.c and a custom devicetree overlay. Unfortunately, the native pixel addressing of the display leads to a portrait orientation (320 x 480) of the output. I added "rotation = <270>" to the panel overlay and it works for the CLI and boot logos. However, all graphical output (Raspbian Desktop, fbi, glmark2-es2-drm) is still shown in portrait mode. Can anyone please give me a pointer on how to rotate the graphical output properly? My cautious guess is that the rotation setting somehow isn't fully propagated to / implemented by the V3D driver. But hopefully, it's more trivial.
Here is some output for information:
I am using a DSI display with a CM4 and a 5.15 Kernel. So far, I've been successful with a patched panel-simple.c and a custom devicetree overlay. Unfortunately, the native pixel addressing of the display leads to a portrait orientation (320 x 480) of the output. I added "rotation = <270>" to the panel overlay and it works for the CLI and boot logos. However, all graphical output (Raspbian Desktop, fbi, glmark2-es2-drm) is still shown in portrait mode. Can anyone please give me a pointer on how to rotate the graphical output properly? My cautious guess is that the rotation setting somehow isn't fully propagated to / implemented by the V3D driver. But hopefully, it's more trivial.
Here is some output for information:
Code:
> uname -r5.15.84-v8+> fbsetmode "320x480" geometry 320 480 320 480 16 timings 0 0 0 0 0 0 0 accel true rgba 5/11,6/5,5/0,0/0endmode> drm_info[..]│ ├───Connector 2│ │ ├───Object ID: 46│ │ ├───Type: DSI│ │ ├───Status: connected│ │ ├───Physical size: 50x75 mm│ │ ├───Subpixel: unknown│ │ ├───Encoders: {2}│ │ ├───Modes│ │ │ └───320x480@60.00 preferred driver │ │ └───Properties│ │ ├───"EDID" (immutable): blob = 0│ │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On│ │ ├───"link-status": enum {Good, Bad} = Good│ │ ├───"non-desktop" (immutable): range [0, 1] = 0│ │ ├───"TILE" (immutable): blob = 0│ │ ├───"CRTC_ID" (atomic): object CRTC = 86│ │ └───"panel orientation" (immutable): enum {Normal, Upside Down, Left Side Up, Right Side Up} = Left Side Up[..]> glmark2-es2-drm ======================================================= glmark2 2023.01======================================================= OpenGL Information GL_VENDOR: Broadcom GL_RENDERER: V3D 4.2 GL_VERSION: OpenGL ES 3.1 Mesa 20.3.5 Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0 Surface Size: 320x480 fullscreen
Statistics: Posted by freshwater — Wed Apr 24, 2024 1:04 pm