Wayland

Wayland je protokol zobrazovacího serveru. Má se stát nástupcem systému X Window System. Srovnání Waylandu a Xorg najdete na Wikipedii.

Zobrazovací servery používající protokol Wayland se nazývají kompozitory, protože fungují také jako kompozitní správci oken. Níže najdete seznam kompozitorů Wayland.

Pro zpětnou kompatibilitu pro bezproblémové spouštění starších aplikací X11 lze použít XWayland, který poskytuje server X ve Waylandu.

Požadavky

Většina kompozitorů Wayland funguje pouze na systémech s nastavením režimu jádra. Wayland sám o sobě neposkytuje grafické prostředí; k tomu potřebujete také kompozitor (viz následující část) nebo desktopové prostředí, které obsahuje kompozitor (např. GNOME nebo KDE).

Aby byly ovladač GPU a kompozitor Wayland kompatibilní, musí podporovat stejné rozhraní API vyrovnávací paměti. Existují dvě hlavní rozhraní API: GBM a EGLStreams.

.

Podpora API vyrovnávací paměti Podpora ovladače GPU Podpora kompozitoru Wayland
GBM Všechny kromě NVIDIA Všechny
EGLStreams NVIDIA GNOME, KDE, Weston (s patchem třetí strany)

Kompozitory

Rozdíl mezi Tiling a Stacking viz Správce oken#Typy.

Tiling

  • Cagebreak – Založený na cage, inspirovaný ratpoison.

https://github.com/project-repo/cagebreak || cagebreakAUR cagebreak-binAUR

  • Cardboard – Rolovací kompozitor, inspirovaný PaperWM, založený na wlroots.

https://gitlab.com/cardboardwm/cardboard || not packaged? search in AUR

  • dwl – kompozitor podobný dwm Waylandu založený na wlroots.

https://github.com/djpohly/dwl || dwlAUR

  • japokwm – Dynamický kompozitor Wayland tiling založený na vytváření layoutů, založený na wlroots.

https://github.com/werererer/japokwm || není zabalen? hledat v AUR

  • river – Dynamický tilingový kompozitor Waylandu inspirovaný dwm a bspwm.

https://github.com/ifreund/river || river-gitAUR

  • Sway – i3-kompatibilní kompozitor Waylandu založený na wlroots.

https://github.com/swaywm/sway || sway

  • Velox – Jednoduchý správce oken založený na swc, inspirovaný dwm a xmonad.

https://github.com/michaelforney/velox || veloxAUR

  • waymonad – Waylandský kompozitor inspirovaný xmonad napsaný v Haskellu.

https://github.com/waymonad/waymonad || není zabalen? hledat v AUR

Stacking

  • Enlightenment – Viz Enlightenment#Ručně. Více informací:

https://www.enlightenment.org/ || enlightenment

  • Greenfield – Běží ve webovém prohlížeči a umí zobrazovat vzdálené aplikace

https://greenfield.app/ || not packaged? search in AUR

  • Grefsen – Qt/Wayland kompozitor poskytující minimální desktopové prostředí.

https://github.com/ec1oud/grefsen || not packaged? hledat v AUR

  • hikari – kompozitor založený na wlroots inspirovaný cwm, který je aktivně vyvíjen na FreeBSD, ale podporuje i Linux.

https://hikari.acmelabs.space/ || hikariAUR

  • KDE KWin – viz KDE#Starting Plasma.

https://userbase.kde.org/KWin || kwin

  • Liri Shell – součást Liri, vytvořená pomocí QtQuick a QtCompositor jako kompozitor pro Wayland.

https://github.com/lirios/shell || liri-shell-gitAUR

  • labwc – kompozitor založený na wlroots inspirovaný Openboxem.

https://github.com/johanmalm/labwc || labwc-gitAUR

  • Mutter – Viz GNOME#Starting.

https://gitlab.gnome.org/GNOME/mutter || mutter

  • wayfire – 3D kompozitor inspirovaný Compizem a založený na wlroots.

https://wayfire.org/ || wayfireAUR

  • Weston – referenční implementace kompozitoru Wayland.

https://gitlab.freedesktop.org/wayland/weston || weston

  • wio – kompozitor založený na wlroots, jehož cílem je replikovat vzhled plochy Rio z Plánu 9.

