Wayland vs Xorg - Vad tycker ni?

Trädvy Permalänk
Avstängd
Plats
/home
Registrerad
Apr 2010

Wayland vs Xorg - Vad tycker ni?

Blev lite inspirerad av @Hund som skrev ett svar i en annan tråd ang. Wayland.
Vad tycker ni? Wayland, bra eller dåligt?
Fördelar vs nackdelar?
När tror vi Wayland "helt" har ersatt Xorg, om det ens kommer ske?

För egen del har jag testat Wayland i Gnome, men hade en hel del buggar, redan vid gdm, lagg och program som inte gick att starta m.m. så jag disablade Wayland helt och kör Xorg helt och hållet. Än så länge... *spännande musik*

i7
GTX
4K

Trädvy Permalänk
Medlem
Plats
$HOME
Registrerad
Jun 2006
Skrivet av Dockland:

Blev lite inspirerad av @Hund som skrev ett svar i en annan tråd ang. Wayland.
Vad tycker ni? Wayland, bra eller dåligt?
Fördelar vs nackdelar?
När tror vi Wayland "helt" har ersatt Xorg, om det ens kommer ske?

För egen del har jag testat Wayland i Gnome, men hade en hel del buggar, redan vid gdm, lagg och program som inte gick att starta m.m. så jag disablade Wayland helt och kör Xorg helt och hållet. Än så länge... *spännande musik*

Planen är att man ersätta Xorg med Wayland. Men just nu är Wayland långt ifrån färdigt.

Och det är också därför i3 inte finns till Wayland, de känner inte för att börja med i3 till Wayland förrän det finns något som är relativt stabilt att stå på.

Skickades från m.sweclockers.com

Arch Linux ~ Journal | Skärmskott | Punktfiler

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Aug 2001
Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2004

Xorg verkar ju inte vara helt enkelt att ersätta, det kommer nog ta sin lilla tid. Därför hoppas jag att wayland får till ett ordentligt kompatibilitetsläge med 3d accelerering för xorg applikationer, då kommer inte övergången bli så smärtsam. Ja, antingen det eller så får någon lista ut en smidig lösning för att köra båda samtidigt (kanske redan går?).

| i5 6500 | asus z170-k | asus 970 strix | 16gb ddr4 | asus mg279Q | FD Define r4

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

@Hund: SwayWM finns ju. Ska tydligen fungera med de flesta i3 konfigurationer.

Gigabyte GA-Z97X-SLI, Intel Core i5 4460 3.2GHz, 128GB Samsung 850 PRO, Corsair 8GB, Gigabyte GeForce GTX 750ti, EVGA Supernova G2 750W
Min GitHub: https://github.com/lassekongo83

Trädvy Permalänk
Medlem
Plats
$HOME
Registrerad
Jun 2006
Skrivet av lassekongo83:

@Hund: SwayWM finns ju. Ska tydligen fungera med de flesta i3 konfigurationer.

Mjo, det är ju en fork av i3, av någon som inte orkade vänta på att i3 ska komma dit.

Skickades från m.sweclockers.com

Arch Linux ~ Journal | Skärmskott | Punktfiler

Trädvy Permalänk
Avstängd
Registrerad
Nov 2012

Har kört wayland på Fedora 25 sedan november utan problem.

Även ubuntu ska använda wayland. Blir nog bättre nu när fler satsar på wayland, mera resurser till utveckling och förbättringar.
http://www.omgubuntu.co.uk/2017/04/ubuntu-will-run-wayland-de...

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Mar 2008

Efterhand som jag lär mig mer om wayland desto skeptiskare blir jag. Möjligt att jag har missuppfattat saker men det ser inte lovande ut.

