10 ms·
So let’s talk about this Wayland thing
- lnxg33k1 3y agoI’m having nice time with waylaid, have used it with plasma for a year, and a couple of weeks ago I re-emerged everything with -X -xorg etc and can’t compla
- User23 3y agoHas Wayland adoption really been so slow because of technical reasons, or because of its developers and advocates observably abysmal social skills? Edit: I know that could kind of sound incendiary, but let's consider the facts. We're talking about a project that has been competing with a dead competitor for 15 years and is still struggling to get mainstream acceptance. There's something seriously dysfunctional going on.
- XorNot 3y agoI'm not using it because Cinnamon doesn't support it. When it does I guess I'll switch. Although the egl requirement has proven troublesome the times I've dipped my toes in, previously: if I have an NVIDIA or AMD GPU in my machine, I do expect to not get told it's unsupported.
- bezier-curve 3y agoIt's been a few years since I've worked with the cinnamon team, but their 2019 sentiment was basically "ignore Wayland and hope it dies".
- bb88 3y agoI don't know. I'm willing to give them another 10 to 15 years.
- dralley 3y agoYou're missing the most obvious reason. Wayland adoption has been slow because nobody cares that much about the Linux desktop because it's not profitable, so it's at best a hobby project of a couple of dozen people. It's hard to make sweeping changes with such a group. A lot of the work has actually been done by companies like Red Hat and Collabora and Igalia doing drive-by enablement work on a bunch of open source projects. That manifests in a bunch of different ways. Lots of desktop software is still using the likes of Gtk 2 and obviously won't get Wayland support without being ported first. Desktop Environments like XFCE and Cinnamon are, again, basically hobby projects and re-architecting them for Wayland is a big ask for non-professional maintainers. And then you have stuff like Zoom and other Electron apps that take their time adopting Wayland simply because Linux was always an afterthought to them anyway.
- phone8675309 3y agoThis sort of thing makes Wayland less defensible to me then - why fragment the user and developer base even further?
- dralley 3y agoBecause Xorg is broken and Xwayland works well enough as a translation layer to tide everyone over even if it's not ideal.
- imtringued 3y agoYou are free to develop an X11 subset that is easier to maintain and convince existing Xorg users to switch to your subset.
- Qwertious 3y agoArcan ( arcan-fe.com ) looks like it could fill that niche, but its developer has gone out of his way to avoid attention and is primarily focused on getting the core protocol right, rather than trying to drive adoption. I'm personally hoping that, come ~2025, Arcan v1.0 is released, the WM crowd largely switches to Arcan-based systems, and Wayland becomes the new JACK (with X being the new ALSA, I guess?).
- bsder 3y agoMostly technical. But, I'll try to be a bit charitable. 1) A lot of architectural decisions that made sense in 2008 are less optimal today. Everything language-wise was C/C++ while today lots of different languages want to interface to your display system. The input system was completely hamstrung--things like gestures and multi-touch and things like that just weren't in anybody's brain yet. (Wayland started just after the first iPhone was introduced). And RT_PREEMPT still isn't a thing for Linux while both Windows and macOS underwent major surgery to allow real-time paths for things like audio and interaction. 2) Desktop composition semantics are not exactly easy to define. Windows has certain definitions, but even it falls back to pure CPU software rendering in a lot of cases. 3) Weak support from graphics card companies Windows relies on a LOT of driver hacks so everything goes through the compositor on really fast paths. That's a lot of work that nobody really has the bandwidth to do on Linux.
- phone8675309 3y agoNo wide support for nVidia binary drivers either
- saxonww 3y agoFWIW I don't think this is an issue anymore, nVidia began implementing the necessary APIs - it was more a situation of nVidia not supporting Wayland, not the other way around - a couple of years ago. https://www.nvidia.com/download/driverResults.aspx/181159/en-us/ https://www.nvidia.com/download/driverResults.aspx/181159/en...
- charcircuit 3y ago>it was more a situation of nVidia not supporting Wayland, not the other way around - a couple of years ago. Do not forget the era where compositors were choosing not to support an open standard of the EGL_KHR_stream extension. Instead they preferred a proprietary solution using Mesa's GBM API.
- Bu9818 3y agoFor good, functionality-related reasons at the time[0], and everyone in the Wayland space had been using the mesa library except nvidia with their own proprietary libgl. [0]: https://github.com/swaywm/sway/issues/490#issuecomment-471745501 https://github.com/swaywm/sway/issues/490#issuecomment-47174...
- charcircuit 3y ago>For good, functionality-related reasons at the time Having it work surely is better than those drawbacks. Things can be improved and iterated on over time. Wayland adoption was damaged by this. >and everyone in the Wayland space had been using the mesa library They chose to make themselves compatible with a single graphics driver. GBM ended up having to be rearchitected so that Nvidia could create a backend for end.
- resonious 3y agoI think it is a little of both, and this issue might be a pretty good example: https://gitlab.gnome.org/GNOME/mutter/-/issues/217 https://gitlab.gnome.org/GNOME/mutter/-/issues/217 Basically, the GNOME devs refuse to provide default window decorations (title bars, etc), forcing all Wayland app devs to draw their own title bars and "X" buttons for their windows. This is a bit silly since some desktop envs do provide default decorations, and 99% of the time you probably want your app to have native-looking title bars. So now we have 1) ugly window decorations on some apps because that's "according to the Wayland spec", and 2) windows with no decorations at all, but only when running on GNOME. End result is ugly inconsistency that makes it very hard to compete with the likes of macOS and Windows on a visual level. And it's all due to a mixture of human stubbornness and arguably an architectural blunder on Wayland's part (but maybe mostly the former, to further your point...)
- saxonww 3y agoMaybe a dead competitor, but one that 15 years ago still had a 25 year head start.
- colordrops 3y ago> The fact that Wayland’s minimal core protocol made it unable to fully replace the thing it aimed to replace was a bad architectural design decision on the part of its authors that crippled the prospect of its rapid adoption when it was released in 2008. Maybe I missed it in the article, but what was this decision?
- boomboomsubban 3y agoThe decision to leave basic necessities to the compositor, it's discussed in the "How is Wayland any better?" and "Wait, that sounds like it sucks" sections.
- XorNot 3y agoThat section seemed light on details of what was missing though.
- boomboomsubban 3y ago>Wayland’s minimal core protocols are lacking most of the features that non-trivial apps and desktops actually need to work–such as screen locking, screen sharing, cross-app window activation, non-integer scaling, and so on. Seems enough to show why it's a contentious decision.
- DistractionRect 3y agoThat'd end up being a longish explanation of what wlroots is, and I think that'd detract from the post. Noting the vacuum exists and linking to the emergent library that filled is sufficient, and gives the curious reader something they can follow up on.
- mixmastamyk 3y agoThe subject is well documented by now.
- errantmind 3y agoIt is unfortunate but forced vsync means I will never adopt Wayland. I do not want a frame+ delay when I'm gaming. I do not want v-sync lag when my framerate occasionally drops below my 240hz refresh rate. I don't even especially like X11, I just don't want vsync forced on me.
- papercrane 3y agoI'm not sure how widely supported it is, but Wayland has a protocol to support turning off v-sync. https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/65 https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m...
- clhodapp 3y agoI believe that Mesa has just recently added support.
- zamadatix 3y agoWayland doesn't actually add an additional frame of latency like you'd expect by just saying "vsync" in a normal context. https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-... In cases where your game occasionally dips below 240hz enabling VRR will prevent additional latency without requiring you introduce tearing in the display pipeline.
- errantmind 3y ago> If you require the absolutely lowest latency possible though and don’t care about screen tearing then X without compositing, with VSync disabled is a better fit for you. You can re-evaluate once the possibility to have VSync disabled is implemented in your compositor of choice and the measured increased volatility in latency (99th percentile) with immediate mode is fixed. I enjoyed the post, thanks. I suppose I'll wait then and re-evaluate when Wayland's 'immediate mode' is fixed and it is roughly comparable to X11 without a compositor. I go to great lengths to minimize my latency so this is really the only factor that matters to me.
- bsder 3y agoI can bag on Wayland for days for being broken at an architectural level ... However, the real root problem is that the number of people who really give one iota of damn about "desktop interaction semantics" is vanishingly small. Developers who want Unix and want their display to "simply work" switch to Apple. Consequently, the only people left behind are the very fractious minority on Linux who care about a zillion different edge cases. I really don't see a good way to fix things.
- JasonFruit 3y agoThe fractious minority is here, yes, but also a large number of people like me who don't care about display quality, "desktop interaction semantics," or surface consistency at all, but care deeply about being able to use their computer as they please.
- eviks 3y agoUnless you please the computer to have some display quality
- globular-toast 3y agoI'm very happy with my Linux desktop. I think MacOS looks like a child's toy and Windows looks like it was created by 100 different people who hate each other. Each to their own.
- mcpackieh 3y agoI used MacOS for a few years but when it came time to get a new computer I switched back to Linux because nothing actually worked better in MacOS, and a few things worked worse. I think the best advantage to MacOS is knowing you'll have drivers, but that's a moot point for me because I buy hardware I know will work well with Linux. The "switch to Apple for things to work" narrative is a big meme.
- GaggiX 3y agoWayland works fine for me but it doesn't seem to allow many applications to take screenshots or recording the screen, so I had problems with PyAutoGUI and Discord and I switched back to X11, if anyone knows a solution I would appreciate.
- zamadatix 3y agoThe only proper solution is e.g. Electron add the support and Discord then updates the base version of Electron. I remember reading somebody was working on a bridge for X11 apps to get Wayland screenshare access but I don't know if that actually became functional/usable. Wayland itself has had all of the bits for years at this point but it just doesn't have official bits for apps still running X11 style screensharing only. It's like GIMP still using GTK 2, it has no idea of Wayland at all so there's not much Wayland can do beyond run it an an XWayland island. Unfortunately there is no easy universal fix to that kind of gap beyond updating apps. Edit: a sibling comment linked to the project I was remembering - xwaylandbridge
- GaggiX 3y ago>It's like GIMP still using GTK 2, it has no idea of Wayland at all Oh I remember now, I was using GIMP and I couldn't figure out why the color picker was not working, I think that I understand now what was the reason.
- phone8675309 3y ago"Simply add screenshot and screen capture functionality to your favorite compositor and add a code path in your app to detect what compositor you're using at runtime and call the right methods" - Wayland developers Better hope the compositor of the week you're using that hasn't yet been abandoned is based on wlroots so you have some chance of it working.
- bb010g 3y agoThe actual solutions here are XDG Desktop Portals or Wayland protocols, the former of which are commonly used (<https://flatpak.github.io/xdg-desktop-portal/ https://flatpak.github.io/xdg-desktop-portal/>) and the latter of which are unstable proposals (<https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/blob/4264185db3b7e961e7f157e1cc4fd0ab75137568/unstable/wlr-screencopy-unstable-v1.xml https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/blob/...>). Wayland clients don't do compositor detection like you're describing, to my knowledge.
- 7e 3y agoCan we please just get to what OS X had twenty years ago. Please.
- hn8305823 3y agoIncluding color management. Please.
- hamandcheese 3y agoCan you be more specific? I'm a 10-year MacOS user who now uses desktop Linux ~80% of the time and I can't think of any glaring issues.
- jlokier 3y agoI see people reporting that apps such as Zoom and Discord can't do screenshots or screen recording/sharing with Wayland. That's a glaring issue for many users these days.
- wmf 3y agoThat's been fixed (although it was fixed years later than it should have been).
- beanjuiceII 3y agoNot being sarcastic. But the way we work in Linux community is tell people everything works and it's all awesome, windows sucks. Then you format your disks with Linux, we disappear when you realize most things you do on a computer don't work and we move on to the next person..or we tell you to crack open an editor and get coding
- mixmastamyk 3y agoThe long tail of features required by everyone is huge these days and a different subset needed for each person. I tried to shut off USB wake on MacOS tonight. Nope. Does not support, goodbye.
- RNCTX 3y agoLet's not
- nicoty 3y ago> Standard protocols now exist for just about everything anyone needs. I have been OOTL with the Wayland ecosystem for a few years. Does it provide a way for users to create and use input macros (similar to Autohotkey and xdotool) yet? That (in addition to remote desktop and screen casting) was one of the main blockers for me in daily-driving it.
- Fergusonb 3y agoThere's ydotool, but as far as I tested with it, the only movements that work are relative movements. You can't tell it to a click a specific x/y because it will fumble badly (Nobara / Fedora 38 )
- gebbie 3y agoiirc ydotool just whips a relative device into a corner before trying to position it, which gets it extra wrong if there's mouse acceleration. It's one of the reasons I wrote dotool (https://git.sr.ht/~geb/dotool https://git.sr.ht/~geb/dotool): echo mouseto 0.5 0.5 | dotool
- matthewn 3y agoI use Espanso for this; it has worked well on Wayland for some time.
- Vilian 3y agoyes, you need root and a different implementation than with xorg, but yes you can
- ianbicking 3y agoI still don't quite understand why Android and ChromeOS have seemingly good display systems on Linux with no drama or even any real identity to the display system, while X11 and Wayland have been churning on this stuff for so many years and don't seem to be at the same level of quality. I know I'm missing something... but I also suspect it's the sort of something that's worth missing.
- Gigachad 3y agoWayland works completely fine. The issues come from legacy applications and hardware vendors who refuse to work with it. Android solves these problems by telling software and firmware makers that they either get with the program or not have access to half the mobile phone market. As well as just saying no to all the absurd requirements like being able to stream the protocol over the internet or track exact XY inputs absolute to the screen outside of the apps own window. Desktop linux doesn't have this sway.
- phkahler 3y ago>> As well as just saying no to all the absurd requirements like being able to stream the protocol over the internet or track exact XY inputs absolute to the screen outside of the apps own window. Which is a security hole along with being able to read keystrokes meant for any app, grabbing pixels that aren't yours, etc... the features people complained were missing from Wayland for the longest time were often security issues that X could never solve by design. But hey, fuck security I want to run Xeyes!
- beanjuiceII 3y agoTimes my system was hacked via x or xeyes since I started using Linux in 95... zero
- charcircuit 3y agoIt is not just about hacking your system. It's also about programs being able to hack into your accounts by keylogging you or stealing passwords from your clipboard. If you use cryptocurrencies malware can replace addresses on your clipboard with similar looking addresses while it's completely hidden in the background. Desktop Linux's security is usually like swiss cheese, so if you haven't been hacked it has more to do with you not encountering malware than your system protecting against it.
- Animats 3y agoDoes Wayland on Ubuntu work with NVidia GPUs yet?
- headphoneswater 3y ago[dead]
- Vilian 3y agothe correct question is "nvidia work in wayland yet?" and the answer is "it depends" arewewaylandyet.com/
- Animats 3y agoNote that page was last updated in 2022, and one of the pages it references was last updated in 2019. I went round and round with this on the Ubuntu bug report system. On many machines, you can't run Wayland even if you want to. Oh, the excuses: "you should patch this shell script to let you run Wayland". Wayland just doesn't work with modern NVidia cards. I just tried on a machine with an NVidia 3070. Current Ubuntu 22.04 LTS, updated. The installed NVidia driver is the "recommended driver", NVidia-driver-535 (proprietary, tested.) The system will run in Wayland mode, but the 3D graphics hardware isn't used. "glxgears" reports that it is using Mesa 23.0.4. Programs that use Vulkan won't even start. Back to X.
- Animats 3y agoFound workaround: install libnvidia-egl-wayland1, and reboot.[1] "I wonder why that library is not installed by default with the NVIDIA driver..." That's so Linux. [1] https://ubuntuforums.org/showthread.php?t=2490293 https://ubuntuforums.org/showthread.php?t=2490293
- a-dub 3y agoi used to be upset that they took away x remoting because it was a cool party trick but then they gave me the ability to have monitors with different dpis and that's how i learned to stop worrying and love the wayland.
- rsaxvc 3y agoWhen I first learned about X forwarding we had a modem, and X was responsive. I also played CivII over remote desktop and it was...less responsive. With Wayland, have you tried out waypipe yet?
- bb010g 3y agohttps://gitlab.freedesktop.org/mstoeckl/waypipe/ https://gitlab.freedesktop.org/mstoeckl/waypipe/ is a great replacement for X remoting.
- resonious 3y agoI've been using Wayland for about 10 years now, mainly because of superior hi-DPI support. If you have multiple monitors with different scale factors, X11 is just awful. Not to mention I usually have laptops with not-quite-4k displays that need to be scaled 1.25x or 1.5x in order to look reasonable. That kind of stuff basically all works fine on Windows, and yet a lot of core Linux desktop devs seem to have an ideological distaste for fractional scaling. Sway supports fractional scaling, but it's not recommended because "your display does not have fractional pixels". I realize that is literally true, but Windows and Mac support it and it looks good. Feels like Linux is full of this kind of stuff, and the result is the mess you see today. Sad part is that Windows is starting to degrade so bad that Linux is starting to look better just due to that. Hopefully Valve and friends can apply some competitive pressure on Windows, and in the process make Linux much nicer.
- wholesomepotato 3y agoAs Microsoft lost the grip on Desktop, and Desktop became less important, and they moved more and more into cloud and services biz, etc. you can expect Windows to atrophy even more.
- username332211 3y agoTry using KDE, instead of Sway? If you look trough issues and discussion on https://gitlab.freedesktop.org https://gitlab.freedesktop.org, you get the distinct impression that the Sway/wlroots lead devs have very firm ideological commitments about absolutely everything. From non-open source drivers, to "every frame is perfect", to, as you point out, fractional scaling. If you don't fit into their ideological commitments, you shouldn't expect to receive any support.
- hollerith 3y ago>Sway supports fractional scaling, but it's not recommended because "your display does not have fractional pixels". Sway's reasoning is completely wrong and ignorant. The characters (glyphs) and other elements on this page (e.g., the reply button, the rounded corners of the TEXTAREA) are stored as mathematical descriptions of curves (cubic Bezier curves usually for the text). There is never anywhere where a framebuffer or grid of pixels is scaled up or down from one size to another to introduce blurriness into the final image. The Y logo in the top right corner of this page used to be an exception because a PNG file is a grid of pixels, but about 2 years ago the PNG was replaced with an SVG file, so now when you pinch-zoom this page in mobile Safari, everything always looks non-blurry. Well, when an app is using the Wayland protocol (i.e., when XWayand is not in between the app and the display server), the same thing applies. Actually, pinch-zoom is the wrong analogy. Both Firefox and Chrome have in their "hamburger menu" a line named "Zoom that has "+" and "-" buttons. If you use those buttons to change the scaling factor, most things reflow (adapt so that nothing "falls off" (is partially obscured by) the right edge of the viewport). Fractional UI scaling in Gnome (when XWayland is not in the picture) works like that more than it works like pinch-zoom in mobile Safari where nothing ever reflows. Note that in order to be able to use (the "Displays" pane of) the Settings app in Gnome to change the scaling factor to a value other than 1 or 2 (i.e., to a fractional value) you have to say gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
- Spunkie 3y agoI've been a big fan of wayland until a few months ago when I tried to put my friend on KDE with a nvidia card. It was still completely unusable as a daily driver.
- mixmastamyk 3y agoWhenever nvidia is involved you know the culprit. Linus flipped them off for a reason.
- mnd999 3y agoMy latest Wayland issue is devices that generate a lot of input events causing apps to crash. https://bugzilla.mozilla.org/show_bug.cgi?id=1743144 https://bugzilla.mozilla.org/show_bug.cgi?id=1743144
- mnd999 3y agoAlso https://gitlab.freedesktop.org/wayland/wayland/-/issues/159 https://gitlab.freedesktop.org/wayland/wayland/-/issues/159
- midwit 3y agoI love X and find it being in maintenance a good thing? It seems to work all the time and stays out of my way. That’s what I want.
- toastal 3y agohttps://arewewaylandyet.com/ https://arewewaylandyet.com/ We are still not Wayland yet. And my setup is personally blocked by both Xs.
- capableweb 3y agoPersonally not blocked at all as those two are things I use in a professional setting related to graphics work, and then I'm forced to use Windows regardless of what I think.
- toastal 3y agoMine is amateur framing so I get to choose OS+compositor. But I had to migrate back to X11 to do photography work. Color management also helps professionally when communicating with designers, but isn’t necessity. The dock I picked up, I didn’t realize DisplayLink was something I would need to worry about since they have Linux drivers--and if there isn’t already patched flag available in Nixpkgs, I could add it if the color management ever makes progress after years of development.
- GalaxySnail 3y agoUnfortunately, this site is outdated. > Last updated: 31 October 2022
- toastal 3y ago? The two Xs are still open issues.
- mixmastamyk 3y agoGreat article, thanks. Until now did not understand why W was so slow to be accepted while systemd and pipewire took over quickly. Personally hadn’t tried it until recently, though nothing against it. Had an extra laptop and wanted to try some new stuff so installed Fedora KDE on it. Works quite well but unfortunately synergy/barrier doesn’t work and folks don’t seem to think it ever can. That’s a deal breaker for me at my desk. Will be going back to mint/cinnamon/X shortly, and leave fedora as a travel laptop. Kinda disappointing after so many years… fifteen! and still second fiddle.
- InfamousRece 3y agoRight. I use x2x which is kind of like Synergy so I’m staying with xorg for now.
- Vilian 3y agoi tried to see what was synergy/barrier and for what i read i don't see any reason to for it to not work on wayland, it just need to accept the correct protocol and portals
- InfamousRece 3y agoThis will take at another decade at least.
- dizhn 3y agoDoesn't switching to Wayland also implicitly mean losing any input system other than libinput? Like Wayland libinput also does not currently have feature parity with the other input configuration tools that are available for X.
- rcarmo 3y agoWayland is nice and all, but I haven’t seen an end-to-end solution for “headless” remote login yet. Until there’s a working Xrdp replacement, I don’t have much use for it personally.
- alecco 3y agoWayland was working fine on Fedora 38... until I switched to Nvidia. Had to go back to X11. It seems their driver was developed for X11 and the Wayland support is a hack on top and has many issues.
- Vilian 3y agonvidia moment