https://wio-project.org/ || není zabalen? hledat v AUR

Ostatní

  • Klec – Zobrazuje jednu celoobrazovkovou aplikaci jako kiosek.

https://www.hjdskes.nl/projects/cage/ || klec

  • Kompozitor Maze – Vykresluje okna ve 3D bludišti pomocí Qt.

https://github.com/imbavirus/mazecompositor ||není zabaleno? hledat v AUR

  • Motorcar – Wayland kompozitor pro zkoumání 3D vykreslování oken pomocí virtuální reality.

https://github.com/evil0sheep/motorcar || not packaged? hledat v AUR

Některé z výše uvedených mohou podporovat správce zobrazení. Podívejte se /usr/share/wayland-sessions/compositor.desktop, jak se spouštějí.

Správci zobrazení

Níže uvedené správce zobrazení podporují spouštění kompozitorů Wayland. Sloupec „Typ“ udává, zda správce zobrazení podporuje vlastní spuštění na Waylandu, nebo ne.

Název Typ Popis
GDM Spustí se na Waylandu Správce zobrazení GNOME.
greetd Přihlašovací démon Minimální a flexibilní přihlašovací démon.
LightDM Běží na X11 Správce zobrazení napříč plochami.
Ly Běží v konzoli TUI správce zobrazení napsaný v C
SDDM Běží na X11 Správce zobrazení založený na QML.
tbsm Běží v konzoli Jednoduchý spouštěč relací CLI napsaný v čistém bashi.

Knihovny uživatelského rozhraní

Podrobnosti najdete na oficiálních stránkách.

GTK

Balíčky gtk3 a gtk4 mají povolený backend Wayland. GTK bude ve výchozím nastavení používat backend Wayland, ale je možné jej přepsat na Xwayland úpravou proměnné prostředí: GDK_BACKEND=x11.

Qt

Chcete-li povolit podporu Wayland v Qt 5 nebo 6, nainstalujte balíček qt5-wayland, resp. qt6-wayland.

Chcete-li spustit aplikaci Qt s doplňkem Wayland , použijte proměnnou prostředí -platform wayland nebo QT_QPA_PLATFORM=wayland. Chcete-li vynutit použití X11 v relaci Wayland, použijte QT_QPA_PLATFORM=xcb. To může být nutné u některých proprietárních aplikací, které nepoužívají systémovou implementaci Qt, například zoomAUR.

Na některých kompozitorech, například sway, mohou mít aplikace Qt spuštěné nativně chybějící funkce. Například KeepassXC nebude moci minimalizovat na lištu. To lze vyřešit instalací qt5ct a nastavením QT_QPA_PLATFORMTHEME=qt5ct před spuštěním aplikace.

Clutter

Sada nástrojů Clutter má backend Wayland, který jí umožňuje běžet jako klient Wayland. Backend je povolen v balíčku Clutter.

Chcete-li spustit aplikaci Clutter na Waylandu, nastavte CLUTTER_BACKEND=wayland.

SDL2

Chcete-li spustit aplikaci SDL2 na Waylandu, nastavte SDL_VIDEODRIVER=wayland.

Poznámka: Mnoho proprietárních her je dodáváno se starými verzemi SDL, které nepodporují Wayland a mohou se při nastavení SDL_VIDEODRIVER=wayland zcela rozbít. Chcete-li aplikaci přinutit, aby běžela s XWaylandem, nastavte SDL_VIDEODRIVER=x11.

GLFW

Chcete-li použít GLFW s backendem Waylandu, nainstalujte balíček glfw-wayland (místo glfw-x11).

GLEW

Balíček glew-waylandAUR v současné době stále nefunguje s mnoha aplikacemi založenými na GLEW, takže jedinou možností je použít glew s Xwaylandem. Viz FS#62713.

EFL

EFL má kompletní podporu Waylandu. Chcete-li spustit aplikaci EFL na Waylandu, podívejte se na stránku projektu Wayland.

winit

Winit je knihovna pro práci s okny v jazyce Rust. Ve výchozím nastavení používá backend Wayland, ale je možné jej přepsat na Xwayland úpravou proměnné prostředí: WINIT_UNIX_BACKEND=x11.

XWayland

XWayland je X Server, který běží pod Waylandem. Poskytuje zpětnou kompatibilitu pro starší aplikace X11.

