Wayland

A Wayland egy kijelzőszerver protokoll. Célja, hogy az X Window System utódja legyen. A Wayland és az Xorg összehasonlítása megtalálható a Wikipédián.

A Wayland protokollt használó kijelzőszervereket kompozitoroknak nevezik, mivel kompozit ablakkezelőként is működnek. Az alábbiakban a Wayland kompozitorok listáját találja.

A visszamenőleges kompatibilitás érdekében a régebbi X11 alkalmazások zökkenőmentes futtatásához használható az XWayland, amely X-kiszolgálót biztosít a Waylandben.

Követelmények

A legtöbb Wayland kompozitor csak a Kernel mód beállítását használó rendszereken működik. A Wayland önmagában nem biztosít grafikus környezetet; ehhez szükség van egy kompozitorra is (lásd a következő részt), vagy egy olyan asztali környezetre, amely tartalmaz kompozitort (pl. GNOME vagy KDE).

A GPU-illesztőprogram és a Wayland kompozitor kompatibilitásához ugyanazt a puffer API-t kell támogatniuk. Két fő API létezik: GBM és EGLStreams.

.

Puffer API GPU driver támogatása Wayland compositor támogatása
GBM Minden, kivéve NVIDIA Minden
EGLStreams NVIDIA GNOME, KDE, Weston (harmadik féltől származó javítással)

Compositors

A Tiling és Stacking közötti különbségről lásd: Window manager#Types.

Tiling

  • Cagebreak – A cage alapján, a ratpoison ihlette.

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

  • Cardboard – Gördülő kompozitor, a PaperWM ihlette, a wlroots alapján.

https://gitlab.com/cardboardwm/cardboard || nincs csomagolva? keresés az AUR-ban

  • dwl – dwm-szerű Wayland kompozitor a wlroots alapján.

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

  • japokwm – Dinamikus wayland csempekompozitor, amely az elrendezések létrehozása köré épül, wlroots alapján.

https://github.com/werererer/japokwm || nem csomagolva? search in AUR

  • river – Dynamic tiling Wayland compositor inspired by dwm and bspwm.

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

  • Sway – i3-kompatibilis Wayland compositor based on wlroots.

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

  • Velox – swc alapú egyszerű ablakkezelő, amelyet a dwm és az xmonad ihletett.

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

  • waymonad – Haskell nyelven írt Wayland compositor, amelyet az xmonad ihletett.

https://github.com/waymonad/waymonad || nincs csomagolva? keresd az AUR-ban

Stacking

  • Enlightenment – Lásd Enlightenment#Manually. További információk:

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

  • Greenfield – Webböngészőben fut és képes távoli alkalmazások megjelenítésére.

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

  • Grefsen – Qt/Wayland kompozitor, amely minimális asztali környezetet biztosít.

https://github.com/ec1oud/grefsen || not packaged? search in AUR

  • hikari – a cwm által inspirált wlroots-alapú compositor, amelyet FreeBSD-n aktívan fejlesztenek, de Linuxot is támogat.

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

  • KDE KWin – Lásd KDE#Starting Plasma.

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

  • Liri Shell – A Liri része, a QtQuick és a QtCompositor segítségével készült kompozitor a Waylandhez.

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

  • labwc – wlroots alapú kompozitor, melyet az Openbox ihletett.

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

  • Mutter – Lásd GNOME#Starting.

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

  • wayfire – Compiz által inspirált és wlroots alapú 3D kompozitor.

https://wayfire.org/ || wayfireAUR

  • Weston – egy Wayland kompozitor referencia implementációja.

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

  • wio – wlroots-alapú kompozitor, amelynek célja a Plan 9 Rio desktop kinézetének és hangulatának másolása.

https://wio-project.org/ || nem csomagolva? Keresés az AUR-ban

Más

  • Cage – Egyetlen teljes képernyős alkalmazást jelenít meg, mint egy kioszk.

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

  • Maze Compositor – Ablakokat jelenít meg egy 3D labirintusban a Qt segítségével.

https://github.com/imbavirus/mazecompositor || nem csomagolt? search in AUR

  • Motorcar – Wayland compositor a 3D ablakozás felfedezéséhez a virtuális valóság segítségével.

