RK3288主板Android反向竖屏录屏/投屏方向异常问题求助
解决RK3288 Android设备反向竖屏后录屏/Scrcpy画面异常的问题
我碰到过不少RK3288平台的类似问题——你已经搞定了HDMI显示的反向竖屏,但镜像工具(Scrcpy)和录屏没跟上,这是因为上层系统的user_rotation设置和底层FrameBuffer/显示驱动的配置没同步,RK平台有自己专属的底层旋转控制逻辑,之前改的settings和HDMI build.prop参数只管HDMI输出,不管镜像/录屏走的FrameBuffer通道。
下面是针对性的解决步骤:
1. 同步底层显示驱动的旋转配置
RK3288的显示旋转最终由sysfs节点控制,直接修改这个节点可以让所有依赖FrameBuffer的工具(包括Scrcpy、系统录屏)同步旋转:
- 先查看当前底层旋转值:
取值对应:adb shell cat /sys/class/display/display0/rotation0=默认横屏,1=顺时针90度(竖屏),2=180度(反向横屏),3=逆时针90度(反向竖屏)——你要的反向竖屏对应3,可根据实际显示效果微调。 - 设置反向竖屏(需要Root权限):
adb shell su -c "echo 3 > /sys/class/display/display0/rotation"
2. 给Scrcpy单独指定旋转(临时快速方案)
如果不想改动系统底层配置,也可以直接在启动Scrcpy时强制指定旋转方向,无需修改系统设置:
scrcpy --rotation 2
这里的--rotation参数取值:0=默认,1=顺时针90,2=180,3=逆时针90——对应反向竖屏可尝试2或3,看实际显示效果选择。
3. 系统录屏的旋转适配
如果使用系统自带的screenrecord命令录屏,同样可以强制指定旋转:
adb shell screenrecord --rotation 2 /sdcard/record.mp4
若是第三方录屏APP,一般在设置里会有「强制旋转」或「跟随系统旋转」的选项,开启后即可同步反向竖屏显示。
4. 持久化配置(重启后不失效)
如果重启后底层旋转会重置,可将修改加入开机脚本:
- 创建脚本文件(需Root):
adb shell su -c "echo '#!/system/bin/sh' > /system/etc/init.d/set_rotation" adb shell su -c "echo 'echo 3 > /sys/class/display/display0/rotation' >> /system/etc/init.d/set_rotation" - 给脚本添加执行权限:
这样每次开机都会自动设置好底层旋转方向。adb shell su -c "chmod 755 /system/etc/init.d/set_rotation"
另外,你之前修改的user_rotation和HDMI build.prop参数无需改动,它们负责维持HDMI显示的正常工作,加上底层旋转配置后,Scrcpy和录屏画面就会和HDMI显示保持一致了。
内容的提问来源于stack exchange,提问作者Korteby Farouk




