快轉到主要內容

嘗試FreeBSD純Wayland桌面環境,以Sway為例

分類   資訊科技 電腦軟體分享
標籤   FreeBSD Wayland
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

跟我一樣使用NvidiaGPU斟酌參考。真是惡夢…閉源驅動在FreeBSD的Wayland支援度不是很好的樣子,不論試哪一種合成器,都只會得到backend/backend.c:217] Found 0 GPUs, cannot create backend. Failed to open any DRM device的錯誤。

1. FreeBSD的Wayland現況
#

測試版本:FreeBSD 14 Release

Wayland是意圖取代老舊Xorg(X11)的新一代顯示協定,自2008年推出以來,Linux社群便逐漸往Wayland遷移,兩大桌面環境GNOME和KDE都支援Wayland了,GTK/QT函式庫也支援Wayland協定。在Wayland的桌面環境下,開發者得將程式改寫成原生Wayland應用,至於仍使用Xorg的程式,則是會跑在XWayland以保持相容性。

但是就筆者觀察來看,Linux的Wayland到現在還處於一種尷尬的地位,許多方面尚未成熟,根本沒辦法完全替代掉Xorg。即使是在提供最新套件的滾動發行版,Wayland依然問題重重,不論是GNOME 46還是KDE 6.2皆然。

那麼,BSD社群的狀況又是如何。想當然,Wayland處於高度實驗性狀態。

GNOME 42?No。KDE 5.27?No。從顯示管理器還是tty都不能啟動Wayland工作階段。

根據 FreeBSD手冊記載,看來只有比較簡單的合成器(compositor)能跑起來,例如Hyprland、Wayfire、Sway、Hikari這類的,FreeBSD套件庫有收就不用自己編譯。他們可以從tty或是從顯示管理器啟動。

這類合成器多半是平鋪式或層疊式,特點是桌面環境的元件要自行「組裝」,且強烈依賴快捷鍵操作,不像GNOME和KDE桌面好上手。

2. 跑Wayland的前置條件
#

  1. 因為有許多套件依賴Xorg,所以Xorg還是得裝。
sudo pkg install xorg
  1. 使用者必須加入video群組
sudo pw groupmod video -m user
  1. 合成器需要GPU加速,才能使用DRM。按照GPU型號 安裝xorg驅動,以及 drm-kmod驅動

  2. 安裝seatd和wayland

sudo pkg install wayland xwayland seatd
  1. 將seatd加入開機服務
sudo sysrc seatd_enable="YES"

3. 安裝顯示管理器
#

顯示管理器部份,GDM本身支援Wayland工作階段;LightDM、SDDM、Ly在開機的時候則是依然跑在X11。

  1. 我使用GDM
sudo pkg install gdm
  1. 設定開機自動啟動
sudo sysrc gdm_enable="YES"

4. 安裝Sway合成器
#

  1. 安裝Sway套件
sudo pkg install sway libinput
  1. 加入XDG_RUNTIME_DIR至~/.profile
export XDG_RUNTIME_DIR=/var/run/user/`id -u`

export DISPLAY=:0
  1. 將dbus加入開機服務
sudo sysrc dbus_enable="YES"
  1. 複製Sway設定檔
mkdir  ~/.config/sway
cp /usr/local/etc/sway/config ~/.config/sway/
  1. 重開機後便可以在顯示管理器的選單選取Sway啟動了。

相關文章

FreeBSD安裝Nvidia專有驅動與CUDA,透過GPU加速程式執行
分類   資訊科技 電腦軟體分享
標籤   FreeBSD Nvidia
FreeBSD安裝Steam + Steam Proton遊戲相容層教學
分類   資訊科技 電腦軟體分享
標籤   Wine FreeBSD Steam
軟體模擬Windows雙螢幕:Virtual Display Driver
分類   資訊科技 電腦軟體分享
標籤   Windows

留言板

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

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

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