En av de största skillnaderna mellan X och wayland är att wayland är säkrare. I X kan alla program som får ansluta till X servern göra allt. Alla program kan läsa all input, injecta input till andra program, läsa alla bitmaps, skriva över andra programs bitmaps med sina egna, osv¹. Xorg är som en bil från 1950-talet. Inga krockkuddar, bälten eller deformationszoner. Wayland är mer som en bil utan motor. Om man inte kan köra bilen är den säker.

Wayland api:t har inte stöd några lågnivå operationer t.ex. byta upplösning, gamma, screenshot eller ens något sätt att bestämma var fönster ska placeras. Allt det hanteras av compositorn. Det är därför omöjligt att skapa program som synergy, redshift, scrot och liknande på ett portabelt sätt så de fungerar med alla wayland compositors.

Vad man kan göra är att implementera all den funktionaliteten som i X sköts av tredjepartsprogram direkt i compositorn. Det betyder att Kwin, Mutter, Sway och alla andra compositors måste implementera sina egna lösningar för saker som synergy, OBS, xbindkeys och de hundratals andra lösningar som använder xlib direkt. Det är något som vi redan ser. Gnome-redshift är en gnome clone av redshift direkt i Mutter eftersom redshift inte funkar i wayland. Detta leder till massa upprepade lösningar för samma funktionalitet och de flesta lösningarna kommer antagligen vara kassa.

En annan lösning är att funktionaliteten implementeras som plugins eller extern api till compositors. Sannolikheten att alla compositors kan komma överens om en standard plugin api utan att wayland api:t fastställer api:n är inte troligt. Det blir som med webbläsare. Vilka plugins som finns varierar stort mellan browsers. Det är inte nog att en webbläsare är en bra browser, om det inte finns ett stort urval av plugins är webbläsaren ändå oanvändbar. Detta är också något vi redan ser. Sway har sin egna externa api för att ändra gamma vilket en patchad version av redshift kan använda. Den versionen av redshift funkar givetvis inte på Kwin eller Mutter.

(1). Det är inte helt sant att X saknar säkerhet. Det finns X extensions som XACE som kan användas för att begränsa vad program får göra så att bara privilegierade program kan göra farliga saker. Men så vitt jag vet finns det ingen distribution som använder den funktionaliteten. Det skulle vara möjligt att göra något liknande för wayland. Det fanns ett förslag för en "Wayland Security Module" som skulle funka på detta sätt men det har inte pratats något om det på ett bra tag. Utvecklaren för mutter sa att han inte tänker lägga till stöd för WSM i mutter för han tycker inte att externa program ska kunna göra något privilegierat. Diskussionen dog ut efter det. Det är möjligt att vi i framtiden kommer få någon lösning men det ser inte ljust ut. Utvecklarna för wayland är ganska fientligt inställa till iden och varje gång någon ger förslaget att externa program borde kunna komma åt lågnivå funktionalitet på ett portabelt sätt blir svaret något i still med detta:
https://lists.freedesktop.org/archives/wayland-devel/2016-Mar...

https://www.reddit.com/r/linux/comments/3uf66w/some_things_im...
Här är en reddit tråd där en användare undrar hur hans egna lösningar skulle funka i wayland. Huvudutvecklaren för kwin, Martin Graesslin (mgraesslin) svara att han kanske kan lösa samma sak med kwin plugins. Användaren undra då hur man kan lösa samma sak på ett portabelt sätt så att han inte målar in sig i ett hörn med vendor lockin i kwin. Martin svara:

"Does it have to be portable? Why would you need your custom scripts to work with multiple Wayland compositors? Yes in theory I agree that this is a drawback, but in practice it just doesn't matter, because one doesn't change the Wayland compositor each day."

No problem alltså eftersom man inte byter desktop varje dag. Martin tycks helt missa poängen eller mer troligt föredrar den nuvarande lösningen just pga. det leder till vendor lockin.

https://bugs.winehq.org/show_bug.cgi?id=42284#c1
Vissa andra är inte lika nöjda. Michael Müller är en av wine utvecklarna:

