前言
本文簡單介紹 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
操作提示:
-
傳回圖形界面(GDM3,Ubuntu18.04)Ctrl+Alt+F2
-
傳回圖形界面(lightDM, Ubuntu16.04)Ctrl+Alt+F7
-
退出Weston界面Ctrl+Alt+Backspace
drm-backend
操作步驟:
-
切換到虛拟終端;Ctrl+Alt+F4
-
weston
weston 預設使用 drm 作為後端,是以運作時不需要附帶任何參數。該模式下,Wayland 輸出界面直接通過 /dev/dri/card0 節點來顯示。渲染方式支援 Pixman (CPU 軟繪)和 OpenGL/ES (GPU 硬體渲染)。
fbdev-backend
操作步驟:
-
,将目前賬号添加到video組(否則将提示權限錯誤,因為 /dev/fb0 屬于 video 組)sudo usermod -a -G video hexaolong2008
-
reboot
-
切換到虛拟終端Ctrl+Alt+F4
-
weston --backend=fbdev-backend.so
該模式下,Wayland 輸出界面通過 /dev/fb0 節點來顯示,但不支援 OpenGL 硬體加速,是以隻能使用 pixman 做 CPU 純軟繪操作,界面會比較卡頓。
wayland-backend
操作步驟:
- 先啟動一個 weston
- 在 Weston 終端裡,輸入
指令再啟動一個 Weston 桌面weston
該模式下,Weston 的輸出将被作為另一個 Weston 的輸入,以 Wayland Client 身份運作。
x11-backend
操作步驟:直接在 GNOME 終端裡執行
weston
指令
該模式下,Weston 的界面輸出,将被作為一個 X Window 送到 X Server 中去顯示。
xwayland
首先,它不是一個 backend,它隻是 Wayland 的一個擴充功能,可以讓你在 Weston 中運作 X 的程式。
操作步驟:
-
,安裝 /usr/bin/Xwayland 可執行程式;sudo apt install xwayland
-
,随便以哪種 backend 方式啟動都可以;weston --modules=xwayland.so
- 啟動後,可以直接在 Weston 終端中運作 X 程式,如
。x-terminal-emulator
該模式下,會啟動 /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 指令時并沒有碰到權限問題。