Portál AbcLinuxu, 12. května 2025 12:41

Dotaz: Vztah mezi Wayland, Xorg, X11

24.1.2017 01:26 gld17 | skóre: 4 | blog: GLDiuv_blog
Vztah mezi Wayland, Xorg, X11
Přečteno: 2046×
Odpovědět | Admin
Dobrý den, chtell bych si v mateřštině trochu víc ujasnit vztah mezi těmito entitami. Chápu správně, že:

X11 je pouze protokol.

Xorg protokol X11 implementuje. XServer vykresluje grafiku na zaklade zprav z XClienta.

Xorg v te nejzakladnější konfiguraci bez Window Managera vypadá jako takova ta věc, co se spustí při startx a jsou tam jen dvě grafické konzole, nedá se tam nic dělat a celé to graficky vypadá jako cosi ze začátku 90. let.

Shrnuti: Xorg je hned ten úplně nejprvější layer nad "linuxem", nic grafického pod ním už není.

Teď Wayland. Není mi jasné, jestli Wayland zcela nahrazuje Xorg, nebo ho nějakým způsobem doplňuje. Až wayland úplně nahradi Xorg, znamená to, ze je konec s věcma typu xorg.conf atp.?

Xorg si nějakým způsobem spravuje svje vlastní grafické ovladače. Jedna část ovladačů pro grafiku je přímo v jádře a dále Xorg má jakousi svou vlastní část, je to tak?

Toto by Wayland tedy rovněž nahradil?

Děkuji
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.1.2017 05:45 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Odpovědět | | Sbalit | Link | Blokovat | Admin
Xorg ke své práci potřebuje kernel drivery, což může být klasický framebuffer (textová konzole) nebo DRM driver (který se stará o DMA přenosy, synchronizaci apod.). Driver v Xorg pak tohle DRM API používá pro přímou komunikaci s hardwarem (což zrychluje operace). Dříve jsi ještě musel vybrat správný kernel ovladač pro AGP můstek v čipsetu.

Samotný kernel framebuffer (/dev/fbX) můžeš používat jako textovou konzoli a jsou i nějaké experimentální implementace GTK, kdy nepotřebuješ Xorg (aplikace ti jede jen nad kernel framebufferem). Jsou i další aplikace, které umí vykreslovat v čistém framebufferu, například "mplayer -vo fbdev2", tuším links a pak nějaké zobrazovače obrázků ... boot splashscreen je většinou ve framebufferu (nebo kernel kreslí malé tuxy per core). DRM driver většinou implementuje framebuffer taky.

Když spustíš Xorg s programy bez window manageru (stačí třeba "X :1"), tak nemáš jak interagovat s rozměry a focusem oken (ale samotná okna jsou vidět - myslím že bez dekorace). Často bejvá na pozadí taková šachovnice a kurzor ve tvaru "X" (to přenastavuje většinou ten WM přes funkce v X11 protokolu).

Wayland (protokol) je něco jako kompletní předělání řešení GUI v linuxu. U X11 všechny okna v systému spravoval jeden systém (z 80. let), což mohlo vést k tomu, že si aplikace mohly odposlouchávat sousedy, zasahovat do grafiky ostatním apod. Když se pak ke konci 90. let objevilo OpenGL, tak se musely dělat speciální "zkratky", aby se elementy GUI mohly renderovat přímo na GPU a zároveň si na GPU nelezly do zelí (proto to DRM - direct rendering manager). Ve Waylandu si každá aplikace renderuje vlastní okno sama (třeba přes GTK, Qt, apod.) a wayland kompozitor se pak stará o to, kdo bude příjemce zpráv apod.

Wayland protokol tedy není kompatibilní s X11 prokolem, ale existuje implementace X serveru, která běží jako jedna "aplikace" nad wayland protokolem (z původního Xorgu je pak něco na úrovni GTK). Nevím jak kvalitní implementace to ale je, Wayland je stále dost experimentální.