Chcete-li jej používat, nainstalujte balíček xorg-xwayland.

XWayland se spouští prostřednictvím kompozitoru, takže byste se měli informovat o kompatibilitě XWaylandu a návodu, jak XWayland spustit, pomocí vybraného kompozitoru.

Poznámka:

  • Ohledně bezpečnosti:
  • Prozatím proprietární ovladač Nvidia nepodporuje akceleraci GPU pro XWayland. Stav podpory XWaylandu najdete v tomto nebo v tomto požadavku na stažení.

Řešení problémů

Korekce barev

Podívejte se na Backlight#Korekce barev.

Zpomalený pohyb, grafické závady a pády

Uživatelé gnome-shellu mohou mít problémy se zobrazením při přechodu na Wayland z X. Jednou z hlavních příčin může být vámi nastavený CLUTTER_PAINT=disable-clipped-redraws:disable-culling pro gnome-shell založený na Xorg. Zkuste jej odstranit z /etc/environment nebo jiných rc souborů a uvidíte, zda se vše vrátí do normálu.

Nelze otevřít displej: :0 s aplikacemi založenými na Electronu

Ujistěte se, že nemáte nastaveno GDK_BACKEND=wayland. Jeho globální nastavení rozbije aplikace pro Electron.

Vzdálené zobrazení

  • (20200206) wlroots (používá sway) nabízí od verze 0.10 VNC backend prostřednictvím wayvncAUR. Backend RDP byl odstraněn. .
  • (20180401) mutter má nyní vzdálenou plochu povolenou při kompilaci, podrobnosti viz a gnome-remote-desktop.
  • V roce 2013 došlo ke sloučení FreeRDP do Westonu, povoleno pomocí příznaku při kompilaci. Balíček weston ji má povolenou od verze 6.0.0.
  • waypipe-gitAUR je transparentní proxy pro aplikace Waylandu s wrapper příkazem pro spouštění přes SSH

Input grabbing ve hrách, vzdálené ploše a oknech virtuálních počítačů

Na rozdíl od Xorg Wayland neumožňuje exkluzivní grabování vstupních zařízení, známé také jako aktivní nebo explicitní grabování (např.např. klávesnice, myš), místo toho závisí na kompozitoru Wayland, který předává klávesové zkratky a omezuje ukazovací zařízení na okno aplikace.

Tato změna v uchopování vstupu naruší chování současných aplikací, což znamená, že:

  • Kombinace kláves a modifikátory budou zachyceny kompozitorem a nebudou odeslány do oken vzdálené plochy a virtuálního počítače.
  • Ukazatel myši nebude omezen na okno aplikace, což může způsobit efekt paralaxy, kdy je umístění ukazatele myši uvnitř okna virtuálního počítače nebo vzdálené plochy posunuto oproti ukazateli myši hostitele.

Wayland to řeší přidáním rozšíření protokolu pro Wayland a XWayland. Podporu těchto rozšíření je třeba přidat do kompozitorů Wayland. V případě nativních klientů Waylandu musí tato rozšíření podporovat použité widget toolkity (např. GTK, Qt) nebo samotné aplikace, pokud se žádný widget toolkit nepoužívá. V případě aplikací Xorg nejsou potřeba žádné změny v aplikacích nebo widget toolkitech, protože podpora XWaylandu je dostatečná.

Tato rozšíření jsou již zahrnuta ve wayland-protocols a jsou podporována xorg-xwayland.

Související rozšíření jsou:

  • XWayland keyboard grabbing protocol
  • Compositor shortcuts inhibit protocol
  • Relative pointer protocol
  • Pointer constraints protocol

Podpora kompozitorů Wayland:

  • Mutter, kompozitor GNOME od vydání 3. verze.28
  • wlroots podporuje relativní ukazatel a omezení ukazatele

Podpora sad nástrojů widget:

  • GTK od vydání 3.22.18.

Viz také

  • Dokumentace Waylandu online
  • Oficiální Wayland Git Repo
  • Fedora:Jak ladit problémy s Waylandem
  • Úžasné projekty Waylandu
  • Motivy kurzoru
  • Diskuze na fóru Arch Linux
  • Průvodce migrací na i3 – Běžné aplikace X11 používané na i3 s alternativami Waylandu

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.