https://github.com/evil0sheep/motorcar || not packaged? search in AUR

A fentiek közül néhány támogathatja a display managereket. Ellenőrizze /usr/share/wayland-sessions/compositor.desktop, hogyan indulnak el.

Kijelzőkezelők

Az alább felsorolt kijelzőkezelők támogatják a Wayland kompozitorok indítását. A “Típus” oszlop jelzi, hogy a kijelzőkezelő támogatja-e saját maga futtatását Waylanden vagy sem.

Név Típus leírás
GDM Fut Waylanden GNOME kijelzőkezelő.
greetd Login daemon Minimális és rugalmas login daemon.
LightDM Fut az X11-en Cross-desktop display manager.
Ly Fut konzolon C nyelven írt TUI display manager
SDDM Fut X11-en QML alapú display manager.
tbsm Konzolon fut Egyszerű, tiszta bash-ben írt CLI munkamenet indító.

GUI könyvtárak

A részleteket lásd a hivatalos weboldalon.

GTK

A gtk3 és gtk4 csomagokban engedélyezve van a Wayland backend. A GTK alapértelmezés szerint a Wayland backendet használja, de egy környezeti változó módosításával felülbírálható az Xwaylandre: GDK_BACKEND=x11.

Qt

A Wayland támogatás engedélyezéséhez a Qt 5 vagy 6-ban telepítse a qt5-wayland, illetve qt6-wayland csomagot.

A Qt alkalmazás futtatásához a Wayland bővítménnyel , használja a -platform wayland vagy QT_QPA_PLATFORM=wayland környezeti változót. Az X11 használatának kikényszerítéséhez egy Wayland munkamenetben használja a QT_QPA_PLATFORM=xcb. Erre néhány olyan saját fejlesztésű alkalmazásnál lehet szükség, amelyek nem használják a rendszer Qt implementációját, mint például a zoomAUR.

Egyes kompozitorokon, például a swayen, a natívan futó Qt alkalmazásoknak hiányozhat a funkcionalitása. Például a KeepassXC nem lesz képes minimalizálni a tálcára. Ez megoldható a qt5ct telepítésével és az alkalmazás futtatása előtt a QT_QPA_PLATFORMTHEME=qt5ct beállításával.

Clutter

A Clutter eszköztár rendelkezik Wayland backenddel, amely lehetővé teszi, hogy Wayland kliensként fusson. A backend a clutter csomagban van engedélyezve.

A Clutter alkalmazás Waylanden való futtatásához állítsa be a CLUTTER_BACKEND=wayland.

SDL2

A SDL2 alkalmazás Waylanden való futtatásához állítsa be a SDL_VIDEODRIVER=wayland.

Megjegyzés: Sok saját fejlesztésű játék az SDL régi verzióival érkezik, amelyek nem támogatják a Waylandet és teljesen megszakadhatnak, ha beállítja a SDL_VIDEODRIVER=wayland értéket. Az alkalmazás XWaylanddel való futtatásának kikényszerítéséhez állítsa be a SDL_VIDEODRIVER=x11.

GLFW

A GLFW használatához a Wayland backenddel telepítse a glfw-wayland csomagot (a glfw-x11 helyett).

GLEW

A glew-waylandAUR csomag jelenleg még nem működik sok GLEW-alapú alkalmazással, így az egyetlen lehetőség a glew használata az Xwaylanddel. Lásd FS#62713.

EFL

AzEFL teljes Wayland támogatással rendelkezik. EFL alkalmazás futtatásához Waylanden lásd a Wayland projekt oldalát.

winit

A Winit egy ablakkezelő könyvtár Rust nyelven. Alapértelmezés szerint a Wayland háttértárat használja, de egy környezeti változó módosításával felülbírálható az Xwaylandre: WINIT_UNIX_BACKEND=x11.

XWayland

Az XWayland egy X Server, amely Wayland alatt fut. Visszafelé kompatibilitást biztosít a régebbi X11 alkalmazások számára.

A használatához telepítse az xorg-xwayland csomagot.

Az XWayland egy kompozitoron keresztül indul, ezért ellenőrizze az XWayland kompatibilitást és az XWayland indítására vonatkozó utasításokat, az Ön által választott kompozitorral.

