硬件: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圖片實現。