快轉到主要內容

Weston合成器用法:X11跑巢狀Wayland工作階段

分類   Linux系統 Linux使用技巧
標籤   Wayland X Window
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

Run Wayland applications on X server.

有程式限制Wayland-only,但Wayland的bug好多,不想開Wayland桌面環境執行,那麼不妨使用巢狀Wayland工作階段的解決方案吧!

巢狀Wayland工作階段 (nested Wayland session) 意即在X11工作階段跑一個Wayland合成器,也就是Wayland on X Server!剛好跟XWayland反過來,現在是WaylandX!

通常作法是跑一個大視窗,讓所有Wayland程式跑在視窗裡面,不受外界影響,還可以吃到Linux的GPU加速呢!

有了巢狀Wayland工作階段,可以方便你評估應用程式在Wayland下的表現。

有什麼程式是一定要Wayland的?目前我想到的就是 Waydroid,需要Wayland才能顯示Android畫面,還有一些測試新興技術的玩意!

在Weston視窗跑vkcube-wayland,測試Wayland環境下的Vulkan支援程度

1. 選擇Wayland合成器
#

說到可以在X11下跑的Wayland合成器(compositor),你有以下選擇。

Weston:Wayland官方參考實作,所有新特性都會加入到這裡,例如RDP遠端桌面協定。Microsoft WSLg也有採用Weston做顯示Linux圖形程式之用。由於是參考實作,功能有限,不像Sway那樣適合當桌面環境使用,僅適合執行單一程式。

Gamescope:Valve專為Steam玩遊戲打造的迷你合成器,可以縮放內容,以及讓部份Steam遊戲支援HDR。僅適合執行單一程式。

此外,Cage、Sway、Hyperland、Kwin、Gnome Mutterl應該也能用巢狀方式執行,不過他們的設計複雜容易出問題,所以還是用較簡單的Weston吧。

2. 安裝Weston
#

許多Linux發行版套件庫都有收,例如Ubuntu

sudo apt install weston

若要體驗最新功能,需要參考 開發者指示手動編譯。

3. Weston啟動方式
#

Weston支援多種圖形渲染後端,當它在X伺服器環境啟動的時候,就會變成X伺服器的客戶端。

  1. 確認你目前的工作階段是為X11
echo $XDG_SESSION_TYPE
  1. 從Linux終端機啟動weston
weston
  1. 然後會跳出一個大視窗。Weston是極簡的合成器,內部只有幾個Wayland範例程式。

  2. 開啟Weston內的終端機,檢查目前的工作階段環境變數

echo $XDG_SESSION_TYPE
  1. 如果不是顯示"wayland"就強制指定。
export XDG_SESSION_TYPE=wayland
  1. 因為Weston內部沒有應用程式選單的組件,所以你得從終端機用指令啟動程式。
# 以Wayland模式啟動Firefox
MOZ_ENABLE_WAYLAND=1 firefox
  1. 如此一來,Weston視窗內的所有程式都會認為自己跑在Wayland環境了。

目前沒有在Weston貼上剪貼簿的方法。

4. 調整Weston啟動時的設定檔
#

檔案寫在~/.config/weston.ini

設定檔格式:每個區塊都是用中括號包起來,並在下面填寫選項。

如果有的程式只支援X11,加入該選項可以允許程式跑在XWayland

[core]
xwayland=true

設定不要自動鎖定螢幕

[core]
idle-time=0

此選項可設定桌布

[shell]
background-image=/home/user/Pictures/background.png
background-type=scale-crop

設定縮放係數,至於預設視窗的長寬,得附加在指令後面作為引數:weston --width 1024 --height 768

[output]
scale=2

順帶一提,Weston安裝後會自動註冊在顯示管理器(GDM、SDDM、LightDM)欄位,成為可以登入的桌面工作階段。不過正如上面所說的,Weston功能太少不適合當桌面環境使用。

這個檔案位於/usr/share/wayland-sessions/weston.desktop

參考
#

相關文章

給Linux螢幕進行色彩管理,套用ICC設定檔,並調整螢幕色溫
分類   Linux系統 Linux使用技巧
標籤   Linux Wayland Color Management
Linux如何解除安裝軟體並刪除乾淨
分類   Linux系統 Linux使用技巧
標籤   Ubuntu Flatpak Snap AppImage
Ubuntu 22.04升級Ubuntu 24.04記錄,改APT sources.list強制升級
分類   Linux系統 Linux使用技巧
標籤   Ubuntu

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。