Skip to content

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).

adb shell setprop persist.surface_flinger.primary_display_orientation ORIENTATION_90
adb reboot

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).