Live data from Hacker News

I hate: Programming Wayland applications

p4m.dev

141–150 of 184 posts

Re: I hate: Programming Wayland applications

#141
post #99

Earlier quoted context omitted.

I might be mistaken, but isn't this what libraries like winit exist for? It might not be just for wayland, but it seems like it supports everything you mentioned other than drag and drop.

Generally yes (or GLFW, or SDL), but the Wayland project shouldn't delegate the job to burned out hobbyists (who will think twice before wasting their time with bad APIs). This client library should really be a mandatory part of each Wayland install as a system library, not part of the application. And most importantly, the Wayland project needs to start eating their own dogfood, or things will never improve.

"Generally yes (or GLFW, or SDL), but the Wayland project shouldn't delegate the job to burned out hobbyists (who will think twice before wasting their time with bad APIs)."

Who do you think work on the various parts in Wayland if not "burned out hobbyists"?

Re: I hate: Programming Wayland applications

#142

Earlier quoted context omitted.

Having some kind of access control list or other method of enforcing access rights for windows and clipboards is definitely a good thing. However, such a thing could be relatively easily added to X11 without changing the X protocol, so this does not appear as a sufficient motivation for the existence of Wayland. I have not tried Wayland yet, because I have never heard anyone describing an important enough advantage o…

Having a medium understanding of graphics hardware and software stack, and being an everyday desktop Linux user recently, it's hard to square these kinds of complaints with the actual technical situation. Like, people say X11 is network transparent but that's not in practice true. People argue the same problems could be solved in X11, but in practice despite a decade + of complaining about Wayland nobody did the work…

X11 is in practice network transparent.

That means that I can run a program, e.g. Firefox, either on my PC or on one of my servers, and I see the same Firefox windows on my display and I am able to use Firefox in the same way, regardless if I run it locally or on a server.

The same with any other program. I cannot do the same with Wayland, which can display only the output of programs that are running on my PC.

This an example of a feature that is irrelevant for those who have a single computer, but there are enough users with multiple computers, for which Wayland is not good enough.

Wayland was designed to satisfy only the needs of a subset of the Linux users. This would have been completely fine, except that now many Linux distributions evolve in a direction where they attempt to force Wayland on everybody, both on those for which Wayland is good enough and on those for which Wayland is not good enough.

I have already passed through a traumatic experience when a gang of incompetents have captured an essential open-source project and they have removed all the features that made that project useful and then they have forced their ideas of what the application should do upon the users. That happened when KDE 3.5 was replaced by KDE 4.

After a disastrous testing of KDE 4 (disastrous not due to bugs but due to intentional design choices incompatible with my needs), I reverted to KDE 3.5 for a couple of years, until the friction needed to keep it has become so great that I was forced to switch to XFCE. At least at that time there was an alternative.

Now, Wayland does not have an alternative, despite not being adequate for everybody. For now, X11 works fine, but since it seems unlikely that Wayland will ever be suitable for me, I am evaluating whether I should maintain a fork of X11 for myself or write a replacement containing only the functionality that I need. That would not be so complex as there are many features of X11 or Wayland that I do not use, so implementing only what I really need might be simple enough. The main application that I do not control would be an Internet browser, like Firefox or Chromium, but that I could run in a VM with Wayland, which would be preferable for security anyway.

Re: I hate: Programming Wayland applications

#143
post #96
post #84

Earlier quoted context omitted.

You should know that the constant criticism is basically what stabilized systemd - the core - and stopped systemd - the project - from stretching its arms over every component in the ecosystem, which obviously could create a single-point-of-failure. The upstream has made and still makes stupid assumptions that are totally denied by distros. You’re basically missing a lot of details here.

I seriously doubt spewing constant toxic bile did any of the sort.

You’re not being serious with your over-generalization dangling around.

Re: I hate: Programming Wayland applications

#144
post #31

Earlier quoted context omitted.

Not impossible, it just needs to be implemented at a different layer. The compositor needs to expose some API for global hotkeys. For example, I found this with ~2 minutes of Googling: https://wayland.app/protocols/hyprland-global-shortcuts-v1

And that's a problem, now instead of knowing that something just works in the WM you're using, you have to cross-reference a matrix of features for basic tasks across different WMs because the bare minimum features are not found in the core protocols. Nothing is standardized, it's just a pile of different WMs developing their own sets of custom protocols.

like the web and we saw how that went... Oh wait!

Re: I hate: Programming Wayland applications

#145

Earlier quoted context omitted.

The commenter above appeared to reference Wayland preventing apps from having unrestricted access to screen contents and clipboard, so those.

Having some kind of access control list or other method of enforcing access rights for windows and clipboards is definitely a good thing. However, such a thing could be relatively easily added to X11 without changing the X protocol, so this does not appear as a sufficient motivation for the existence of Wayland. I have not tried Wayland yet, because I have never heard anyone describing an important enough advantage o…

