[HN Gopher] An X11 Apologist Tries Wayland ___________________________________________________________________ An X11 Apologist Tries Wayland Author : xena Score : 66 points Date : 2022-09-18 20:41 UTC (2 hours ago) (HTM) web link (artemis.sh) (TXT) w3m dump (artemis.sh) | mkl wrote: | > KDE, I have heard mixed things about, but can't speak to. | | Does anyone here use KDE on Wayland currently? How well does it | run? What are the pain points? | smoldesu wrote: | I'm using it right now on Nvidia. It 'works' for most | Wayland/Nvidia things, but there are still a few things to | note. | | The Good: | | - No weird xWayland flickering like GNOME | | - Desktop transitions never drop a frame, even with 1:1 | trackpad gestures on my Magic Trackpad | | - The kwin implementation seems to be less picky/buggy than | Mutter? Might just be my hardware config, but | Wayland/Nvidia/GNOME would crash constantly for a number of | reasons. It all came down to random gnome-shell segfaults that | I couldn't debug. | | The Bad: | | - Compositing/alpha effects are somewhat broken (on GTK and Qt) | | - Sometimes a panel will stop responding or fail to render (or | both) | | - krunner seems entirely broken | | Overall, I'd say it's running pretty well, and is probably | better than GNOME for Nvidia users. Their work is cut out for | them, and the Wayland-specific bugfixes are starting to roll in | on a weekly basis. You'll probably have an even better | experience if you aren't using Nvidia hardware. | shmerl wrote: | I'd say for smooth desktop experience, Nvidia is a bad option | in general (at least yet). They only very recently started | caring about addressing Wayland support and a lot of things | are rough becasue of that. Plus it will be a long time before | their kernel driver is upstreamed, and a lot of the above | depends on that. | | So I strongly recommend AMD for good modern Linux desktop | experience. | smoldesu wrote: | I agree, but that doesn't make it any less valuable of a | metric. Nvidia cards are extremely widespread, reporting | the performance on Nvidia hardware does a good job of | representing what a lot of people will experience. | | Furthermore, Nvidia made inroads for Wayland support years | ago, GNOME just refused to adopt it. Nvidia's terms were | always that Wayland implimentations could adopt EGLstreams | whenever they wanted, and that GBM would not be considered | an acceptable alternative until it was faster. Their so- | called hostility towards the Linux desktop mostly amounts | to not contributing to GNOME and making their drivers | proprietary for so long. In that sense, they're about as | evil as webkit contributors who don't fix x86-linux bugs. | shmerl wrote: | That whole GBM debacle was simply their masking of a | deeper problem. They can't interoperate with the kernel | properly because their driver module is not GPL | compliant. And proper Wayland support relies on a lot of | kernel (DRM) functionality. They have to do convoluted | dance workarounds to address the above. | | Basically, Nvidia will never work really well on Wayland | until their kernel driver is upstreamed. This year they | finally decided to open source their kernel module. But | it's still some road for them to get to upstreaming. | shmerl wrote: | I'm using it currently, including for gaming (AMD GPU). It | works very well (at least for me) since may be a few months | ago. | | Waiting for Wine to add native Wayland support. | kelnos wrote: | As a fellow X11 apologist, this was pretty cool to read. It's | nice to see that things are shaping up, even if there are still | quite a few rough edges. | | Having said that, I'm still a die-hard Xfce user, and until | someone makes an xfwm4-like Wayland compositor, and ports (at | least) xfce4-panel and xfdesktop to Wayland, I'm not gonna | switch. | | Edit: ok, looks like there's Hopalong | (https://github.com/iridescent-desktop/hopalong), so we're part | of the way there, even if it's pretty new. | bxparks wrote: | Every 2 years I take Xfce (Xubuntu, Mint Xfce) for a test | drive. It seems light and fast, I want to like it. Then every 2 | years, I rediscover that the resize border on each window is | 1px wide, which is completely unusable. When I google for a | solution, the answer seems to be use Alt-Left-Mouse. I don't | understand how that is a solution. I don't want to use 2 hands | to resize a window. | shmerl wrote: | _> Wayland wants every frame to be perfect. That means no screen | tearing_ | | Such idea was quite central, but it still ignored some uses cases | where tearing is acceptable for lowest perceived latency possible | (competitive gaming and such). | | There is a current effort to address that: | | https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m... | rcarmo wrote: | I would love to see a minimalist Linux distro for ARM SBCs that | shipped Wayland, river (or Sway) and foot as its default | environment. I guess the interest just isn't there. | Lio wrote: | Wayland seems pretty good to me now. | | There are still the odd issues with HiDPI but I _think_ that 's | mainly down to XWayland support in apps that don't support | Wayland natively yet. | | e.g. If I'm running VLC and I move it from a 1:1 screen to a | HiDPI screen then my mouse pointer goes tiny as it passes over | it. It's a similar situation for some older Electron based apps | too. | | Support for XWayland is OKish but not seamless. | | Hopefully time will solve that, for VLC I think that should | happen in version 4. | capableweb wrote: | > If you're into Gnome, Wayland is probably a good experience | today out of the box, even if you aren't a power user. | | I'm not sure this is true, yet. I recently tried Wayland together | with Gnome on a Arch installation, and seemingly applications | need specific fixes otherwise they are kind of buggy. Firefox had | bunch of issues out-of-the-box, that required some incarnation of | right environment variables to work properly with Wayland, and | seemed the same thing applied to other software as well. If I | recall correctly, some other application was also behaving | buggy/with artifacts, think it was maybe DaVinci Resolve but not | 100% sure... | | For now, I'll just stick with Xorg that Just Works(TM), but I'll | be back to try Wayland every now and then until it works | perfectly. | AstralStorm wrote: | How is the multi monitor story? Especially when the resolutions | or refresh rates do not match? | mroche wrote: | If you have mixed resolution, mix refresh rate, and mixed DPI | setups, anything Wayland native will be just fine. XWayland can | still have some quirks, but I'm not sure if that's an easily | solvable problem (or at all). | | Though I don't have HiDPI displays, I have a triple monitor | setup with NVIDIA (2x 1920x1200@75Hz~96ppi and 1x | 2560x1440@60Hz~108ppi) and though I use Xorg due to some | specific applications, the Wayland session is completely usable | and fine otherwise for 99% of my use cases. I actually wish I | could use it full time. | | This is on Fedora 36 Workstation. | christophilus wrote: | I have a 5k monitor and a 4K laptop screen that I run | simultaneously. It all works seamlessly in my experience | (Fedora 36, vanilla Gnome). | betwixthewires wrote: | I've been using Wayland with sway for about a year as my daily | driver. I have xwayland also and a few applications use it, | specifically I'm using dmenu because all the wlroots native menus | are missing some features I need (why is there no text based menu | in the world that can read from bash aliases and PATH at the same | time?) and I've got to say, it runs perfect for me. Granted, my | machine is mainly a workstation and I don't game really, the most | I do is watch a video with vlc. But I have run into problems with | game emulation, specifically running retroarch/libretro just | doesnt work for me, I haven't dug into it yet. I have run | Minetest and several quake 3 engine based games on it with no | trouble. | | I'm probably going to build an Alpine or NixOS based workstation | from scratch using Wayland and Sway at some point in the near | future, this was an experiment with Debian I did that worked out | so well I just kept using it. | Teknoman117 wrote: | Just wanted to point out that rendering right before vblank has | been in Weston (the Wayland reference compositor) for at least 6 | years now. | | Even if Wayland was never fully adopted, I'm thankful for the | work that was done to allow usage of GPUs outside of X11... | calvinmorrison wrote: | Mostly, I just hate the treadmill. | | Over the last decade and a half I've written dozens of small | tools, applets, etc to hone my desktop environment I use. Half of | those have required patching, some don't work at all (like a | nifty oneliner I used to kill of hung ssh connections by | targeting the ssh process name, that no longer includes the ip or | domain). | | I will use X11 until I can't - simply because I do not want to | rewrite my tooling. | capitainenemo wrote: | Agreed. I use xdotool heavily, ssh -YC quite a lot. | underpowered devices... | | I'm going to stay on X11 as long as there are options. | Thankfully, there are still plenty of options, FOSS seems good | at that long tail. Just like MATE still offers me a nice simple | desktop that doesn't even force compositing for the | particularly wimpy laptop. | mftb wrote: | This is a good article, one of the best in this vein that I've | seen. The author clearly had some features that he really needs | from X and has been tracking their progress under Wayland. If you | find yourself in a similar circumstance, I think it's a good | read. | | My own experience was different. I came back to Linux as a daily | driver after years away. I bought a machine expressly to be a | good Linux workstation and set it up from scratch. So for me the | new stuff (Wayland (via Sway), Pipewire, etc..) has simply been | excellent. I just didn't have the legacy issues to deal with that | other people have. | slimsag wrote: | I recently tried switching to Linux with a few different distro's | (Ubuntu, Elementary OS, etc.) and use Wayland. | | The thing that sticks out like a sore thumb to me, and which I've | been unable to solve, is that apparently it's not possible to | configure trackpad scroll speed. At all. | | From what I was able to gather, Wayland/libinput say they | shouldn't be responsible for handling it and instead window | managers should[0][1], meanwhile gnome says wayland/libinput | should handle it[2] and ultimately - several years later - it's | still not possible to in pretty much any Linux distro that uses | Wayland(?) | | When I switch to my Linux laptop to test things, my trackpad is | bonkers and I have to move my finger in like 1mm increments | because otherwise I'd scroll like 10 pages in Firefox. It's | infuriatingly frustrating. | | [0] | https://gitlab.freedesktop.org/libinput/libinput/-/issues/18... | | [1] https://gitlab.freedesktop.org/wayland/wayland/-/issues/87 | | [2] https://gitlab.gnome.org/GNOME/gnome-control- | center/-/issues... | treffer wrote: | Huh, I am on Ubuntu 22.10 (current dev) and changed the track | pad speed yesterday. I think it was part of the regular mouse | settings in gnome. | mort96 wrote: | Scroll speed, not cursor speed. | commoner wrote: | I'm able to set the trackpad speed in both GNOME and KDE on | Wayland with libinput. In GNOME, it is under Settings > Mouse & | Touchpad > Touchpad Speed. In KDE, it is under Settings > Input | Devices > Touchpad > Pointer speed. Do these settings not show | up for you? | mort96 wrote: | They're talking about scroll speed, not cursor speed. When | using those high precision touchpads where you can scroll | pixel by pixel (so not line by line scroll wheel emulation), | it's impossible to configure the speed of that scrolling in | GNOME, and on a whole lot of systems, it's insanely | sensitive. | colordrops wrote: | Hmm, I'm able to adjust it on wayland so it's definitely | possible. | lewantmontreal wrote: | Similar to mouse wheel scroll speed being a single line and not | easy to change. Firefox does have a config setting for it but | chrome doesnt. | | Even Chrome OS scrolls a single line at a time. It feels so | wrong... | rvz wrote: | I just don't bother with all of that, since it has been years | without any improvement and with confusion of alternatives of | alternative system components that are not working together and | decide to fight against the OS as you have already explained | this inconsistency. | | At that point, I just use macOS to just get work done without | fiddling or googling cryptic errors for just using the trackpad | or hunting down and googling why either GNOME, Wayland, | LightDM, Dbus and LibInput and the video driver(s) decided to | have a fight and crash the desktop. | Cloudef wrote: | >Most of the compositing logic is actually handled by a library | called wlroots, a project that spawned from sway | | wlroots is actually fork of wlc, but i dont think theres any | original wlc code anymore, but my name seems to be in the LICENSE | file still :) | DC-3 wrote: | Hey, I recognise you! You're the bemenu guy! I must admit I | recently swapped `bemenu` out for `tofi` but I did use it for | several years and it worked well, so thanks for that. | giantdude wrote: | From https://wiki.ubuntu.com/Wayland "The X11 protocol was | designed around running graphical apps across the network. While | some people use this feature, it's far from common. Wayland drops | this requirement as a way to greatly simplify its architecture." | | X client and server are usually the same machine, but they don't | have to be. While on the road, you can use your notebook to open | a Gimp session on your home machine and edit an image stored | there. That is, the Gimp runs on your home machine while your | notebook has the GUI. | | This is a lot to give up for cool compositing effects... | mkl wrote: | https://arewewaylandyet.com/ lists Waypipe as a kind of | equivalent for that. I haven't tried it; does anyone know how | well it works? | | It also lists FreeRDP and wayvnc. | mccorrinall wrote: | I actually still use this feature a lot. I run some linux | software on a server and can see the window on my main desktop | without any need for rdp, vnc or similar. It's really great! | tryauuum wrote: | ...and it's usually extremely slow, even if you are connected | via 1Gbit wire. | | Edit: replaced 10Gbit with 1Gbit. And also I love using this | feature even with all its slowness | skykooler wrote: | On the other hand, this works increasingly poorly as most | desktop environments and software assumes there is no network | involved (for example, last time I tried running Firefox over a | forwarded X session I got a bunch of errors about a broken GL | context). And you can do the same thing, with usually better | results, by using VNC instead (and there are indeed VNC servers | for Wayland, for example wayvnc). | resoluteteeth wrote: | Without x2go most apps aren't usable over the internet now | because x11 was designed around assumptions that are no longer | correct and you end up with multiple round-trips during | rendering. | | Even X2go provides an experience that's strictly worse than | using windows via rdp. | | It just seems completely pointless to even bother with | something x11's network transparency if you're designing an x11 | replacement nowadays. | | It would be much better to focus on a new vnc replacement for | Linux that can use low latency video codecs when needed for | games, etc. | sprash wrote: | > x11 was designed around assumptions that are no longer | correct | | Nothing could be further from the truth. If you use Xrender | properly you can make very sophisticated drawing operations | that are extremely efficient over the wire and that are GPU | accelerated even when the process does not run on the local | machine. | | It is Gtk and Qt that for wahtever reason decided to ditch | their Xrender backends. | | > multiple round-trips | | This is also a problem introduced by badly designed tool-kits | like Gtk and Qt. It is trivial to design tool-kits in X11 | that require no round-trips. | | > It just seems completely pointless to even bother with | something x11's network transparency | | This is mostly true because desktop software on Linux is | mostly written by highly incompetent developers that produced | abominations like Gtk3+. | jcelerier wrote: | Qt didn't ditch it. I use it all the time. If you have | Debian it's compiled-in by default - just set | QT_XCB_NATIVE_PAINTING=1 | seba_dos1 wrote: | You don't need to have it baked into the core protocol for it | to work. Waypipe works pretty well for running Wayland clients | remotely. | tails4e wrote: | I use remote display of apps daily as part or work. I've a | Linux VM, and all compute or memory intensive programs run on | LSF with x11 forwarding or via direct login. Sure desktop users | don't need the remote part, but enterprise / high end compute | definitely does | colordrops wrote: | It's a lot more than just cool compositing effects. If you are | just trying to get some work done reliably with a dynamic | multimonitor setup, Wayland is vastly superior. | adamzegelin wrote: | You can also use Gimp via a RDP or VNC session, which will give | much better performance on low-bandwidth connections, since | those protocols do damage detection, only sending updates of | what's changed, and (lossy) compression. | | I'm not an expert, but my understanding is that the whole X11 | is network transparent thing worked great when apps used the | X11 drawing primitives. These days a significant number of X11 | apps just render _everything_ (often including window | decorations) "server-side" as bitmaps and then send them over | the wire to the client to composite them. Essentially the X11 | wire protocol has become a bitmap pipe. | | Wayland does the "bitmap pipe" thing more efficiently than X11. | testermelon wrote: | > These days a significant number of X11 apps just render | _everything_ "server-side" as bitmaps and then send them over | the wire to the client to composite them. | | Inferring from the quotation, I take it you mean application | server-side (instead of display server-side)? Just | confirming. | melling wrote: | "The Network is the Computer" | | For a time I had lots of xterms, emacs sessions, etc running | across the network. It's a great feature. | 2OEH8eoCRo0 wrote: | > While on the road, you can use your notebook to open a Gimp | session on your home machine and edit an image stored there. | | How practical is that? I have horrible upload speed at home | which ruins all these "just remote into your home machine" | workflows for anything more than a terminal. | echelon wrote: | > This is a lot to give up for cool compositing effects... | | I've used networked X windows and it's always felt like a | kludgy, crash-prone hack. The better solution is to render the | entire desktop remotely and stream it over wholesale, such as | with VNC and other protocols. | | If companies like YC's Mighty have their way, the future will | be thin-client based. And it won't be built on X Windows, | because that's the wrong layer of abstraction. | jcelerier wrote: | streaming the entire desktop is an absolutely horrendous | experience when compared to just ssh -X and running the app I | want | XorNot wrote: | Under Wayland you'd just be sending the window you want | instead. RDP can do this too, the point is that rendering | remote is just plain more efficient. | modeless wrote: | RDP works better in practice than X11 over medium bandwidth | and/or high latency connections. Nothing is being lost. | atq2119 wrote: | Realistically speaking, what matters is that openssh comes with | X11 forwarding built-in. | | Somebody should go and provide equally seamless "Wayland | forwarding". That might end up looking more like VNC under the | hood, but there's nothing inherently wrong with that. | seba_dos1 wrote: | Wayland forwarding has been there for years now: | https://gitlab.freedesktop.org/mstoeckl/waypipe | | Is it seamless enough for what you had in mind? | aaaaaaaaata wrote: | > This is a lot to give up for cool compositing effects... | | Wait, you think this is what this is all about? | | How about the cool security effects...?! | stefan_ wrote: | X11 is the worst remote protocol in the world because save for | about one year, it was never developed with that application in | mind. | ISL wrote: | I used X tunneling over ssh regularly from 2001-2020, when I | left that line of work. | | For some applications it is radically faster than other | options. | scottlamb wrote: | > While on the road, you can use your notebook to open a Gimp | session on your home machine and edit an image stored there. | That is, the Gimp runs on your home machine while your notebook | has the GUI. | | But that's never where I want the split to be when working | across the network. | | Remote storage? Sure, sign me up. (The POSIX APIs are horribly | unsuitable for network filesystems, but I'm speaking about the | concept more then the current implementations.) | | Remote heavy computations, like AI workloads and compilation? | Definitely. | | Remote GUI code? No ugh. Compare the experience of VS Code | Remote vs just running VS Code remotely with ssh X11 | forwarding, using a high latency connection. | | You are fighting the speed of light. It won't go well. | [deleted] | bayindirh wrote: | I don't know whether you used Remote X, but I used it in a | project, and it's extremely inefficient, esp. in thin client | applications, and if you try to carry anything like a video, a | 100mbps connection could easily be saturated by one pair of X | server and client. In other words, it doesn't work in any way | unless you have a gigabit LAN. | | NoMachine developed a couple of libraries called NX back in the | day, which transferred images and image deltas over with high | compression. We used this instead via in the same project (with | X2Go), and I reimplemented the same stack to my university | where 20 something users connected remotely to a single | "terminal" server to do remote research, and it worked like a | charm. | | While I like Remote X, it's still very inefficient even today. | So, unless it's made extremely efficient over normal internet, | over residential connections, it won't be missed. | | Moreover, the rarity of projects using Remote X, or abstracting | it with libraries like NoMachine kinda validates the idea is | the feature is considered a novelty and not used much. | | While I like the feature, I have feeling that it won't be | missed or sought after much. | | On the other hand what killed X is its code state, rather than | the complex architecture. It's haphazard development over the | years which made the code unmaintainable. | | Addendum: Remote X made sense back in the day. Carrying minimal | data, mostly terminal windows between terminals and central | mainframe/time sharing system, over relatively short distances. | I guess it's never designed and considered for long distances | like today's internet, hence it's left to the wayside. | aliqot wrote: | Remote X has been a godsend for me. I'm not always able to | lug around a worthy machine, so being able to use lesser | hardware as a 'thinclient' to my wireguard'd assets is very | handy. Obviously I'm not going to expect high definition | video or realtime gaming, but that's not what it's billed as | either, so within the scope of what it's for I'm wholly | satisfied. | | People on both sides sound somewhat fanatic, and I've never | understood that. I just want to use what serves me best with | the fewest interruptions. | | I ran wayland for 3 years in various forms, and could not | reconcile the bumps and stumbles in the process. Maybe next | year I'll give it a shot again. There has to be something | that it's doing for everyone for me to be hearing this much | about it still. | misnome wrote: | > Moreover, the rarity of projects using Remote X, or | abstracting it with libraries like NoMachine kinda validates | the idea is the feature is considered a novelty and not used | much. > While I like the feature, I have feeling that it | won't be missed or sought after much. | | It's not used or won't be missed _by you_. It's extensively | used today by science and HPC facilities and clusters, where | it's at best complementary to things like NX (with the | problems of basically having a second desktop instead of | integrating into the existing system), but often the only | option for remote GUI to heavier duty systems available, not | to mention the remote OpenGL capabilities which although out- | of-date and clunky, allows more efficient local rendering | than just streaming bitmap deltas. | bayindirh wrote: | As an HPC cluster administrator, I (and my colleagues) | don't see its use on our clusters, either. | | Instead, researchers either post process their data in the | user interface and download it to visualize, or get the raw | results and post process and visualize in their systems. | | Once in a blue moon, a user generates some output window | which requires very few interactions to look at their | preliminary data, that's all. | skybrian wrote: | Also, I suspect that the bandwidth used by a typical X app | was far lower back when it was invented. I remember seeing | some greyscale X terminals, and probably not many levels of | grey either. ___________________________________________________________________ (page generated 2022-09-18 23:00 UTC)