Wayland (Magyar)
A Wayland egy display server-protokoll. Széles körben az X Window System utódjaként honosodott meg [1] [2] [3] [4]. A Wayland és az Xorg közötti összehasonlítás a Wikipédián található.
A Wayland protokollt használó display szervereket kompozitoroknak nevezik, mivel kompozitáló ablakkezelőként is működnek. Alább található a Wayland kompozitorok listája.
A natív X11 alkalmazások zökkenőmentes futtatásához kompatibilitási rétegként az Xwayland használható, amely egy X-szervert biztosít Wayland alatt.
Követelmények
Az Xorg display szerverrel ellentétben a Wayland csak a protokollt jelenti, tehát nincs általános "display szervere", amelyet fel kellene telepíteni a számítógépre. Használatához csak egy kompatibilis display-illesztőprogramra (ez a szakasz), valamint egy kompozitorra (a következő szakasz) vagy a Wayland protokollt implementáló asztali környezetre (pl. GNOME vagy Plasma) van szükség. A legtöbb Wayland-kompozitor csak kernelszintű módbeállítást használó rendszereken működik.
Ahhoz, hogy a GPU-illesztőprogram és a Wayland-kompozitor kompatibilis legyen egymással, ugyanazt a puffer API-t kell támogatniuk. Két fő API létezik: GBM és EGLStreams.
| Puffer API | GPU driver támogatás | Wayland kompozitor támogatás |
|---|---|---|
| GBM | Összes, kivéve NVIDIA < 495* | Összes |
| EGLStreams | NVIDIA | GNOME < 51** |
- * Az NVIDIA 495-ik illesztőprogram verziója és későbbi verziók már támogatják mind az EGLStreams, mind a GBM használatát.[5]
- ** A GNOME 51-ik verziója megszüntette az EGLStreams támogatását.[6]
Amióta az NVIDIA bevezette a GBM támogatását, azóta számos kompozitor (köztük a Mutter és a KWin) alapértelmezetten ezt kezdte használni az NVIDIA 495 verziója és attól újabb verziói esetén. A GBM-et általában jobb megoldásnak tekintik, szélesebb körű támogatással, az EGLStreams pedig csak azért rendelkezett támogatással, mert az NVIDIA nem biztosított más alternatív módot GPU-inak Wayland alatti használatára a zárt forráskódú illesztőprogramjaival. Továbbá, a KWin megszüntette az EGLStreams támogatását, miután az NVIDIA bevezette a GBM-et.
H Ön egy népszerű asztali környezetet/kompozitort és egy, az NVIDIA által még támogatott GPU-t használ, akkor nagy valószínűséggel már a GBM háttérrendszert használja. Ennek ellenőrzése értekében futtassa a journalctl -b 0 --grep "renderer for" parancsot. A GBM háttérrendszer kikényszerítése érdekében állítsa be a következő környezeti változókat:
GBM_BACKEND=nvidia-drm __GLX_VENDOR_LIBRARY_NAME=nvidia
Kompozitorok
Tekintse meg a Window manager#Típusok szakaszt a Stacking, Tiling és Dynamic közötti különbségekért.
Stacking
- hikari — A cwm által ihletett, wlroots-alapú kompozitor, amely aktívan fejlesztve van FreeBSD rendszeren, és támogatja a Linuxot is.
- KDE KWin — Tekintse meg a KDE#Plasma elindítása című leírást.
- labwc — Openbox által ihletett, wlroots-alapú kompozitor.
- Mutter — Tekintse meg a GNOME#Elindítás című leírást.
- waybox — Egy *box stílusú (minimalista) Wayland kompozitor, amely nagyrészt az Openbox mintájára készült.
- wayfire — A Compiz által ihletett, 3D-s kompozitor, amely a wlroots alapjaira épül.
- Weston — Wayland kompozitor, amely a helyesség, megbízhatóság, kiszámíthatóság és teljesítmény szem előtt tartásával lett megterezve.
- wio — Egy wlroots-alapú kompozitor, amely a Plan 9 Rio asztali környezetének megjelenését és érzetét igyekszik megvalósítani.
- wlmaker — Egy wlroots-alapú kompozitor, amelyet a Window Maker inspirált.
- woodland — Egy minimalista, könnyűsúlyú wlroots-alapú ablakstackelő kompozitor a Wayland számára, amelyet a Wayfire és a TinyWl inspirált.
Tiling
- jay — Egy Wayland kompozitor, Rust programozási nyelven lett írva. Megjelenése az alapértelmezett i3 kinézeten és használati élményen alapul. A Jay beállítható deklaratív TOML fájl segítségével, vagy egy megosztott könyvtárral is beállítható, amelyet a kompozitorba szoktak injektálni.
- IonWL — Manuális csempéző kompozitor. Átfogó Python API segítségével az Ion3 kialakítását követi.
- miracle-wm — Egy Wayland kompozitor, Mir alapokra építve, az i3 és a sway stílusában, azzal a szándékkal, hogy mindkettőnél látványosabb és több funkciót kínáló legyen, hasonlóan a swayfx-hez.
- niri — Egy görgethető csempéző Wayland kompozitor.
- Qtile — Egy teljes funkcionalitású, hackelhető csempéző ablakkezelő és Wayland kompozitor, amely Python nyelven íródott és Python nyelven állítható be.
- SwayFx — Sway, de attól látványosabb felülettel rendelkezik!
- Velox — Egyszerű ablakkezelő, amely az swc-re épül. A dwm és az xmonad ihlette.
Dynamic
- COSMIC kompozitor — A COSMIC asztali környezet kompozitora.
- MangoWM — Egy dwl-alapú kompozitor, szabványos beállításfájllal, opcionális görgethető elrendezéssel és látványos elemek támogatásával.
- Hyprland — Egy dinamikus csempéző Wayland kompozitor, amely nem áldoz a megjelenésére.
- japokwm — Egy dinamikus Wayland csempéző kompozitor, amely wlroots alapokon elrendezések létrehozására épül.
- river-classic — Egy dinamikus csempéző Wayland kompozitor, amelyet a dwm és a bspwm inspirált.
- pinnacle-comp — Egy Smithay-alapú Wayland kompozitor, amelyet az AwesomeWM inspirált, és Lua vagy Rust nyelven állítható be.
Egyéb
- Cage — Egyetlen teljes képernyős alkalmazást jelenít meg, kioszk módban.
- GNOME Kiosk — Egy Mutter-alapú kompozitor, amely olyan környezetet biztosít, amely alkalmas rögzített célú vagy egyalkalmazásos telepítésekhez, például fali kijelzőkhöz és értékesítési pont (POS) rendszerekhez.
- phoc — Egy kis méretű wlroots-alapú kompozitor mobileszközökhöz.
- Wayback — Egy X11 kompatibilitási réteg, amely lehetővé teszi teljes X11 asztali környezetek futtatását Wayland komponensek használatával. Kísérleti jellegű. Korai szakaszában van a fejlesztése.
- River — Egy nem monolitikus Wayland kompozitor. Más Wayland kompozitorokkal ellentétben nem egyesíti a kompozitort és az ablakkezelőt egyetlen programba. Ehelyett a felhasználók bármilyen ablakkezelőt választhatnak, amely megvalósítja a river-window-management-v1 protokollt.
A fentiek közül némelyik támogathat display managereket. Ellenőrizze a /usr/share/wayland-sessions/compositor.desktop fájlt annak megtekintéséhez, hogy miként indulnak el.
Display manager programok
Az alább felsorolt display manager programok támogatják a Wayland kompozitorok elindítását.
| Név | Amin fut | Leírás |
|---|---|---|
| atriumAUR | Wayland | Elsőosztályú display manager amely multi seat (többüléses) támogatással rendelkezik. (Magyarul: Egy számítógéphez több felhasználói munkaállomás -seat- kapcsolódhat). |
| emptty | tty | Egyszerű CLI display manager TTY alatt. |
| GDM | Wayland | GNOME display manager. |
| greetd | Wayland/Xorg/tty
Tekintse meg a Greetd#Greeters című leírást. |
Minimális és rugalmas login szolgáltatás. |
| lemurs | tty | Rust programozási nyelven megírt TUI display manager. |
| lidmAUR | tty | Teljesen színes, testre szabható, C programozási nyelven készült TUI display manager. |
| LightDM |
Xorg[7] |
Több asztali környezetet támogató display manager. |
| ly | tty | Zig programozási nyelven írt TUI display manager. |
| Plasma Login Manager | Wayland | KDE display manager. |
| SDDM | Wayland/Xorg | QML-alapú display manager. |
| tbsmAUR | tty | Egyszerű CLI munkamenet-indító, tiszta Bash nyelven írva. |
| uwsm | tty | Munkamenet- és XDG automatikus indításkezelő az önálló kompozitorok számára.
TUI menüt biztosít, de más display manager programokkal is használható. |
Xwayland
Az Xwayland(1) egy X-szerver, amely a Wayland alatt fut, és kompatibilitást biztosít a natív X11 alkalmazások számára, amelyek még nem rendelkeznek Wayland támogatással. A használata érdekében telepítse fel a számítógépre az xorg-xwayland szoftvercsomagot.
Az Xwayland egy kompozitoron keresztül indul el, ezért ellenőrizze az Ön által választott kompozitor dokumentációját az Xwayland kompatibilitással és az Xwayland indítására vonatkozó utasításokkal kapcsolatban.
Alapértelmezés szerint az Xwayland az X-szerverét rootless módban futtatja.
- Biztonság: Az Xwayland egy X-szerver, ezért nem rendelkezik a Wayland biztonsági funkcióival.
- Teljesítmény: Az Xwayland teljesítménye a legtöbb esetben közel azonos az X11 teljesítményével.
- Kompatibilitás: Az Xwayland nem teljesen kompatibilis visszafelé az X11 protokollal. Egyes alkalmazások nem feltétlenül működnek megfelelően Xwayland alatt.
Wayback
A Wayback (wayback-x11AUR, wayback-x11-gitAUR) egy X11 kompatibilitási réteg, amely lehetővé teszi teljes X11 asztali környezetek futtatását Wayland komponensek használatával. Célja, hogy idővel lecserélje a klasszikus X.Org szervert, ezáltal csökkentve az X11 alkalmazások karbantartási terhét.
NVIDIA illesztőprogram
Szükséges a DRM KMS engedélyezése. Lehet, hogy Ön további információkat talál a hivatalos dokumentációban az Ön saját display manager programjával kapcsolatban. (Például: GDM).
Xwayland alkalmazások felismerése
Annak megállapítása érdekében, hogy egy alkalmazás az Xwayland szerveren keresztül fut-e éppen, használhatja az xorg-xeyes szoftvercsomagból származó xeyes programot: A szemek mozognak, amikor az egérmutatót egy alkalmazásablak fölé viszi.
Egy másik lehetőség az xwininfo (az xorg-xwininfo csomagból) futtatása egy terminálablakban: Amikor egy Xwayland-ablak fölé viszi a mutatót, akkor az egérmutató + jellé változik. Ha rákattint az ablakra, az megjelenít néhány információt, majd befejeződik, de a natív Wayland-ablakokkal nem csinál semmit. A leállítása érdekében használhatja a Ctrl+C billentyűkombinációt.
Használhatja az xlsclients programot is (amely benne van az xorg-xlsclients szoftvercsomagban). Az Xwayland szerveren keresztül futó összes alkalmazás kilistázása érdekében futtassa a xlsclients -l parancsot.
Alternatív megoldásként Ön elindíthatja az extramausAUR programot, majd az egérmutatót egy alkalmazás ablaka fölé viheti. Ha a piros egér mozog, akkor az azt jelenti, hogy az alkalmazás Xwaylanden keresztül fut.
GUI függvénykönyvtárak
GTK
A gtk3 és gtk4 szoftvercsomagoknál a Wayland háttérprogram engedélyezve van. A GTK alapértelmezés szerint a Wayland háttérprogramot használja, de ez felülbírálható az Xwayland használatára a GDK_BACKEND=x11 környezeti változó módosításával.
A témákkal (kinézetekkel) kapcsolatos problémákért tekintse meg a GTK#Wayland backend című leírást.
Qt
A Qt 5 Wayland támogatásának engedélyezése érdekében telepítse fel a számítógépre a qt5-wayland szoftvercsomagot. Ezt követően a Qt 5 alkalmazások Wayland alatt fognak futni egy Wayland-munkamenetben.
Bár erre elvileg nincs szükség, egy Qt alkalmazás Wayland bővítménnyel történő kifejezett futtatásához [8] használja a -platform wayland vagy a QT_QPA_PLATFORM=wayland környezeti változót.
A Wayland-munkamenetben az X11 használatának kikényszerítéséhez használja a QT_QPA_PLATFORM=xcb beállítást.
Erre szükség lehet egyes zárt forráskódú alkalmazások esetében, amelyek nem a rendszer Qt-implementációját használják.
Ha a Wayland nem érhető el, akkor a QT_QPA_PLATFORM="wayland;xcb" lehetővé teszi, hogy a Qt az xcb (X11) bővítményt használja helyette.[9]
A Qt WebEngine hibája miatt (amely Wayland alatt töredékes méretezés használatakor helytelen méretezést és hibás szövegmegjelenítést okoz) a 6.8.0 előtti Qt WebEngine-et használó alkalmazások (például a Calibre) recés betűtípusokat jeleníthetnek meg. Kerülőmegoldásként indítsa az alkalmazást a QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor beállítással.
Clutter
A Clutter eszközkészlet rendelkezik Wayland háttérrendszerrel, amely azt teszi lehetővé, hogy a Wayland kliensként fusson. A háttérrendszer engedélyezve van a clutterAUR szoftvercsomagban.
Egy Clutter alkalmazás Wayland alatti futtatása érdekében állítsa be a CLUTTER_BACKEND=wayland értéket.
SDL
Az SDL3 esetében alapértelmezés szerint a Wayland használatos, amennyiben a kompozitor támogatja a fifo-v1 protokollt. [10] Ellenkező esetben az X11 és a Wayland kerül kipróbálásra ebben a sorrendben. Bármelyik kikényszeríthető az SDL_VIDEO_DRIVER=x11, illetve az SDL_VIDEO_DRIVER=wayland környezeti változók használatával (vagy alacsonyabb prioritással az alábbi SDL2 környezeti változóval)[11].
Az sdl2-compat szoftvercsomag a fenti SDL3-szabályokat követi, az alkalmazásspecifikus kivételeket leszámítva. Ami a tényleges SDL2-t illeti (például az sdl2AUR szoftvercsomagot), állítsa be az SDL_VIDEODRIVER=wayland változót.
Az SDL_VIDEODRIVER="wayland,x11" lehetővé teszi az SDL2 számára, hogy az x11 videóillesztőt használja helyette, amikor a Wayland nem érhető el.[12] Önnek érdemes lehet feltelepítenie a libdecor szoftvercsomagot is az ablakdekorációk engedélyezése érdekében (például a GNOME esetében).
További részletekért tekintse meg a hivatalos dokumentációt.
GLFW
A glfw szoftvercsomag támogatja a Wayland protokollt, és a Wayland háttérrendszert használja, amikor az környezeti változó XDG_SESSION_TYPE értéke wayland, és az alkalmazás fejlesztője nem állított be egy konkrétan kívánt háttérrendszert.
További információkért tekintse meg a forráskódot.
GLEW
Ha a glew-wayland-gitAUR szoftvercsomag nem működik a szükséges, GLEW-alapú alkalmazásokkal, akkor lehetőségként a glew használható Xwaylanddal. Tekintse meg az FS#62713 hibát.
EFL
Az Enlightenment teljes körű Wayland-támogatással rendelkezik.
Egy EFL-alapú alkalmazás Waylanden történő futtatása érdekében állítsa be az ELM_DISPLAY=wl változót.
winit
A Winit egy Rust programozási nyelven írt ablakkezelő függvénykönyvtár. Alapértelmezés szerint a Wayland háttérrendszert használja, de környezeti változók módosításával felülbírálható annak érdekében, hogy Xwaylandet használjon:
- A 0.29.2 előtti verziók esetén állítsa be a
WINIT_UNIX_BACKEND=x11változót. - A 0.29.2-es és újabb verziók esetén szüntesse meg a
WAYLAND_DISPLAYváltozó beállítását, ami aDISPLAYváltozó használatával X-re való visszaállást kényszerít ki. [13]
Electron
A Wayland támogatás parancssori kapcsolók vagy egy környezeti változó használatával aktiválható.
Parancssori kapcsolók
A Wayland alatti működéshez szükséges parancssori kapcsolókat Ön megtekintheti a Chromium#Native Wayland support című szakaszban. Vegye figyelembe, hogy a --ozone-platform-hint=auto parancssori kapcsoló az Electron 38 verziója óta nem működik.
Ezeket a kapcsolókat Ön megadhatja manuális úton (tartósan megmaradva beállíthatja egy Electron beállításfájlban), vagy felülírhatja az alkalmazás .desktop fájlját a ~/.local/share/applications könyvtárban (azáltal, hogy a kapcsolókat hozzáadja az Exec= sor végéhez).
Az Electron alapértelmezetten engedélyezi a PipeWire programon keresztüli WebRTC képernyőfelvételt. A képernyőfelvétel az xdg-desktop-portal szoftvercsomagon alapul.
A hiányzó címsorok esete megoldható a következő használatával: --enable-features=WaylandWindowDecorations. Erre jellemzően GNOME alatt van szükség. (Támogatott az electron17 verziója óta).
Környezeti változó
Az Electron 28 és 37 közötti verzióit használó alkalmazások használhatják az ELECTRON_OZONE_PLATFORM_HINT környezeti változót, amelyet auto vagy wayland értékre kell beállítani.
Ennek alacsonyabb prioritása van, mint a parancssori kapcsolóknak.
Java
Az OpenJDK (amely a Java platform nyílt forráskódú implementációja) még nem rendelkezik natív Wayland-támogatással. A Wakefield projekt egy WLToolkit nevű komponensen dolgozik, amely Wayland-támogatást ad az OpenJDK számára.
Amíg a WLToolkit nem kerül be a stabil OpenJDK implementációba, addig Ön több lehetőség közül választhat:
- Használja az XWayland szervert. Az XWayland azonban nem rendelkezik teljes funkcionalitásbeli egyenértékűséggel a Wayland protokollal, és előfordulhat, hogy bizonyos alkalmazásoknál (például a netbeans és az oracle-datamodelerAUR esetében) semmi sem jelenik meg.
- Tekintse meg a Debian:Wayland#Java Programs (supported since OpenJDK 16?) leírást:
- Az OpenJDK 16. verziójától kezdődően a JRE dinamikusan be tudja tölteni a GTK3 grafikusfelület-keretrendszert (amely rendelkezik Wayland-támogatással). Úgy tűnik, hogy ez támogatott lehet ezen beszélgetés szerint.
- A
_JAVA_AWT_WM_NONREPARENTINGkörnyezeti változó "1" értékre állítható az olyan hibás működés kijavítása érdekében, mint például ahol az alkalmazás üres képernyővel indul.
- Használja a Wakefield fejlesztési folyamatban lévő
jdk25-waylandágát. Egyes programok (például a JetBrains IDE környezetek pontosan ezt teszik) így alapértelmezetten támogatják a Wayland protokollt.
Más Java-programok esetében Önnek saját Wakefield-fordítást kell használnia (például a jdk-openjdk-wakefieldAUR szoftvercsomagot). Ennek használata érdekében állítsa aJAVA_HOMEváltozót a/usr/lib/jvm/java-25-openjdk-wakefieldútvonalra, és futtassa a programot a-Dawt.toolkit.name=WLToolkitkapcsolóval.
Tippek és trükkök
Automatizálás
-
ydotool(1) — Általános, parancssorban működő, automatizálásra használható program (nem korlátozódik a Wayland protokollra). Engedélyezze/indítsa el a
ydotool.serviceuser unit-fájlt.
- wtype(1) — xdotool gépelés Wayland számára.
- keyboard — Python könyvtár billentyűzetesemények rögzítéséhez és szimulálásához.
- mouse — Python könyvtár egéresemények rögzítéséhez és szimulálásához.
- wlrctl — Parancssori segédprogram különféle wlroots kiterjesztésekhez (támogatja a foreign-toplevel-management, virtual-keyboard, virtual-pointer felületeket).
- CrossMacro — Keresztplatformos asztali automatizációs alkalmazás makrófelvétellel, lejátszással, ütemezéssel, szövegkibontással, parancssorban működő programokkal, valamint Wayland/X11-kompatibilis Linux támogatással.
Billentyűzet vagy egérgombok átrendezése
Tekintse meg a Bemeneti eszközök átrendezésére szolgáló segédprogramok című oldalt.
Screencast
Tekintse meg a Screen capture#Screencasting és Screen capture#Screencast Wayland windows with X11 applications című leírásokat.
Vágólap megőrzése alkalmazás bezárása után
A Wayland tervezési filozófiája miatt a vágólap adatai a forráskliensprogram memóriájában tárolódnak. Amikor a kliensprogram bezárul, a vágólap adatai elvesznek. Ezt a problémát a wl-clip-persist szoftvercsomag használatával lehet megoldani, amely a háttérben futva kiolvassa a vágólap adatait, és a saját memóriájában tárolja el azokat, elkülönítve a forráskliensprogramot.
Wayland kompozitor automatikus indítása systemd szolgáltatásként
Ha nem kíván display manager programot vagy parancssort használni, akkor a Wayland kompozitort systemd szolgáltatásként is automatikusan elindíthatja. Állítsa be az ExecStart sort a használni kívánt kompozitornak megfelelően. Íme egy példa a KDE Plasma esetére:
/etc/systemd/system/wayland-compositor.service
[Unit] After=graphical.target systemd-user-sessions.service modprobe@drm.service Conflicts=getty@tty1.service [Service] User=username WorkingDirectory=~ PAMName=login TTYPath=/dev/tty1 UnsetEnvironment=TERM StandardOutput=journal ExecStart=/usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland [Install] WantedBy=graphical.target
Más renderelő használata wlroots-alapú kompozitor számára
Ön használhat egy másik wlroots renderert, például a Vulkan renderert (a WLR_RENDERER környezeti változó megadásával a wlroots-alapú kompozitor számára). Az elérhető rendererek listája a wlroots dokumentáció oldalán található.
Elsődleges grafikus kártyák megadása wlroots-alapú kompozitoron
Ha az Ön számítógépe hibrid grafikus rendszerrel rendelkezik, akkor a WLR_DRM_DEVICES környezeti változót használhatja az elsődleges grafikus kártyák megadására a wlroots dokumentáció szerint.
Példa:
WLR_DRM_DEVICES='/dev/dri/card1:/dev/dri/card2:/dev/dri/card0'
Távoli megjelenítés
- A wlroots0.18 és a wlroots0.19 (amit a sway használ) VNC háttérrendszert kínál a wayvnc segítségével 0.10-es verzió óta. Az RDP háttérrendszer eltávolításra került [14].
- A mutter esetén a távoli asztal mostantól fordítási időben engedélyezett. Tekintse meg ezt, valamint a gnome-remote-desktop szoftvercsomagot a részletekért.
- A krfb VNC szervert kínál a kwin számára. A
krfb-virtualmonitorarra használható, hogy Ön egy másik eszközt extra monitorként állítson be. - 2013-ban a FreeRDP fordítási kapcsolóval engedélyezhetően beolvasztásra került a Weston szoftvercsomagba. A weston szoftvercsomag 6.0.0 verzió óta engedélyezve tartalmazza.
- A waypipe egy átlátszó proxy Wayland alkalmazások számára, amely egy wrapper parancsot biztosít az SSH protokollon keresztüli futtatás számára.
- Íme egy példa egy távoli KDE kcalc elindítására Plasma alatt:
$ waypipe ssh example.local env QT_QPA_PLATFORM=wayland QT_QPA_PLATFORMTHEME=KDE dbus-launch kcalc
Hibaelhárítás
Először, győződjön meg arról, hogy az aktuális munkamenet X11 helyett Wayland alatt fut (sok kompozitor mindkettőt támogat).
Ez ellenőrizhető a WAYLAND_DISPLAY környezeti változó megvizsgálása által (ennek wayland- kezdetűnek kell lennie), és/vagy annak ellenőrzése által, hogy az XDG_SESSION_TYPE értéke wayland.
A alkalmazással kapcsolatos (esetleg felmerülő) problémák esetén azt is érdemes ellenőrizni, hogy az alkalmazás XWayland alatt fut-e.
Hasznos programok
- A
wayland-infoa wayland-utils szoftvercsomagból: Megjeleníti az aktuális kompozitorral kapcsolatos információkat. - wev: A Wayland események hibakeresésére szolgál egy Wayland ablakban. Az X11 xev program analógja.
- wlopm: Wayland kimeneti energiagazdálkodás olyan kompozitorok számára, amelyek támogatják a wlr output power management protokollt.
- wlr-randr: Kezeli a Wayland kompozitorok kimeneteit, amelyek támogatják a wlr output management protokollt.
Színkorrekció
Tekintse meg a Háttérvilágítás#Színkorrekció című leírást.
GNOME: Lassú mozgás, grafikai hibák é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 CLUTTER_PAINT=disable-clipped-redraws:disable-culling, amelyet Ön állított be az Xorg-alapú gnome-shell számára. Egyszerűen próbálja meg eltávolítani a /etc/environment fájlból vagy más rc fájlokból, hogy meglássa, vajon minden visszaáll-e a normális működésre.
Bemenet elfogása a játékokban, távoli asztal esetében és virtuális gépek ablakaiban
Az Xorg szerverrel ellentétben a Wayland nem teszi lehetővé a bemeneti eszközök kizárólagos elfogását, más néven aktív vagy explicit grab-et (pl. billentyűzet, egér), ehelyett arra támaszkodik, hogy a Wayland kompozitor továbbítsa a billentyűparancsokat, és az egérmutatót az alkalmazás ablakára korlátozza.
Ez a változás a bemenet elfogásában megtöri a jelenlegi alkalmazások viselkedését, ami azt jelenti, hogy:
- A gyorsbillentyű-kombinációkat és a módosító billentyűket a kompozitor fogja elfogni, és nem kerülnek továbbításra a távoli asztal és a virtuális gép ablakai felé.
- Az egérmutató nem lesz az alkalmazás ablakára korlátozva, ami parallax-hatást okozhat, ahol az egérmutató helyzete a virtuális gép vagy távoli asztal ablakában el van tolva a gazdagép egérmutatójához képest.
A Wayland ezt úgy oldja meg, hogy Wayland számára és Xwayland számára protokollkiterjesztéseket ad hozzá. Ezeknek a kiterjesztéseknek a támogatását a Wayland kompozitorokhoz kell hozzáadni. Natív Wayland kliensek esetén a használt widget eszközkészleteknek (pl. GTK, Qt) kell támogatniuk ezeket a kiterjesztéseket, vagy maguknak az alkalmazásoknak kell támogatniuk, amikor azok nem használnak widget eszközkészletet. Xorg alkalmazások esetén nincs szükség módosításokra sem az alkalmazásokban, sem a widget eszközkészletekben, mivel az Xwayland támogatás önmagában elegendő.
Ezek a kiterjesztések már szerepelnek a wayland-protocols szoftvercsomagban, és támogatottak az xorg-xwayland által.
A kapcsolódó kiterjesztések a következők:
- Xwayland billentyűzetelfogási protokoll
- Kompozitor gyorsbillentyűkizárási protokoll
- Relatív pointerprotokoll
- Pointerkorlátozási protokoll
Támogatott Wayland kompozitorok:
- Mutter, a GNOME kompozitora a 3.28 verziószámú kiadás óta.
- A wlroots, amely támogatja a relatív pointert és a pointerkorlátozásokat.
- Kwin
Támogatott widget eszközkészletek:
- A GTK a 3.22.18 verzió megjelenése óta.
Nem működnek a GTK témák
Tekintse meg a következő linken a "GTK 3 beállítások a Waylanden" című leírást: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
NVIDIA modulok betöltésének elkerülése
Egy Wayland kompozitor indítása előtt (például sway) adja hozzá környezeti változóként a __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json változót.
Képernyőnagyítás/képernyőfelület görgetése
A képernyőnagyítás még nincs megoldva. Egy pull request 2022 közepén beolvasztásra került amely a wp-surface-scale protokollt biztosítja.
Wayland késleltetés/akadozás a 6.11.2-es kernel óta (AMD)
Amíg ez a probléma a jövőbeli kernelkiadásokban nem lesz kijavítva, addig kerülő megoldásként a cmdline-hoz hozzá kell adni az amdgpu.dcdebugmask=0x400 utasítást.
Tekintse meg: https://community.frame.work/t/wayland-lag-stuttering-since-kernel-6-11-2/59422
Játékok / alkalmazások felfüggesztve virtuális asztal váltásakor
Munkaterület váltásakor vagy az Alt+Tab használatakor a játékok (és esetleg más grafikus alkalmazások) felfüggesztésre kerülnek, valamilyen furcsa állapotba kerülnek, és (részben) leállnak. Ez magában foglalja a VRR alkalmazásokat és a bekapcsolt VSync-kel rendelkező alkalmazásokat is, de nem kizárólag ezekre korlátozódik. A tünetek közé tartozik például a hang részleges kimaradása, a játék előrehaladásának leállása, a ping idő jelentős megnövekedése vagy a hálózat megszakadása, de csak akkor, ha az ablak nincs fókuszban. Ez csak azokat az alkalmazásokat érintheti, amelyeknél a VSync be van kapcsolva.
Lehetséges, hogy egyes játékok ezt a problémát úgy kerülik meg, hogy ablakos módra váltanak, de egyesek ezt nem teszik meg. Ez rendkívül zavaró a komplexebb játékok esetében, amelyeknél erősen szükséges a webes böngészés, a dokumentációk használata és a harmadik féltől származó eszközök alkalmazása, illetve akkor is rendkívül zavaró, amikor a játékmenet valamilyen okból megszakad.
Lehetséges kerülő megoldás a MESA_VK_WSI_PRESENT_MODE=immediate környezeti változó beállítása és/vagy a vk_xwayland_wait_ready=false használata, azonban ezek beállítása esetén a VSync vagy a VRR implementációk működése megszűnik.
További olvasnivaló a témában
- Wayland documentation online
- Official repository
- Fedora:How to debug Wayland problems
- We are Wayland now! - An updated version of "Are we Wayland yet?"
- Awesome Wayland projects
- Cursor themes
- Arch Linux forum discussion
- i3 Migration Guide - Common X11 apps used on i3 with Wayland alternatives
- Wayland Explorer - A better way to read Wayland documentation
- How can I tell if an application is using XWayland