[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)