← Back to context

Comment by Sunspark

4 years ago

This is a very cool project and I wish them success.

From a technical standpoint, maybe it won't matter, but I am concerned about the fact that they're using (at this time) a Wayland compositor. I have read that Wayland has some problematic technical design decisions (which were not known when it was conceived) and now today we have the awful situation where most apps in my experience run better in X.org and some are ok in Wayland. From an eyestrain perspective, I find x.org less straining to look at than Wayland. This may have something to do with the drivers but the compositor plays a role for sure. I don't use Wayland by choice. Name a widely used app? Sure, Firefox web browser. Turn on "Use autoscrolling" in the preferences and see how it is. On X.org it is smooth, on Wayland it uses XWayland instead and is not smooth. Both projects are years old. Every single X11 app requires programmers to re-write/convert them to native Wayland. It should have just broken compatibility from day 1 and started from scratch.

BSD DRI drivers are copied over from Linux, just older versions of them, so I don't have a lot of hope that there will be new drivers or a new compositor (likely years away).

Apple, while Darwin is a direct descendant of FreeBSD, Apple is not using Linux DRI drivers, they have enough NDA access that they have their own closed drivers, and instead of using X11, they made their own GUI stack.

I want to say what should be done is to do what Apple did, make a brand new gui stack on top, but that's incredibly difficult with limited resources. With Apple or MS you have endless amounts of money and developers, with X.org & Wayland you have years and years of incremental development. It's tough.

Wayland doesn't have broken technical decisions, they're just different and require applications to adapt.

A typical examples is global hotkeys. On X11, any application can monitor all keystrokes at any time. On Wayland, applications only get keyboard events if they're in foreground. Global hotkeys must be done via a separate compositor API. This breaks applications which expect to be able to detect keystrokes when they're in background, but the "feature" they relied on also allows any random application to include a keylogger. Such applications need to update.

You mention Firefox uses XWayland. Firefox also has native Wayland support (I'm writing on it right now!). This is likely a mis-configuration at some level, or maybe the Firefox version is too old.

OTOH, things like scaling are completely broken on X11, and while the hacks around it improve over the years using a HiDPI display will likely never be as smooth as on Wayland. And if you have a laptop with a HiDPI display and a LowDPI external monitor, one of them is going to suck forever on Xorg.

We are, of course, on a transitional period. A lot of applications still need refinement. Qt in particular still has lots of bugs on Wayland. But these can be fixed, there's no broken design decision which makes them unfixable.