In the same sense windows are not network transparent when in fact RDP works perfectly, certainly much better that X11 over WAN.

Actually for wayland there is wprs for remote display of apps so here it goes the network transparency argument...

Re: I hate: Programming Wayland applications

#146

Earlier quoted context omitted.

Having a medium understanding of graphics hardware and software stack, and being an everyday desktop Linux user recently, it's hard to square these kinds of complaints with the actual technical situation. Like, people say X11 is network transparent but that's not in practice true. People argue the same problems could be solved in X11, but in practice despite a decade + of complaining about Wayland nobody did the work…

X11 is in practice network transparent. That means that I can run a program, e.g. Firefox, either on my PC or on one of my servers, and I see the same Firefox windows on my display and I am able to use Firefox in the same way, regardless if I run it locally or on a server. The same with any other program. I cannot do the same with Wayland, which can display only the output of programs that are running on my PC. This…

In practice for some applications, for my purposes X11 forwarding never really worked (due to GLX and bandwidth among other issues). So that's 50/50 anecdote. I just checked and it appears Wayland adoption has helped push apps to adopt EGL which helps. There are tradeoffs both ways but let's not pretend X11 is adequate for everyone or every application. Subjectively, when I use Gnome now it's by far better than any version of desktop Linux I used a decade or two ago.

Re: I hate: Programming Wayland applications

#147
post #64

Earlier quoted context omitted.

There are ~three groups in the systemd debate. People who grew up on sysvinit based service management and can't handle change (the partially straw man group you are complaining about). People who only know about sysvinit based service management and systemd and formed their opinions of systemd based on "sysvinit == terrible confusing shell scripts; systemd == config files" (you - as a first impression). And people w…

The ancient Linux sysvinit-based service management is a strawman, because the scripts available in various distributions were very heterogeneous and many were quite bad. There are other ancient service management systems that were much more coherent and which did not show any disadvantage in comparison with systemd, e.g. even the sysvinit-based service management of FreeBSD or other *BSD, which were and are much bet…

Interesting that you're saying the BSDs use something sysvinit-based. i never saw any runlevel idea there, which i thought was the primary marker of sysvinit? arch used to have an init system that felt very BSD-like. unfortunately they moved to systemd, and i went to void, but not happy with the init system there either. using linux used to be so much easier when "learning an init system" wasn't really a thing yet.

Re: I hate: Programming Wayland applications

#148
post #37

Reminds me somewhat of Vulkan. I think the trend of making the actual specification of something lower level and less convenient is rather logical. Why burden implements with a load of convenience functions when that could be left up to libraries?

Because the low level details tend to change over time and then it's too late and you're committed to supporting something that doesn't make sense anymore. like branch delay slots in some RISC cpus, or vulkan (https://www.sebastianaaltonen.com/blog/no-graphics-api)

Re: I hate: Programming Wayland applications

#149

Earlier quoted context omitted.

Not impossible, it just needs to be implemented at a different layer. The compositor needs to expose some API for global hotkeys. For example, I found this with ~2 minutes of Googling: https://wayland.app/protocols/hyprland-global-shortcuts-v1

> Not impossible, it just needs to be implemented at a different layer. Do you mean the Window Manager layer? That sounds like a different way of saying "impossible". In X11 I can create an automation tool that works regardless of the underlying WM, or even if there isn't an underlying WM. Can't do that with Wayland.

Currently there isn't really a "window manager" layer. Just like the automation / global hotkeys mentioned above, if you wanted a separate "window manager" your compositor would need to implement a protocol to expose window management. It looks like river is taking a stab at it with their river-window-management-v1 protocol: https://isaacfreund.com/blog/river-window-management/ . If they're successful we might see that protocol adopted by the other compositors.

Re: I hate: Programming Wayland applications

#150
post #95

Earlier quoted context omitted.

Keyloggers for example. Linux always has been a system were the existence of malware was ignored, specially Desktop, contrary to other OSes (tooling included). But since a couple of years ago can be observed (I observe) slooow movements trying to correct this colossal mistake. If this is the best way to do it or not, I do not enter. I particularly just welcome most of the advancements about this matter in Linux due s…

so the security um, hack here is that someone has unauthorized access to your machine. its not related to x11. If you run untrusted code, thats it... who cares about x11?

Why did you used the "untrusted code" term? sounds like if you were delegating all the weight over the user's shoulders,

two years ago, trusted code like xz-utils [0] had seven months of freedom in the infected systems.

[0] https://news.ycombinator.com/item?id=39891607

> its not related to x11

Ideally one want to detect malware the earlier possible, and try to restrict what they can do from the beginning, until is noticed.

In this case Wayland, voluntarily or not, it's more restrictive than X11 with the access to screen and keyboard.

I know, I know, later the reply of the community will be a couple of downvotes more and "that already existed", "you could use, bla bla bla", and this is how Linux is ten years (minimal) behind Windows in tooling for this matter ¯\_(ツ)_/¯

Post reply on HN