Megjegyzés:

  • A biztonságra vonatkozóan:
  • Az Nvidia saját fejlesztésű illesztőprogramja egyelőre nem támogatja az XWayland GPU-gyorsítást. Az XWayland támogatásának állapotáról lásd ezt vagy ezt a pull requestet.

Hibaelhárítás

Színkorrekció

Lásd Backlight#Színkorrekció.

Lassú mozgás, grafikai zavarok és összeomlások

A gnome-shell felhasználók megjelenítési problémákat tapasztalhatnak, amikor X-ről Waylandre váltanak. Az egyik kiváltó ok lehet a saját maga által beállított CLUTTER_PAINT=disable-clipped-redraws:disable-culling az Xorg-alapú gnome-shellhez. Próbáld meg eltávolítani a /etc/environment vagy más rc fájlokból, hátha minden visszatér a normális kerékvágásba.

Cannot open display: :0 with Electron-based applications

Győződj meg róla, hogy nem állítottad be a GDK_BACKEND=wayland értéket. Ennek globális beállítása tönkreteszi az Electron alkalmazásokat.

Remote display

  • (20200206) wlroots (sway által használt) VNC backend-et kínál a wayvncAUR-on keresztül a 0.10-es verzió óta. Az RDP backend eltávolításra került. .
  • (20180401) A mutter mostantól engedélyezi a távoli asztalt fordítási időben, lásd és gnome-remote-desktop a részletekért.
  • A FreeRDP-t 2013-ban beolvasztották a Westonba, amit egy fordítási flag segítségével engedélyeztek. A weston csomagban a 6.0.0 verzió óta engedélyezve van.
  • waypipe-gitAUR egy átlátható proxy a Wayland alkalmazásokhoz, egy SSH-n keresztül futtatható wrapper paranccsal

Input grabbing in games, remote desktop and VM windows

A Xorggal ellentétben a Wayland nem engedélyezi a kizárólagos input eszköz megragadást, más néven aktív vagy explicit grab (e.pl. billentyűzet, egér), ehelyett a Wayland kompozitortól függ, hogy átadja a billentyűkombinációkat, és a mutató eszközt az alkalmazás ablakára korlátozza.

Ez a változás a bemeneti megragadásban megtöri a jelenlegi alkalmazások viselkedését, ami azt jelenti, hogy:

  • A billentyűkombinációkat és módosítókat a kompozitor fogja elkapni, és nem fogja elküldeni a távoli asztal és a virtuális gép ablakaira.
  • Az egérmutató nem lesz az alkalmazás ablakára korlátozva, ami parallaxis-effektust okozhat, amikor az egérmutató helye a virtuális gép vagy a távoli asztal ablakán belül eltolódik a host egérmutatójától.

A Wayland ezt a Wayland és az XWayland protokollbővítésekkel oldja meg. Ezeknek a kiterjesztéseknek a támogatását a Wayland kompozitorokhoz kell hozzáadni. A natív Wayland kliensek esetében a használt widget toolkiteknek (pl. GTK, Qt) kell támogatniuk ezeket a kiterjesztéseket, vagy maguknak az alkalmazásoknak, ha nem használnak widget toolkitet. Xorg-alkalmazások esetében nincs szükség változtatásra az alkalmazásokban vagy a widget toolkitekben, mivel az XWayland-támogatás elegendő.

Ezek a kiterjesztések már szerepelnek a wayland-protocols-ban, és az xorg-xwayland támogatja őket.

A kapcsolódó kiterjesztések:

  • XWayland billentyűzetmegragadási protokoll
  • Compositor shortcuts inhibit protocol
  • Relatív mutató protokoll
  • Pointer constraints protocol

Támogatott Wayland kompozitorok:

  • Mutter, a GNOME kompozitora a 3. kiadás óta.28
  • wlroots támogatja a relative-pointer és pointer-constraints

Támogatja a widget toolkiteket:

  • GTK a 3.22.18-as kiadás óta.

Lásd még

  • Wayland dokumentáció online
  • Official Wayland Git Repo
  • Fedora:
  • Félelmetes Wayland projektek
  • Cursor témák
  • Arch Linux fórum vita
  • i3 Migration Guide – Common X11 apps used on i3 with Wayland alternatives

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.