Xorg i Wayland píšou stejní lidé. Wayland není revoluční násilná změna, ale IMO postupná evoluce, kdy aplikace postupně přejdou na Wayland. Dokonce GTK a Qt aplikace by si toho neměly ani všimnout, protože se jen přidá podpora pro další backend (která už IMO je). Kód z například xf86-video-amdgpu se nejspíš přesune z části do wayland kompozitoru, Mesa3D a/nebo zanikne (protože ten kód už nikdo nepoužije - například Weitek "GPU" karta z 1993 už nemá v Xkách driver tak od roku 2000 a to měla v sobě akcelerační funkce pro X11 protokol). Kód toho základního neakcelerovaného framebufferu (xf86-video-fbdev) je už dnes prakticky jen posílání příkazů kernel driveru a alokace bitmap.

Když jsem tuhle kompiloval Xorg server, tak třeba Wayland driver pro vstup (libinput) tam byl taky. DRM kernel drivery zůstanou stejné, protože těch se to netýká (maximálně vydají novější verze API ;-) ). Mesa3D (implementace OpenGL driverů pro GPU) je už dnes kompatibilní s Xorg i Waylandem, takže se akorát v budoucnu nejspíš vypustí.

Konfigurace Waylandu asi bude trošku jiná (nevím Wayland do Slackware ještě nedorazil), ale on i ten Xorg dneska xorg.conf prakticky nepotřebuje (má autodetekci a COM myši jsem přestal používat už i já :-D).

Kdyžtak se koukni na wikipedii, tam jsou grafy závislostí mezi komponentami.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
24.1.2017 08:49 ika
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Zdravím. Na Waylandu mi není jasná jedna věc - pokud jsou okna aplikací "isolované", tak jak potom můžou fungovat aplikace jako xev, easystroke (globální gesta myší), snímání obrazovky v gimpu nebo v xv? Pokud budu muset používat nějakou další vrstvu pro kompatibilitu s xorg proto, abych mohl normálně pracovat, pak jaký má celý Wayland smysl? Kromě toho zrovna ta funkce, která umožňuje grafické kejkle v gnomeshellu (myslím se to jmenuje kompositor), ta mi je zcela ukradená, na dwm ji asi k ničemu potřebovat nebudu.
24.1.2017 09:00 MadCatX
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Předávání eventů aplikacím, snímání obrazovky a podobně by měl ve Waylandu obsluhovat kompozitor. Docela dobrý přehled Waylandí architektury je zde: https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#/media/File:Wayland_display_server_protocol.svg
24.1.2017 09:21 ika
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Tohle heslo na Wikipedii ve mně vzbuzuje spíše dojem, že se to ještě horší mišmaš než X11. Stejně jsem z toho nic nepochopil. Už vůbec ne, jak dopadnou aplikace, které nepoužívají gtk nebo qt toolkity.
24.1.2017 10:43 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
jak dopadnou aplikace, které nepoužívají gtk nebo qt toolkity.
Pro ty tam bude jednoduchý X server. Vlastně by se to dalo přirovnat k tomu, že X11 bude teďka podobnej toolkit jako GTK.
Fluttershy, yay! avatar 24.1.2017 16:31 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
No, ano.

