Bug 494761 - Autorotation is 90 degrees off after update to Plasma 6
Summary: Autorotation is 90 degrees off after update to Plasma 6
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 6.2.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-14 18:04 UTC by William Ethridge
Modified: 2024-11-21 12:42 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Ethridge 2024-10-14 18:04:19 UTC
SUMMARY
On the Pine64 PineTab 2 and (likely other devices that come with a tablet screen), the screen  will automatically rotate 90 degrees clockwise from what it should be. This may be a regression from Plasma 5, as this was only an issue in recent months.

STEPS TO REPRODUCE
1. Enable autorotation
2. Rotate tablet


SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma:  Arch Linux ARM
KDE Plasma Version:  6.2.0
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3

ADDITIONAL INFORMATION
I am willing to provide additional debug info as needed, just ask. 
According to help I received on the Pine64 community chat room, the prevailing theory is that "the rk3566-pinetab2.dtsi file specifies rotation = <90>; and currently Plasma does not honor that setting."

Also, apologies if this is listed under the wrong "Product". I don't know what this issue falls into specifically.
Comment 1 didi.debian 2024-10-14 21:39:45 UTC
This involves a Boe TH101MB31IG002-28A panel with 800x1280 dimension and for tablet use it needs to be rotated by 90 degrees (as mentioned).
With Plasma 5 that happened, but in Plasma 6 it doesn't.
Comment 2 Zamundaaa 2024-10-14 22:45:03 UTC
(In reply to William Ethridge from comment #0)
> According to help I received on the Pine64 community chat room, the
> prevailing theory is that "the rk3566-pinetab2.dtsi file specifies rotation
> = <90>; and currently Plasma does not honor that setting."

The opposite happened: In Plasma 5, KWIn ignored the panel orientation property, but in Plasma 6 it's used for auto rotation. So either the panel orientation or the orientation sensor could be wrong. To check which one it is, please attach the output of
> drm_info
and
> kscreen-doctor
and
> monitor-sensor
all with the device in the same orientation
Comment 3 William Ethridge 2024-10-14 23:37:26 UTC
minstrel@danctnix ~]$ kscreen-doctor
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.

[minstrel@danctnix ~]$ monitor-sensor
    Waiting for iio-sensor-proxy to appear
+++ iio-sensor-proxy appeared
=== Has accelerometer (orientation: right-up)
=== No ambient light sensor
=== No proximity sensor

