Hacker News new | ask | show | jobs
by shmerl 808 days ago
Buggier or not - it's too late to think X11 is the alternative. It's not. Wayland is going to get better for whatever is needed.

X11 is absolutely not the way to go.

2 comments

The question is "when?". Wayland is 15 years old, it already had a lot of time to "get better". So today, in most cases, I'd say X11 is still the way to go, it just works better.

When Wayland will get better and apps start supporting Wayland more than they support X11, it will be the time to switch, but at the glacial pace Wayland advances, chances are that your current system will be obsolete when it will happen.

It is still a good idea to consider Wayland support for your own apps and have at least a test machine running it, but doesn't mean writing apps designed to work with X11 like this one is a wasted effort. X11 is here to stay, for a while at least.

Further, it's not even clear that this kind of program is practically possible on Wayland. At best, that's yet another new protocol someone would need to invent that only some compositors would implement.
This was the question I came to ask. I've been a Wayland avoider because for me there was nothing "broken" to be fixed.

Occasionally, I've enjoying playing around with window management and hacking with WMs, using stuff like this and/or xdotool and wmctrl.

I was curious as to what this might be like in Wayland-land? Do tools like this even exist?

My understanding is that "window managing" tools like this are not possible due to how wayland handles information. Pro: More secure than x11, Con: I can't use wayland. Aside from investing a lot of time learning how to use a tiling wm I dont see how I'm going to get over my addiction to minimizing only the active window. ( xdotool windowminimize $(xdotool getactivewindow) )
For improved security with X11, try firejail+Xpra, or Qubes OS. They will not just help in the graphical front, but also others like processes and storage isolation.
Workarounds for the inherently broken security model of X11.

Gee, if only there were a modern display server protocol with a fixed security model!

Besides the limitations others have mentioned users should be aware that since ydotool works by writing events directly into /dev/uinput the input will go to whatever happens to be focused at the moment. It will happily type your secrets into a chat window if you move the mouse at the wrong time.

There is no way to do the equivalent of xdotool type --window 0x600005 "my important input"

It's not like xdotool is so secure in the first place. X11 is one huge hole from that perspective. Anything can read anything and all your important input can be read by some other window anyway.
>> Occasionally, I've enjoying playing around with window management and hacking with WMs, using stuff like this and/or xdotool and wmctrl.

Ydotool readme:

> Currently implemented command(s):

> type - Type a string

> key - Press keys

> mousemove - Move mouse pointer to absolute position

> click - Click on mouse buttons

So... No.

For what xdotool does - pretty much a substitute. For anything else you need a compositor specific tool.

KWin scripts or something might work for KDE: https://develop.kde.org/docs/plasma/kwin/

> Further, it's not even clear that this kind of program is practically possible on Wayland.

It's pretty clear. But some are too stuck up to even research it or be part of shaping it. Which is common among legacy vendors who very rarely even care to communicate with Wayland developers about their needs.

Those who aren't stuck up deal with it just fine (OBS Studio for example).

Lol - it's "stuck up" to prefer software that works? If you want people to switch, it'd help to actually cover their use cases. Showing up to proclaim software "obsolete" when the supposed replacement literally doesn't support the features in use, then... what, claiming we're bad people for not contributing to Wayland? is the cultural part of why people don't like Wayland. (In a distant second place behind the technical reasons people don't like it, which boils down to missing features and present bugs.)
Stuck up means they don't care to collaborate. If they don't, how would anyone know about their specific needs? Those who don't have this dinosaur mentality do work with Wayland developers and their needs are addressed faster. Others learn the hard way but also usually like to complain that "things don't work".
Maybe people don‘t because they see, for example, Valve (a billion dollar company) struggling to get GNOME to implement drm-leasing for VR headsets. IIRC they‘ve been at it for multiple years, too.

Or maybe it‘s because the compositor developers are not exactly concerned about ease of development. To quote a GNOME dev[0] about support for the aforementioned drm-leasing protocol:

> I honestly don't have a problem with forcing clients to implement the portal if they want to work on mutter.

