Live data from Hacker News

Understanding the working of X11 from the ground up (2017)

magcius.github.io

21–30 of 134 posts

Re: Understanding the working of X11 from the ground up (2017)

#21
post #14
post #10

Earlier quoted context omitted.

From what I gather, Pipewire isn't part of Gnome, i.e. it's generic and can be used with any DE. For example, all compositors are using libinput, which replaces legacy ways of X handling input. It's not mandated by the protocol either. So I don't see why they can't use Pipewire for audio and video needs. If anyone wants to make a better alternative to standardize on - they are free to propose it.

But libinput is a freedesktop.org project, ie, supported by the same people who are working on Wayland. It was specifically built to support Wayland. Pipewire looks like some audio-visual framework for GNOME and GTK apps and while it might be fantastic it is both new and not very comprehensibly advertised. And it will probably be very complicated and involve some rather interesting design issues compared to building…

You're mistaken with pipewire, it's a daemon intending to replace pulseaudio at some point, it's not a gnome component. Screen recording is also available in wlroot based window managers.

The wayland environment is maturing quite fast now.

Re: Understanding the working of X11 from the ground up (2017)

#22
post #3
post #2

> I've made a personal decision to leave the Linux, X11, and Wayland worlds mostly behind. I understand X11 has a lot of unfixable problems, but what's wrong with Wayland world?

I'm running Sway WM right now, a Wayland compositor that implements an i3-compatible window manager, and in fact working on the code (hopefully merging my first contribution soon.) I'd say the biggest issue is really maturity. I actually find Wayland to be a surprisingly nice piece of software engineering. I don't know if I like the architecture really, but it comes together fairly nicely in the end. For example, the…

> The screenshot tool is just flat out not present when running under Wayland due to the above issue.

That's odd - it's present (and functioning) in my Firefox (69.0.1) running on Gnome-on-wayland

Firefox is generally quite crashy, however, which I'm guessing is Wayland-related

Re: Understanding the working of X11 from the ground up (2017)

#24
post #20
post #19

Money Quote: > So, a lot of the design of X11 is giving clients and apps a large set of tools to design and implement their app, without any real opinionated design about how an app should be made. An X client can use this tool or that tool to battle this tradeoff or that tradeoffs, and neither is fundamentally a wrong choice. That is something that can not be said about Wayland. Besides the "every frame is perfect"…

X11 and its ecosystem of applications isn't abandoned by Wayland, because you can run an X11 server on Wayland. By all means, debate the merits of Wayland itself, but don't lean on inaccuracies and conspiracy theories.

My window manager won't work, my hotkey daemon won't work, my screenshot tool won't work, any X11 program that draws to the root window won't work. Xwayland is obviously not a working solution to fix the ecosystem problem. Who is inaccurate now?

> debate the merits

Wayland has no merits. That is kind of the problem. It is just a reimplementation of stuff that worked.

Re: Understanding the working of X11 from the ground up (2017)

#25

This is a bit of topic but: Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead. It’s a pity that instead of improving the speed of the file system, everyone started to ignore it, hence making it’s speed even less important, and on and on... And now nobody uses the file system for these purposes.

> Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead.

As "dead" as Android (which is based on Linux, a Unix clone) and OSX (a BSD Unix) and iOS (child of OSX)? Why does Microsoft vibrantly support Linux in Windows 10 (an abomination to Ex-CEO Steve Ballmer) if Unix is "dead"?

I think the very opposite is true. Some developers realized that the KISS principle (including the Unix philosophy where everything is a stream of bytes) is not a bad idea after all.

https://blog.pragmaticengineer.com/software-architecture-is-...

Re: Understanding the working of X11 from the ground up (2017)

#26

This is a bit of topic but: Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead. It’s a pity that instead of improving the speed of the file system, everyone started to ignore it, hence making it’s speed even less important, and on and on... And now nobody uses the file system for these purposes.

The problem with file systems is that it is extremely difficult to build reliable systems on top of them. It’s shared mutable state with barely any error handling possibilities.

