You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4 Yocto镜像下如何将HDMI屏幕旋转90度?

解决Xrandr "Can't open display" 错误及屏幕旋转方案

一、先搞定xrandr的显示问题

xrandr需要明确X服务器的显示设备编号,默认是:0,先设置环境变量再执行命令:

export DISPLAY=:0
xrandr -o 1

如果是root用户执行,还得放开X的权限(调试完成后可以用xhost -恢复权限限制):

xhost +
export DISPLAY=:0
xrandr -o 1

二、让旋转配置开机自动生效

手动执行命令太繁琐,修改Xorg配置是更可靠的永久方案:

  1. 创建或编辑/etc/X11/xorg.conf.d/90-monitor.conf,内容如下(Rotate可选Right/Left/Inverted,HDMI-1和分辨率需对应你的实际设备,可用xrandr命令查看设备名称):
Section "Monitor"
    Identifier "HDMI-1"
    Option "Rotate" "Right"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Monitor "HDMI-1"
    SubSection "Display"
        Modes "1920x1080"
    EndSubSection
EndSection
  1. 重启X服务器或整个系统后配置即可生效。

三、同步触摸坐标旋转

屏幕旋转后触摸坐标会出现错位,必须同步调整触摸输入的映射:

  • 用xinput list命令找到你的USB触摸设备名称(比如ILITEK ILITEK-TP)
  • 执行以下命令完成触摸坐标旋转(参数对应90度右旋转,方向不符可调整矩阵值):
xinput set-prop "ILITEK ILITEK-TP" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1

要让该配置永久生效,可将这条命令添加到X的启动脚本中,比如~/.xinitrc或/etc/X11/xinit/xinitrc。

四、Yocto构建阶段预配置旋转

如果希望在Yocto镜像构建时就集成旋转设置,无需后续修改:

  • 在Yocto配方中添加Xorg配置文件到镜像的/etc/X11/xorg.conf.d/目录
  • 或者修改窗口管理器的启动脚本,比如Openbox的~/.config/openbox/autostart,将xrandr和xinput命令加入其中

内容的提问来源于stack exchange,提问作者Thugmek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:22:34