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

Yocto/Poky Weston双屏环境下,如何在副屏启动Wayland应用?

解决方法与调试手段

一、验证有效Wayland Display ID的方法

  • 检查XDG_RUNTIME_DIR目录
    /run/user/1000下的wayland-N文件是当前活跃的Wayland显示套接字,仅存在wayland-1说明系统中只有一个Wayland compositor实例在运行——双屏是该实例管理的两个输出,而非多个独立的display。
  • 确认Weston进程状态
    执行命令查看Weston进程数量与启动参数:
    ps aux | grep weston
    
    若输出仅一个Weston进程,即可确认双屏属于同一compositor实例,无需指定不同的WAYLAND_DISPLAY。

二、调试双屏输出的具体手段

  • 查看Weston运行日志
    若Weston以系统服务运行,通过系统日志查看输出设备识别情况:
    journalctl -u weston
    
    日志中会包含类似以下的输出设备信息,确认两块屏幕被正确识别:
    [weston] Output HDMI-A-1 (crtc 0) enabled with mode 1920x1080@60Hz
    [weston] Output DP-1 (crtc 1) enabled with mode 1920x1080@60Hz
    
  • 用weston-info获取实例详情
    指定有效display参数运行weston-info,查看当前Wayland实例的所有输出设备:
    WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 weston-info
    
    输出会列出所有可用输出的名称、分辨率等参数,证明双屏属于同一个Wayland display。
  • 指定应用到特定屏幕显示
    无需切换WAYLAND_DISPLAY,可通过以下方式让应用显示在目标屏幕:
    • 若weston-simple-egl支持,使用--output参数指定输出设备:
      WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/weston-simple-egl --output DP-1
      
    • 通过窗口坐标调整:在扩展模式下,第二屏的坐标通常是第一屏分辨率的偏移值(比如第一屏1920x1080,第二屏的x坐标从1920开始),可通过调整应用窗口的位置参数实现屏幕切换。

三、关键误区说明

Wayland的双屏扩展模式下,compositor会将多块屏幕合并为一个虚拟桌面,而非创建多个独立的display实例。你看到的wayland-1是唯一有效的display,其他wayland-N不存在,因此指定这些值会触发连接失败的断言错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 03:11:20