Re: Understanding the working of X11 from the ground up (2017)

#27

This is a bit of topic but: Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead. It’s a pity that instead of improving the speed of the file system, everyone started to ignore it, hence making it’s speed even less important, and on and on... And now nobody uses the file system for these purposes.

How do you think it should have evolved? I personaly think posix way of filesystem needs to be changed into specialized oject filesystems, but I am not sure what object filesystem for a UNIX OS should look like specially since it needs to be generalized into something all the other sub-systems can benefit from.

Re: Understanding the working of X11 from the ground up (2017)

#28

This is a bit of topic but: Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead. It’s a pity that instead of improving the speed of the file system, everyone started to ignore it, hence making it’s speed even less important, and on and on... And now nobody uses the file system for these purposes.

> Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead.

Brings back memories of the old days of the late 1990s trying out so many workstations running obscure Linux distros to actual UNIX OSes like IRIX, Solaris and HP-UX.

They all ran some variant of X11 which was part of the UNIX philosophy which I found interesting (X11 forwarding, startx, etc) but as the requirements of the desktop kept evolving over time, X11 just kept on showing its age.

Nowadays, Wayland is showing promise as a successor but I really don't have time to be messing around with these .xinitrc, .Xresources or dotfiles to get HDPI working on my MacBook these days.

Re: Understanding the working of X11 from the ground up (2017)

#29
post #24
post #20

Earlier quoted context omitted.

X11 and its ecosystem of applications isn't abandoned by Wayland, because you can run an X11 server on Wayland. By all means, debate the merits of Wayland itself, but don't lean on inaccuracies and conspiracy theories.

My window manager won't work, my hotkey daemon won't work, my screenshot tool won't work, any X11 program that draws to the root window won't work. Xwayland is obviously not a working solution to fix the ecosystem problem. Who is inaccurate now? > debate the merits Wayland has no merits. That is kind of the problem. It is just a reimplementation of stuff that worked.

The wayland project exposes what marvelous piece of software X11 really is since Wayland is still not able to compete, otherwise the whole Linux community would use it already.

I respect the intention and efforts of the Wayland community to make things better. However, I wished the community would have focused on making X11 better (easier to maintain with modularity etc.) instead of following the mainstream which is focused on eye candy and other sensual features to attract customers.

The unfortunate developments of KDE3/4, Gnome2/3 and Win7/8 exposed that boring usable functionality is much more important than exciting sensual functionality.

Re: Understanding the working of X11 from the ground up (2017)

#30
post #14
post #10

Earlier quoted context omitted.

From what I gather, Pipewire isn't part of Gnome, i.e. it's generic and can be used with any DE. For example, all compositors are using libinput, which replaces legacy ways of X handling input. It's not mandated by the protocol either. So I don't see why they can't use Pipewire for audio and video needs. If anyone wants to make a better alternative to standardize on - they are free to propose it.

But libinput is a freedesktop.org project, ie, supported by the same people who are working on Wayland. It was specifically built to support Wayland. Pipewire looks like some audio-visual framework for GNOME and GTK apps and while it might be fantastic it is both new and not very comprehensibly advertised. And it will probably be very complicated and involve some rather interesting design issues compared to building…

Some details here: https://tanukaskinen.wordpress.com/2018/11/12/pipewire-hackf...

    So far video applications on Linux have accessed the
    hardware directly, meaning that two applications can’t
    access e.g. a webcam simultaneously. Solving that
    problem, and screen sharing with Wayland, were to my
    understanding the main motivations for creating a video
    daemon.
So screen sharing on Wayland (that covers capture use case) was one of the main motivations behind it.

If both Gnome and KDE (the most widely used DEs) are behind it, I'd say it's already a major consensus on where things are going.

Also, it looks like even wlroots has some plans to support it: https://github.com/emersion/xdg-desktop-portal-wlr

And if anyone wants to propose a better alternative, like you said, they can do it.

Post reply on HN