.
[minstrel@danctnix yay]$ drm_info
drmModeGetResources: Operation not supported
Failed to retrieve information from /dev/dri/card1
Node: /dev/dri/card0
├───Driver: rockchip (RockChip Soc DRM) version 1.0.0 (20140818)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT not supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   ├───DRM_CAP_SYNCOBJ_TIMELINE = 0
│   └───DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP = 0
├───Device: platform rockchip,display-subsystem
│   └───Available nodes: primary
├───Framebuffer size
│   ├───Width: [0, 4096]
│   └───Height: [0, 4096]
├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 53
│   │   ├───Type: HDMI-A
│   │   ├───Status: disconnected
│   │   ├───Encoders: {0}
│   │   └───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 = 0
│   │       ├───"max bpc": range [8, 16] = 0
│   │       └───"HDR_OUTPUT_METADATA": blob = 0
│   └───Connector 1
│       ├───Object ID: 56
│       ├───Type: DSI
│       ├───Status: connected
│       ├───Physical size: 135×216 mm
│       ├───Subpixel: unknown
│       ├───Encoders: {1}
│       ├───Modes
│       │   └───800×1280@59.98 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 = 51
│           └───"panel orientation" (immutable): enum {Normal, Upside Down, Left Side Up, Right Side Up} = Right Side Up
├───Encoders
│   ├───Encoder 0
│   │   ├───Object ID: 52
│   │   ├───Type: TMDS
│   │   ├───CRTCS: {0}
│   │   └───Clones: {0}
│   └───Encoder 1
│       ├───Object ID: 55
│       ├───Type: DSI
│       ├───CRTCS: {1}
│       └───Clones: {1}
├───CRTCs
│   ├───CRTC 0
│   │   ├───Object ID: 50
│   │   ├───Legacy info
│   │   │   └───Gamma size: 0
│   │   └───Properties
│   │       ├───"ACTIVE" (atomic): range [0, 1] = 0
│   │       ├───"MODE_ID" (atomic): blob = 0
│   │       ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│   │       └───"VRR_ENABLED": range [0, 1] = 0
│   └───CRTC 1
│       ├───Object ID: 51
│       ├───Legacy info
│       │   ├───Mode: 800×1280@59.98 preferred driver 
│       │   └───Gamma size: 0
│       └───Properties
│           ├───"ACTIVE" (atomic): range [0, 1] = 1
│           ├───"MODE_ID" (atomic): blob = 61
│           │   └───800×1280@59.98 preferred driver 
│           ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│           └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
    ├───Plane 0
    │   ├───Object ID: 32
    │   ├───CRTCs: {0}
    │   ├───Legacy info
    │   │   ├───FB ID: 0
    │   │   └───Formats:
    │   │       ├───XRGB8888 (0x34325258)
    │   │       ├───ARGB8888 (0x34325241)
    │   │       ├───XBGR8888 (0x34324258)
    │   │       ├───ABGR8888 (0x34324241)
    │   │       ├───RGB888 (0x34324752)
    │   │       ├───BGR888 (0x34324742)
    │   │       ├───RGB565 (0x36314752)
    │   │       └───BGR565 (0x36314742)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 0
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 0
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"IN_FORMATS" (immutable): blob = 33
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───RGB888 (0x34324752)
    │       │       ├───BGR888 (0x34324742)
    │       │       ├───RGB565 (0x36314752)
    │       │       └───BGR565 (0x36314742)
    │       ├───"rotation": bitmask {rotate-0, reflect-y} = (rotate-0)
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       ├───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    │       └───"zpos": range [0, 5] = 0
    ├───Plane 1
    │   ├───Object ID: 38
    │   ├───CRTCs: {1}
    │   ├───Legacy info
    │   │   ├───FB ID: 59
    │   │   │   ├───Object ID: 59
    │   │   │   ├───Size: 800×1280
    │   │   │   ├───Format: ARGB8888 (0x34325241)
    │   │   │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
    │   │   │   └───Planes:
    │   │   │       └───Plane 0: offset = 0, pitch = 3200 bytes
    │   │   └───Formats:
    │   │       ├───XRGB8888 (0x34325258)
    │   │       ├───ARGB8888 (0x34325241)
    │   │       ├───XBGR8888 (0x34324258)
    │   │       ├───ABGR8888 (0x34324241)
    │   │       ├───RGB888 (0x34324752)
    │   │       ├───BGR888 (0x34324742)
    │   │       ├───RGB565 (0x36314752)
    │   │       ├───BGR565 (0x36314742)
    │   │       ├───NV12 (0x3231564e)
    │   │       ├───NV21 (0x3132564e)
    │   │       ├───NV15 (0x3531564e)
    │   │       ├───NV16 (0x3631564e)
    │   │       ├───NV61 (0x3136564e)
    │   │       ├───NV20 (0x3032564e)
    │   │       ├───NV24 (0x3432564e)
    │   │       ├───NV42 (0x3234564e)
    │   │       ├───NV30 (0x3033564e)
    │   │       ├───YVYU (0x55595659)
    │   │       └───VYUY (0x59555956)
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 59
    │       │   ├───Object ID: 59
    │       │   ├───Size: 800×1280
    │       │   ├───Format: ARGB8888 (0x34325241)
    │       │   ├───Modifier: DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
    │       │   └───Planes:
    │       │       └───Plane 0: offset = 0, pitch = 3200 bytes
    │       ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
    │       ├───"CRTC_ID" (atomic): object CRTC = 51
    │       ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
    │       ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 800
    │       ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1280
    │       ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
    │       ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 800
    │       ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1280
    │       ├───"IN_FORMATS" (immutable): blob = 39
    │       │   └───DRM_FORMAT_MOD_LINEAR (0x0000000000000000)
    │       │       ├───XRGB8888 (0x34325258)
    │       │       ├───ARGB8888 (0x34325241)
    │       │       ├───XBGR8888 (0x34324258)
    │       │       ├───ABGR8888 (0x34324241)
    │       │       ├───RGB888 (0x34324752)
    │       │       ├───BGR888 (0x34324742)
    │       │       ├───RGB565 (0x36314752)
    │       │       ├───BGR565 (0x36314742)
    │       │       ├───NV12 (0x3231564e)
    │       │       ├───NV21 (0x3132564e)
    │       │       ├───NV15 (0x3531564e)
    │       │       ├───NV16 (0x3631564e)
    │       │       ├───NV61 (0x3136564e)
    │       │       ├───NV20 (0x3032564e)
    │       │       ├───NV24 (0x3432564e)
    │       │       ├───NV42 (0x3234564e)
    │       │       ├───NV30 (0x3033564e)
    │       │       ├───YVYU (0x55595659)
    │       │       └───VYUY (0x59555956)
    │       ├───"rotation": bitmask {rotate-0, reflect-y} = (rotate-0)
    │       ├───"alpha": range [0, UINT16_MAX] = 65535
    │       ├───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
    │       └───"zpos": range [0, 5] = 3
    └───Plane 2
        ├───Object ID: 44
        ├───CRTCs: {0, 1}
        ├───Legacy info
        │   ├───FB ID: 0
        │   └───Formats:
        │       ├───XRGB2101010 (0x30335258)
        │       ├───XBGR2101010 (0x30334258)
        │       ├───XRGB8888 (0x34325258)
        │       ├───ARGB8888 (0x34325241)
        │       ├───XBGR8888 (0x34324258)
        │       ├───ABGR8888 (0x34324241)
        │       ├───RGB888 (0x34324752)
        │       ├───BGR888 (0x34324742)
        │       ├───RGB565 (0x36314752)
        │       ├───BGR565 (0x36314742)
        │       ├───YUV420_8BIT (0x38305559)
        │       ├───YUV420_10BIT (0x30315559)
        │       ├───YUYV (0x56595559)
        │       └───Y210 (0x30313259)
        └───Properties
            ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
            ├───"FB_ID" (atomic): object framebuffer = 0
            ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
            ├───"CRTC_ID" (atomic): object CRTC = 0
            ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
            ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
            ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
            ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
            ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
            ├───"IN_FORMATS" (immutable): blob = 45
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16) (0x0800000000000001)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, SPARSE) (0x0800000000000041)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, YTR) (0x0800000000000011)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, CBR) (0x0800000000000081)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, YTR, SPARSE) (0x0800000000000051)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, SPARSE, CBR) (0x08000000000000c1)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, YTR, CBR) (0x0800000000000091)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   ├───ARM_AFBC(BLOCK_SIZE = 16x16, YTR, SPARSE, CBR) (0x08000000000000d1)
            │   │   ├───XRGB2101010 (0x30335258)
            │   │   ├───XBGR2101010 (0x30334258)
            │   │   ├───XRGB8888 (0x34325258)
            │   │   ├───ARGB8888 (0x34325241)
            │   │   ├───XBGR8888 (0x34324258)
            │   │   ├───ABGR8888 (0x34324241)
            │   │   ├───RGB888 (0x34324752)
            │   │   ├───BGR888 (0x34324742)
            │   │   ├───RGB565 (0x36314752)
            │   │   ├───BGR565 (0x36314742)
            │   │   ├───YUV420_8BIT (0x38305559)
            │   │   ├───YUV420_10BIT (0x30315559)
            │   │   ├───YUYV (0x56595559)
            │   │   └───Y210 (0x30313259)
            │   └───ARM_AFBC(BLOCK_SIZE = 16x16, YTR, SPLIT, SPARSE) (0x0800000000000071)
            │       ├───XRGB2101010 (0x30335258)
            │       ├───XBGR2101010 (0x30334258)
            │       ├───XRGB8888 (0x34325258)
            │       ├───ARGB8888 (0x34325241)
            │       ├───XBGR8888 (0x34324258)
            │       ├───ABGR8888 (0x34324241)
            │       ├───RGB888 (0x34324752)
            │       ├───BGR888 (0x34324742)
            │       ├───RGB565 (0x36314752)
            │       ├───BGR565 (0x36314742)
            │       ├───YUV420_8BIT (0x38305559)
            │       ├───YUV420_10BIT (0x30315559)
            │       ├───YUYV (0x56595559)
            │       └───Y210 (0x30313259)
            ├───"rotation": bitmask {rotate-0, rotate-90, rotate-270, reflect-x, reflect-y} = (rotate-0)
            ├───"alpha": range [0, UINT16_MAX] = 65535
            ├───"pixel blend mode": enum {None, Pre-multiplied, Coverage} = Pre-multiplied
            └───"zpos": range [0, 5] = 4