"IMHO, it is not a good solution to remove features just because an application could abuse them. I can understand this for security relevant features, like grabbing the keyboard and mouse input from another window, but not for things like specifying the window position. It is like removing the possibility to delete files, because the user could accidentally click on the wrong file, instead of implementing a recycle bin. Adding a way to recover from situations in which programs misbehave would be a better solution, but this is just my opinion."

Trädvy Permalänk
Medlem
Plats
gbg
Registrerad
Nov 2007

Xorg har drygt 30 år på nacken, det är flera evigheter inom IT-världen.
X var grymt för sin tid och avsedda användningområde, -inte så hett när det kommer till praktiken idag.

Annan displayserver ex. Wayland+Weston lär kunna ta över på sikt, problemet med "antingen eller"-scenariot idag är att X och Wayland har olika egenskaper och det lär inte ändra på sig inom en snar framtid, då 30år av utveckling för med sig en del funktionalitet som kan vara oumbärlig för slutanvändaren i vissa scenarion.
Därför lär ex. Wayland-konceptet enbart kunna ta över vissa områden som den behärskar väl då X erbjuder mycket funktionalitet som lösningar kan vara byggda runt, därmed kan man inte bara byta ut det även om Wayland som ny implementation skulle vara den bättre presterande lösningen.

Troligtvis lär utvecklingen och anpassningen gå snabbare när allt fler distros börjar anamma Wayland som standard för deras skrivbordsmiljöer.

Personligen lär jag hänga kvar vid X ett tag till för produktivt arbete.
I underhållningssammanhang kanske någon laptop får smaka på Wayland ganska snart.

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 16.04 LTS

Trädvy Permalänk
Medlem
Plats
Borås
Registrerad
Okt 2002

Hur är det med möjligheter till grafiskt fjärrskrivbord på Wayland? När jag kollade lite på x2go så var det bara vissa skrivbordsmiljöer som helt baserade sig på Xorg som stöddes. Nu klarar man sig långt med ssh i terminalen men ibland vill man kanske kunna fjärransluta sig till en grafisk miljö.

https://bbs.archlinux.org/viewtopic.php?id=225765

Citat:

The wayland protocol doesn't seem to provide remote rendering or something similar to ssh x-forwarding .

Running xwayland or a vnc server on top of wayland is one solution , another would be to implement this functionality in wayland compositors.

