Screen Rotation¶
This chapter describes how to modify the screen display orientation in the Android system.
LOGO Configuration¶
The display orientation of the LOGO is determined by the image itself. To change it, create a LOGO image rotated to the desired orientation.
Command‑Line Configuration¶
The system supports configuring the screen orientation via the command line.
Temporary Configuration¶
The setting takes effect immediately but resets after reboot. It affects only the Android system UI.
# Disable auto‑rotation
adb shell settings put system accelerometer_rotation 0
# Set a fixed display orientation
adb shell settings put system user_rotation 0 // 0°
adb shell settings put system user_rotation 1 // 90°
adb shell settings put system user_rotation 2 // 180°
adb shell settings put system user_rotation 3 // 270°
Permanent Configuration¶
The setting persists across reboots by using a system property (supported only on some RK boards).
Note
Supported values: ORIENTATION_0 (0°, default), ORIENTATION_90 (90° clockwise), ORIENTATION_180 (180°), ORIENTATION_270 (90° counter‑clockwise).
SDK Configuration¶
The system supports configuring the screen orientation by modifying the SDK source code.
System UI¶
By modifying the SDK configuration file, you can set the default orientation at boot. This affects only the Android system UI, not Recovery or U‑Boot.
| Model | SoC | SDK | Configuration File |
|---|---|---|---|
| K1 / K1B | RK3568 | rk-android13.0 | device/rockchip/rk356x/BoardConfig.mk |
| K1 MINI | RK3568 | rk-android13.0 / rk-android14.0 | device/rockchip/rk356x/BoardConfig.mk |
| K2B / K2C | H618 | h618-android12.0 | device/softwinner/apollo/apollo_p2.mk |
| K3 | RK3562 | rk-android13.0 | device/rockchip/rk3562/BoardConfig.mk |
| K3B | RK3562 | rk-android13.0 / rk-android14.0 | device/rockchip/rk3562/BoardConfig.mk |
| K5 / K5C | A133 | a133-android10.0 | android/device/softwinner/ceres-c3/ceres_c3.mk |
| K7 / K7C / K7S_K7F | RK3576 | rk3576-android14.0 | device/rockchip/rk3576/BoardConfig.mk |
| K8 | RK3588 | rk-android13.0 | device/rockchip/rk3588/BoardConfig.mk |
| K8D | RK3588S | rk-android13.0 / rk-android14.0 | device/rockchip/rk3588/BoardConfig.mk |
| K9 | T527 | t527-android13.0 | device/softwinner/saturn/t527-demo/device-common.mk |
| K10B | A733 | a733-android13.0 | device/softwinner/jupiter/a733-demo-aiot/device-common.mk |
| K11C | RK3566 | rk-android13.0 / rk-android14.0 | device/rockchip/rk356x/BoardConfig.mk |
| TX66 | RK3566 | rk-android13.0 | device/rockchip/rk356x/BoardConfig.mk |
Rockchip — Modify SF_PRIMARY_DISPLAY_ORIENTATION in BoardConfig.mk:
--- a/device/rockchip/$(chip)/BoardConfig.mk
+++ b/device/rockchip/$(chip)/BoardConfig.mk
+
+ SF_PRIMARY_DISPLAY_ORIENTATION := 90 // 90°
Note
Replace $(chip) with the actual chip directory name, e.g., rk356x, rk3562, rk3576, rk3588.
Supported values: 0 (0°, default), 90 (90° clockwise), 180 (180°), 270 (90° counter‑clockwise).
AllWinner — Modify ro.surface_flinger.primary_display_orientation in the corresponding device configuration file:
--- a/.../device-common.mk
+++ b/.../device-common.mk
@@ -x,x +x,x @@ PRODUCT_PROPERTY_OVERRIDES += \
- ro.surface_flinger.primary_display_orientation=ORIENTATION_0 \
+ ro.surface_flinger.primary_display_orientation=ORIENTATION_90 \
Note
For H618 (K2B/K2C), the screen orientation is configured using the ro.minui.default_rotation property, which differs from other platforms.
Supported values: ORIENTATION_0 (0°, default), ORIENTATION_90 (90° clockwise), ORIENTATION_180 (180°), ORIENTATION_270 (90° counter‑clockwise).
Recovery / Charging UI¶
The Recovery and charging screens share the minui display framework. Their orientation is controlled by the ro.minui.default_rotation property, which applies to all platforms:
--- a/.../device.mk
+++ b/.../device.mk
+
+PRODUCT_PROPERTY_OVERRIDES += ro.minui.default_rotation=ROTATION_RIGHT
Note
Supported values: ROTATION_NONE (no rotation, default), ROTATION_RIGHT (90° clockwise), ROTATION_DOWN (180°), ROTATION_LEFT (90° counter‑clockwise).