Comment 4 Zamundaaa 2024-10-15 00:54:09 UTC
Sorry, it should've been
> kscreen-doctor -o

When you were running those commands, which orientation (as described in the display settings) would you expect the display to be set to?
Comment 5 William Ethridge 2024-10-15 01:12:01 UTC
my current orientation according to the display settings should be 90 deg counterclockwise.

[minstrel@danctnix ~]$ kscreen-doctor -o
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Output: 1 DSI-1
        enabled
        connected
        priority 1
        Panel
        Modes:  1:800x1280@60*! 
        Geometry: 0,0 800x1280
        Scale: 1
        Rotation: 4
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Brightness control: supported, set to 30%
Comment 6 didi.debian 2024-10-17 19:06:46 UTC
I just upgraded my PineTab2 (running Debian Testing/Sid/Experimental) to 6.2.x (from 5.x) and it seems to me that Plasma is absolutely fine!

The login manager, ie SDDM, OTOH does have the orientation problem (even when compiled against qt6).
Comment 7 didi.debian 2024-10-17 19:16:54 UTC
Got some interesting output when running ``kscreendoctor -o``:

testuser@pinetab2-sd:~$ xrandr --listmonitors 
Monitors: 1
 0: +*DSI-1 1280/135x800/216+0+0  DSI-1