Weston seems to have free RDP support (archwiki says arch linux weston package doesn't enable that support ).

Trädvy Permalänk
Medlem
Registrerad
Nov 2011
Skrivet av Emaku:

Efterhand som jag lär mig mer om wayland desto skeptiskare blir jag. Möjligt att jag har missuppfattat saker men det ser inte lovande ut.

En av de största skillnaderna mellan X och wayland är att wayland är säkrare. I X kan alla program som får ansluta till X servern göra allt. Alla program kan läsa all input, injecta input till andra program, läsa alla bitmaps, skriva över andra programs bitmaps med sina egna, osv¹. Xorg är som en bil från 1950-talet. Inga krockkuddar, bälten eller deformationszoner. Wayland är mer som en bil utan motor. Om man inte kan köra bilen är den säker.

Wayland api:t har inte stöd några lågnivå operationer t.ex. byta upplösning, gamma, screenshot eller ens något sätt att bestämma var fönster ska placeras. Allt det hanteras av compositorn. Det är därför omöjligt att skapa program som synergy, redshift, scrot och liknande på ett portabelt sätt så de fungerar med alla wayland compositors.

Vad man kan göra är att implementera all den funktionaliteten som i X sköts av tredjepartsprogram direkt i compositorn. Det betyder att Kwin, Mutter, Sway och alla andra compositors måste implementera sina egna lösningar för saker som synergy, OBS, xbindkeys och de hundratals andra lösningar som använder xlib direkt. Det är något som vi redan ser. Gnome-redshift är en gnome clone av redshift direkt i Mutter eftersom redshift inte funkar i wayland. Detta leder till massa upprepade lösningar för samma funktionalitet och de flesta lösningarna kommer antagligen vara kassa.

En annan lösning är att funktionaliteten implementeras som plugins eller extern api till compositors. Sannolikheten att alla compositors kan komma överens om en standard plugin api utan att wayland api:t fastställer api:n är inte troligt. Det blir som med webbläsare. Vilka plugins som finns varierar stort mellan browsers. Det är inte nog att en webbläsare är en bra browser, om det inte finns ett stort urval av plugins är webbläsaren ändå oanvändbar. Detta är också något vi redan ser. Sway har sin egna externa api för att ändra gamma vilket en patchad version av redshift kan använda. Den versionen av redshift funkar givetvis inte på Kwin eller Mutter.

(1). Det är inte helt sant att X saknar säkerhet. Det finns X extensions som XACE som kan användas för att begränsa vad program får göra så att bara privilegierade program kan göra farliga saker. Men så vitt jag vet finns det ingen distribution som använder den funktionaliteten. Det skulle vara möjligt att göra något liknande för wayland. Det fanns ett förslag för en "Wayland Security Module" som skulle funka på detta sätt men det har inte pratats något om det på ett bra tag. Utvecklaren för mutter sa att han inte tänker lägga till stöd för WSM i mutter för han tycker inte att externa program ska kunna göra något privilegierat. Diskussionen dog ut efter det. Det är möjligt att vi i framtiden kommer få någon lösning men det ser inte ljust ut. Utvecklarna för wayland är ganska fientligt inställa till iden och varje gång någon ger förslaget att externa program borde kunna komma åt lågnivå funktionalitet på ett portabelt sätt blir svaret något i still med detta:
https://lists.freedesktop.org/archives/wayland-devel/2016-Mar...

https://www.reddit.com/r/linux/comments/3uf66w/some_things_im...
Här är en reddit tråd där en användare undrar hur hans egna lösningar skulle funka i wayland. Huvudutvecklaren för kwin, Martin Graesslin (mgraesslin) svara att han kanske kan lösa samma sak med kwin plugins. Användaren undra då hur man kan lösa samma sak på ett portabelt sätt så att han inte målar in sig i ett hörn med vendor lockin i kwin. Martin svara:

"Does it have to be portable? Why would you need your custom scripts to work with multiple Wayland compositors? Yes in theory I agree that this is a drawback, but in practice it just doesn't matter, because one doesn't change the Wayland compositor each day."

No problem alltså eftersom man inte byter desktop varje dag. Martin tycks helt missa poängen eller mer troligt föredrar den nuvarande lösningen just pga. det leder till vendor lockin.

https://bugs.winehq.org/show_bug.cgi?id=42284#c1
Vissa andra är inte lika nöjda. Michael Müller är en av wine utvecklarna:

"IMHO, it is not a good solution to remove features just because an application could abuse them. I can understand this for security relevant features, like grabbing the keyboard and mouse input from another window, but not for things like specifying the window position. It is like removing the possibility to delete files, because the user could accidentally click on the wrong file, instead of implementing a recycle bin. Adding a way to recover from situations in which programs misbehave would be a better solution, but this is just my opinion."

Väldigt intressant inlägg måste jag säga, detta hade jag ingen aning om. Blev mindre sugen på Wayland nu.

Dator: i7 4960x | 32GB | Asus Rampage IV Formula | GTX 1080
OS: Slackware 64-bit current + multilib

Trädvy Permalänk
Medlem
Registrerad
Jan 2012

Som jag har förstått det så innehåller X.org funktionalitet för betydligt fler saker än att rita grafik varav mycket inte ens används längre. Trots div. tillkortakommanden är jag fullt övertygad om att Wayland är den enda vägen framåt och nödvändigt om Linux på skrivbordet ö.h.t. ska vara relevant framöver.