Bude se pro to muset definovat protokol, který bude implementovaný v kompozitoru. Problém je, že ti vývojáři to teď neřeší a berou to jako detail na jindy. Takže nejspíš vznikne víc nekompatibilních alternativ, ze kterých po letech snad zbude jedna, která se nějak standardizuje. Ono to kdysi bylo s X.Org a tehdejšími DE podobné, ale lidé se zjevně chybami neučí.
🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
pavlix avatar 24.1.2017 16:59 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Problém je, že ti vývojáři to teď neřeší a berou to jako detail na jindy.
To je klasický problém spousty těch novinek, že to má spoustu nedostatků, které se údajně někdy budou řešit, takže já jako uživatel abych používal něco, co nefunguje ani na úrovni blízké předchozímu řešení.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
24.1.2017 17:52 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Oni někde Wayland tlačí do nějaké distribuce bez možnosti vrátit Xorg?
pavlix avatar 24.1.2017 17:59 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Já osobně používám Gentoo, které je velmi přívětivé vůči konzervativním uživatelům, takže spíše komentuju obecnou tendenci než konkrétní problémové zkušenosti.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
25.1.2017 05:28 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Aha, no doufám, že Wayland bude vyjímka ;-).
25.1.2017 08:11 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Z letmého pátrání se mi zdá, že Wayland nějak závisí na systemd, kterážto věc se standardně v Gentoo nevyskytuje, takže při pokusu spustit KDE nad Waylandem se dočkám jen černé obrazovky.
Užívej dne – možná je tvůj poslední.
25.1.2017 08:41 MadCatX
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Samotný Wayland na systemd určitě nijak nezávisí. Weston má systemd jako volitelnou závislost, KDEčka možná používají služby systemd pro session tracking...
pavlix avatar 25.1.2017 10:11 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Wayland má na systemd normálně use flag, takže netuším, co se tu řeší. Jak to souvisí s černou obrazovkou v KDE, netuším, ale hádám že vůbec.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 25.1.2017 10:17 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Zatím nic nenasvědčuje tomu, že by měl být Wayland výjimka. V komunitě běží naprosto stejný scénář. Výmluvy, výmluvy a výmluvy. Jednou jsem divný a používám na Xorg divné věci, co nikdo jiný nepoužívá, podruhé je všechno už dávno vyřešené, potřetí se všechno určitě včas vyřeší. Člověk, který si dovolí mít pochybnosti ohledně funkcionality, kterou dnes s Xorg denně používá, je slovně napadán a je mu naznačováno, že stejně tahá za slabší konec a bude muset nakonec přejít ať chce nebo nechce.

Podobnost se systemd čistě náhodná. :) A to, že obojí aktivně podporují stejní hráči na trhu v čele s Intelem, celé věci zase tak moc nepomáhá. :D
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
25.1.2017 10:48 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Zas nebuď tak pesimistický ;-).

Wayland tu je skoro 5 let a za tu dobu se nikam nenacpal stylem: bez jeho použítí musíte forknout související knihovnu (eudev) jinak ani nenabootujete. Spolupracuje taky s Mesou a driverama a implementuje vrstvu zpětné kompatibility.

Ovšem v něčem se mě taky nelíbí, například v tom renderovacím overheadu, problému s framebuffer only HW, screenshoty "root window" a tom, že bude existovat kýbl kompozitorů, z nichž budou mít všechny různé bugy a nedodělky.
24.1.2017 10:41 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Nejspíš se ty gesta a debugovací utility budou muset implementovat na společné vrstvě, což je wayland kompozitor. Ale řekl bych, že ten protokol bude bezpečnější než to odposlouchávat na X11 (cokoliv je bezpečnější :-D).

Stejnej problém je třeba nahrávání videa z celé plochy. I když to by se třeba mohl vracet framebuffer z GPU.

Další vrstva pro kompatibilitu s Xorgem tam bude jen do té doby než ty aplikace někdo předělá. Z aplikací co jsem pracoval a asi by měly problém to budou věci jako xterm, xeyes, xclock, xcalc (žádný toolkit), FPGA editor (Motif = blésmrt, řekl bych zhyň, ale byl bych bez padajícího nerefreshujícího a lagujícího editoru :-D) a můj touchscreen calibrator s afinní transformací. Všechny ostatní věci co používám jsou QT, GTK apod a ty závisej jen na tom až někdo udělá wayland backend do knihovny. Používáš nějaké aplikace, které jedou bez toolkitu na X11 protokolu (nebo na tak starém toolkitu, že ho nikdo nebude přepisovat)?