testuser@pinetab2-sd:~$ kscreen-doctor -o
Output: 1 DSI-1
        enabled
        connected
        priority 1
        Panel
        Modes:  1:800x1280@60*! 
        Geometry: 0,0 1024x640
        Scale: 1.25
        Rotation: 8
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Brightness control: supported, set to 20%
testuser@pinetab2-sd:~$ echo "Change scaling to 1.00 ..."
Change scaling to 1.00 ...
testuser@pinetab2-sd:~$ kscreen-doctor -o
Output: 1 DSI-1
        enabled
        connected
        priority 1
        Panel
        Modes:  1:800x1280@60*! 
        Geometry: 0,0 1280x800
        Scale: 1
        Rotation: 8
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Brightness control: supported, set to 20%
testuser@pinetab2-sd:~$

FWIW: I run a mainline based kernel, while I think danctnix has a kernel with several patches.
Still the difference in 'Modes' and 'Geometry' is interesting.
Comment 8 didi.debian 2024-10-17 19:47:31 UTC
I fixed the issue with SDDM ... by using kwin :-D

testuser@pinetab2-sd:~$ cat /etc/sddm.conf.d/wayland.conf
[General]
DisplayServer=wayland
InputMethod=

[Wayland]
CompositorCommand=kwin_wayland --no-global-shortcuts --no-lockscreen --inputmethod maliit-keyboard
Comment 9 Zamundaaa 2024-10-23 13:56:29 UTC
(In reply to William Ethridge from comment #5)
> my current orientation according to the display settings should be 90 deg
> counterclockwise.
Okay, with that the orientation sensor would have to report the device to not be rotated, instead of "right up" - it's supposed to be relative to the device, not relative to the display. It most likely was done that way because software in userspace (like Plasma 5) didn't handle the display being rotated, but it's not correct.
Please report this to whatever kernel driver is responsible for your auto rotate sensor
Comment 10 Zamundaaa 2024-11-21 12:42:39 UTC
Git commit b0bde6398a2b9e965e10b397b21165af846ff228 by Xaver Hugl.
Committed on 21/11/2024 at 12:30.
Pushed by zamundaaa into branch 'master'.

autotests: add a test for autorotation with different panel orientations

M  +1    -1    autotests/integration/CMakeLists.txt
M  +1    -0    autotests/integration/kwin_wayland_test.cpp
M  +1    -0    autotests/integration/kwin_wayland_test.h
M  +62   -0    autotests/integration/outputchanges_test.cpp
M  +1    -1    src/backends/virtual/virtual_backend.cpp
M  +1    -0    src/backends/virtual/virtual_backend.h
M  +2    -1    src/backends/virtual/virtual_output.cpp
M  +1    -1    src/backends/virtual/virtual_output.h

https://invent.kde.org/plasma/kwin/-/commit/b0bde6398a2b9e965e10b397b21165af846ff228