I wouldn‘t blame the people who choose to simply not engage with that process, especially those who work on these things in their free time.

[0]: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2759

> The question is "when?". Wayland is 15 years old, it already had a lot of time to "get better". So today, in most cases, I'd say X11 is still the way to go, it just works better.

If you run more than one monitor with different DPI, Wayland is the only choice. If you want to do HDR, Wayland will be the only choice.

> When Wayland will get better and apps start supporting Wayland more than they support X11, it will be the time to switch, but at the glacial pace Wayland advances, chances are that your current system will be obsolete when it will happen.

Toolkit developers are already considering removing their X11 code paths. All of the effort is going into Wayland. The best time to switch was a few years ago. The second best time to switch is now.

I tried Wayland (Fedora 39) on two screens and the experience was so terrible and full of bugs I gave up after less than a day. New windows open at random locations and screens no matter what's focused, UI scaling of a window is sometimes wrong for its screen, at least once an hour the screens just go blank for a couple seconds etc.

For me it's definitely not usable yet, let alone the "only choice"

> All of the effort is going into Wayland

Yes, because it's still work in progress. And at some point in the future that effort will have paid off, but that's not now and definitely not a few years ago.

> Yes, because it's still work in progress.

And because the X11 maintainers decided that Wayland is the way forward and X11 will simply not get new display features like HDR.

What I care about are the existing features. Bugs don't look any better in HDR. I'm sure it'll all be fixed sooner or later but until then it's a downgrade for me, and I just don't get this "best time to switch" sentiment about an unfinished component that a user shouldn't even need to know about.
> And because the X11 maintainers decided that Wayland is the way forward and X11 will simply not get new display features like HDR.

Is Wayland a racket? Barely maintain the previous code instead of making clear that others should take it over because you are insterested in something else, then force everyone into your new incomplete code base, and probably bill for the reimplementation of basic capabilities, piece by piece.

OTOH, not everyone involved with X11 thinks it has no future. Keith Packard posted ideas [0] about how to improve it further.

[0] https://keithp.com/x-ideas/

What? It's been known that the X maintainers had moved on to devote almost all their efforts to Wayland for years now. And yes, part of the Wayland strategy has been -- much like with systemd -- to drag the community, kicking and screaming if need be, into modernity.

Anybody who wants to maintain Xorg is free to step up.

Nobody has really stepped up.

X11 has supported mixed dpi from nearly the very beginning.

http://wok.oblomov.eu/tecnologia/mixed-dpi-x11/

Is that article correct, that mixed DPI on Wayland works by just rendering everything to a virtual screen whose resolution corresponds to the maximum DPI of any physical screen, and then downscaling all the other screens?
Yet it doesnt seems to work (from nearly the very begining).
> If you run more than one monitor with different DPI, Wayland is the only choice.

I run multiple monitors with differing physical DPIs on X11. Yeah, that means they have differing resolutions. It doesn’t bother me, and I can do all the things that I want, unlike if I were using Wayland.

Maybe someday Wayland will be a replacement for X11, but that day is not today.

> The question is "when?

I'd say within this year already. Some major parts like explicit sync are being merged already. And all future work (like HDR) will only go to Wayland. Not to X11.

So this claim that X11 is a viable option is a fallacy.

It works. Therefore, it's viable.

It's my computer. I decide what's "the way to go" or "viable" there. None of your business. No one is forcing you or anyone to use it.

This is clearly a "I wrote it because it's useful for me, I put it online for whom it may concern"-type of project. You need to calm your tits and stop shitting all over people's hobby projects.

You can decide whatever you want. Being stuck with unsupported case (X11) you support yourself is "viable" as long as support yourself is something you can do.
It's not "unsupported". That's just not true.
X11 was absolutely not the way to go since the day it was released on 15 September 1987, but that never stopped it.
The difference is that back then there were people actually developing it, the Wayland core team is basically the developers left in the GNU/Linux ecosystem that still care about GUIs, most of them former X contributors.

There isn't anyone left standing to care for X11 development, only vocal users.