硬件:HD-RK3576-PI
软件:Linux6.1+Ubuntu22.04
在基于HD-RK3576-PI硬件平台运行Ubuntu 22系统的开发过程中,屏幕方向调整是提升人机交互体验的关键环节。然而,由于涉及uboot引导阶段、内核启动界面、桌面环境显示全流程适配,实现屏幕旋转需要系统级的配置调整。本文深入解析从开机LOGO动态旋转、多屏异显/同显模式切换,到X11显示服务参数优化的完整解决方案,助您轻松掌握屏幕方向180°翻转、90°旋转等复杂场景配置技巧,同时提供双屏协同工作场景下的显示策略与开机LOGO自定义指南,全面解决嵌入式设备的显示适配难题。
查看当先系统支持几个屏幕
使用xrandr
命令查看当前系统显示屏信息,从如下打印信息来看是目前系统存在HDMI-1
和DSI-1
两个显示屏。
root@hd-rk3576-pi:~# xrandr
Screen 0: minimum 320 x 200, current 2720 x 1080, maximum 16384 x 16384
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm1920x1080 60.00*+ 60.00 50.00 59.94 30.00 29.971600x900 60.001366x768 59.791280x720 60.00 60.00 50.00 30.00 59.94 29.971024x768 60.001440x480 60.00 59.94800x600 60.32720x480 60.00 59.94640x480 60.00 59.94
DSI-1 connected 800x480+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm800x480 59.51*
多屏显示
1. 设置双屏同显
输入以下命令将 HDMI-1 屏幕和 DSI-1 屏幕设置成同显。
xrandr --output HDMI-1 --same-as DSI-1 --auto
2. 设置双屏异显
异显模式下支持 On right、Above、On left、Below 四种模式。其中--right-of
可以替换成 left-of
, below
,same-as
, preferred
, off
等等,从而实现不同的屏幕显示功能。
输入以下命令,设置 HDMI-1为主屏,DSI-1屏幕为副屏。
xrandr --output DSI-1 --right-of HDMI-1 --auto
3. 屏幕旋转
如HDMI屏幕向左旋转
xrandr --output HDMI-1 --rotate left
其中HDMI-1
屏幕可以替换成DSI-1
,left
可以替换成 right
, inverted
,从而实现屏幕右转和翻转180°的效果。
屏幕水平翻转180℃ | 屏幕逆时针旋转90℃ | 屏幕顺时针旋转90℃ | 屏幕恢复正常方向 |
inverted | left | right | normal |
如需要开机自动旋转,可以修改配置文件/etc/X11/xorg.conf.d/20-modesetting.conf中的Rotate属性:
### Valid values for rotation are "normal", "left", "right"
Section "Monitor"Identifier "Default Monitor"Option "Rotate" "normal" # 可以修改为 "normal", "left", "right",“inverted”
EndSection
修改开机logo
- 制作自己的logo图片,格式为bmp,分辨率大小不超过显示屏的规格,命名为logo.bmp和logo_kernel.bmp(uboot和内核启动阶段的显示logo);
- 将logo图片放到/oem/logo目录下,如果logo目录不存在则创建,然后重启即可。
- 如果logo需要旋转,可通过直接旋转logo图片实现。