天天看點

Wayland/Weston 啟動方式簡介

前言

本文簡單介紹 Weston 常用的幾種 backend 啟動方式。目前最新的 Weston 8.0.0 支援如下幾種 backend:

  • drm-backend
  • fbdev-backend
  • headless-backend
  • rdp-backend
  • wayland-backend
  • x11-backend

其中 headless-backend 不帶任何 UI 界面,主要用于 weston 自測試,rdp-backend 則用于遠端桌面。這兩個 backend 本文不做介紹。

運作環境:

  • Ubuntu: 16.04
  • Weston: 1.9.0

操作提示:

  • Ctrl+Alt+F2

    傳回圖形界面(GDM3,Ubuntu18.04)
  • Ctrl+Alt+F7

    傳回圖形界面(lightDM, Ubuntu16.04)
  • Ctrl+Alt+Backspace

    退出Weston界面

drm-backend

操作步驟:

  1. Ctrl+Alt+F4

    切換到虛拟終端;
  2. weston

Wayland/Weston 啟動方式簡介

weston 預設使用 drm 作為後端,是以運作時不需要附帶任何參數。該模式下,Wayland 輸出界面直接通過 /dev/dri/card0 節點來顯示。渲染方式支援 Pixman (CPU 軟繪)和 OpenGL/ES (GPU 硬體渲染)。

fbdev-backend

操作步驟:

  1. sudo usermod -a -G video hexaolong2008

    ,将目前賬号添加到video組(否則将提示權限錯誤,因為 /dev/fb0 屬于 video 組)
  2. reboot

  3. Ctrl+Alt+F4

    切換到虛拟終端
  4. weston --backend=fbdev-backend.so

Wayland/Weston 啟動方式簡介

該模式下,Wayland 輸出界面通過 /dev/fb0 節點來顯示,但不支援 OpenGL 硬體加速,是以隻能使用 pixman 做 CPU 純軟繪操作,界面會比較卡頓。

wayland-backend

操作步驟:

  1. 先啟動一個 weston
  2. 在 Weston 終端裡,輸入

    weston

    指令再啟動一個 Weston 桌面
Wayland/Weston 啟動方式簡介

該模式下,Weston 的輸出将被作為另一個 Weston 的輸入,以 Wayland Client 身份運作。

x11-backend

操作步驟:直接在 GNOME 終端裡執行

weston

指令

Wayland/Weston 啟動方式簡介

該模式下,Weston 的界面輸出,将被作為一個 X Window 送到 X Server 中去顯示。

xwayland

首先,它不是一個 backend,它隻是 Wayland 的一個擴充功能,可以讓你在 Weston 中運作 X 的程式。

操作步驟:

  1. sudo apt install xwayland

    ,安裝 /usr/bin/Xwayland 可執行程式;
  2. weston --modules=xwayland.so

    ,随便以哪種 backend 方式啟動都可以;
  3. 啟動後,可以直接在 Weston 終端中運作 X 程式,如

    x-terminal-emulator

Wayland/Weston 啟動方式簡介

該模式下,會啟動 /usr/bin/Xwayland 程式,它會提供一個 X Server,用來運作 X 程式。而這個 X Server 又是運作在 Wayland Server 上的,是以 X Server 的界面輸出,最終是作為一個 Wayland Client 而送去顯示的。

SSH遠端啟動

$ weston --tty=1
           

ssh 啟動方式需要明确指定使用哪個終端來顯示。

序列槽啟動

$ sudo -E weston --tty=1
           

序列槽啟動同樣需要明确指定使用哪個VT來顯示。

weston-launch

官方的說明是,weston-launch 可以為 weston 提供更進階的通路權限,如 input 裝置、drm master 通路權限等,但我實際使用 weston 指令時并沒有碰到權限問題。

繼續閱讀