Jako mě wayland taky připadá, že má strašně moc velkej overhead (mám i stroje s hloupým framebufferem). Rozhodně bych si ho zatím neinstaloval.
24.1.2017 11:16 ika
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Mám spoustu aplikací (v práci) napsaných v xforms toolkitu. Plus několik čistých "x" aplikací, sem tam nějaký Motif. Silně pochybuji, že by to někdy někdo přepsal pro wayland. Spíš než zcela nový a nekompatibilní bazmek bych přivítal nějaká lehkotonážní X-ka. Povídačky o (ne)bezpečnosti X11 jsou směšné - Linux mi už hackli přes Firefox, přes javu a možná přes flash. Nikdy přes X11. Dokud jsou nezabezpečené věci jako machine service mode a tisíc jiných, pak nechápu, proč si někdo dělá hlavu s X11.

24.1.2017 13:45 MadCatX
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Pro staré aplikace vyžadující X11 je připraven XWayland. X11 nemá problémy jen v oblasti bezpečnosti ale i v celkové zastaralosti protokolu. Typicky třeba neopravitelný problém s omezením na 255 keycodes.
24.1.2017 14:39 ika
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
To je výživná diskuse, v tom odkazu. Jenže je z ní patrné, že se nechce, ne že by se nemohlo. Jako přijatelnější mi připadá definovat novou verzi protokolu, který by byl pokud možno zpětně kompatibilní ale řešil tyto případy. Místo toho se zavede něco, co vyhovuje víceméně pouze projektu gnome. Podle hesla jeden wayland, jeden systemd, jeden redhat.
24.1.2017 15:25 MadCatX
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Nová verze protokolu ve Wayland. Protokol, který by řešil problémy starého a zároveň byl zpětně kompatibilní IMHO není možné vymyslet bez fůry hacků, které by dřív nebo později stejně skončily tak, že by to někdo vymyslel úplně odznova. Wayland rozhodně není projekt cílený jen na potřeby GNOME či RedHatu.
24.1.2017 17:51 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Uf Xforms ten jsem snad nikdy neviděl naživo :-D. Ale je pořád možný, že k němu někdo ten backend napíše. Pomalu bych ale asi hledal alternativu no.
pavlix avatar 24.1.2017 14:00 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
Odpovědět | | Sbalit | Link | Blokovat | Admin
Xorg v te nejzakladnější konfiguraci bez Window Managera vypadá jako takova ta věc, co se spustí při startx a jsou tam jen dvě grafické konzole, nedá se tam nic dělat a celé to graficky vypadá jako cosi ze začátku 90. let.

Upřesnění...

1) Xorg je to, co vidíš, když spustíš Xorg. Tam, pokud se něco nezměnilo, žádné terminály nejsou, dokud si je tam zvenčí sám nespustíš, a tedy se opravdu nedá nic dělat.

2) Příkaz startx se pokud vím vždy snaží spustit alespoň nějaký výchozí windowmanager, který spustí ty terminály.

3) Jakmile máš v Xorg k dispozici terminál, dá se tam dělat prakticky všechno, i když ne vždy pohodlně.
Shrnuti: Xorg je hned ten úplně nejprvější layer nad "linuxem", nic grafického pod ním už není.
Až na grafický subsystém v kernelu a systém VT, který umožňuje například přepínat mezi Xorg a VT (ctrl+alt+F1 apod...).
Teď Wayland. Není mi jasné, jestli Wayland zcela nahrazuje Xorg, nebo ho nějakým způsobem doplňuje.
To není jasné ani mně, vzhledem k tomu, že v současné době využívám funkce Xorg a tudíž Wayland můžu používat jedině jako vrstvu pod Xorg. :) Ale technicky vzato má fungovat Wayland samostatně a Xorg má bohužel umřít.
Toto by Wayland tedy rovněž nahradil?
Wayland ani Xorg nejsou v jádře, takže ne.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
25.1.2017 08:59 Kate | skóre: 9
Rozbalit Rozbalit vše Re: Vztah mezi Wayland, Xorg, X11
k 1 a 2 - předpokládám že myslel TWM, který často bývá instalovaný v základu s XOrg

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.