Live data from Hacker News

The death watch for the X Window System has probably started

utcc.utoronto.ca

141–150 of 518 posts

Re: The death watch for the X Window System has probably started

#141

Earlier quoted context omitted.

(I ran Linux + X11 as my sole desktop from 1996-2000. And then on and off again for years in VMs.) I'm not dismissing the need. I'm just saying that the other systems work pretty well, and this is not something that needs to be baked into the core of the display system. I used and loved Screenhero on the Mac for years before Slack swallowed them up. (Now there's tuple.app, made by some of the same people.) Prior to t…

Sorry if I misread your comment and thanks for editing it to make it clearer. But why are you so opposed to having this featured backed into the display system? After all you point out yourself that all display systems and up with solutions for this work flow. Why not do it right and build it into the display system instead of adding it after that fact (and usually in an inferior qay)?

I'm against baking it in precisely because it's not the right thing. Network transparency in X11 led to a design that didn't scale to meet the needs of the vast majority of users:

"The X11 protocol was never meant to handle graphically (in terms of bitmaps/textures) intensive operations. Back in the day when X11 was first designed computer graphics were a lot simpler than they are today.

Basically X11 doesn't send the screen to your computer, but it sends the display-instructions so the X-server on your local computer can re-create the screen on your local system. And this needs to be done on each change/refresh of the display. So your computer receives a stream of instructions like "draw line in this color from coordinates x,y to (xx,yy), draw rectangle W pixels wide, H pixels high with upper-left corner at (x,y), etc." The local client isn't really aware what needs to be updated and the remote system has very little information on what the client actually needs, so basically the server must send a lot of redundant information that the client may or may not need. This is very efficient if the display to be rendered consists of a limited number of simple graphical shapes and only a low refresh frequency (no animations and such) is needed. Which was the case back in the days when X11 was first developed.

But modern GUI's have a lot of eye-candy and much of that needs to be send from the remote system to your client in the form of bitmaps/textures/fonts which take quite a lot of bandwidth. And all sorts of eye-candy includes animated effects requiring frequent updates. And the displays keep getting bigger too, twice as wide/high is 4x the number of pixels.

Of course, over time, enhancements to the X11 protocol were made to optimize this as much as possible, but the basic underlying design is, in essence, simply not well suited to the demands of the kind of GUI's people nowadays expect.

Other protocols (like RDP and VNC) are more designed to let the remote system do all the hard work and let that system decide which updates to send to the client (as compressed bitmaps) as efficiently as possible. Often that turns out to be more efficient for modern GUI's.

Neither method is perfect and can deal with every situation equally well. There is no such thing as a single display-protocol that can do well under every conceivable use-case. So in most cases you just try all protocols that are supported between your local client and the remote server and use the one that gives the best results. And in some cases there is no choice and you just have to make do with whatever is available.

Most protocols do allow some performance tuning, but many of these settings are server-side only and not available to the average user. (And configuring them properly is a bit of an arcane art. A lot of sys-admins won't be willing to mess with that.)

In most cases the easiest way to improve performance (sometimes quite dramatically) is by switching to a more simple desktop environment with less eye-candy and forego the use of background images."

https://superuser.com/a/1217295

Re: The death watch for the X Window System has probably started

#143
post #7

Are there any major x11 features that wayland lacks other than remote operation over a network? I think at one point it locked the refresh rate to 60hz, has that been changed?

HiDPI. It's somewhat unusual for a top end laptop to have 1920x1080 screens these days, and Wayland doesn't support 4k very well. You can upscale, but it looks like garbage, or it has a 2x mode, which draws image and such slightly too large, or you can deal with everything being tiny. For gaming, the latency is bad and always on vsync is horrible. They've fixed the 60Hz lock though, fortunately. This only applies to…

A lot of what you're saying seems due to a particular Wayland compositor, not to Wayland.

Re: The death watch for the X Window System has probably started

#144

Earlier quoted context omitted.

I would love to use Wayland, currently I only use it to watch movies without tearing. Anecdotally, everything feels brittle when using Wayland, applications crash... I really hope it matures.

Which video card/driver do you use? I have used Wayland for two years now without any noticeable problems. Before that, bugs in GNOME would often bring the whole graphics stack down. (This is on amdgpu and later intel. I had a lot of problems with nouveau.)

It's some AMD Radeon with 8G so reasonably beefy. Not sure about the driver, I choose AMD for Linux graphics to not have to think about that I suppose, Nvidia used to be (still is?) a headache on Linux.

Re: The death watch for the X Window System has probably started

#145
post #127
post #122

Earlier quoted context omitted.

I grepped wlroots for "nvidia" and got no hits.

https://github.com/swaywm/sway/blob/9670ccee683ab985e89eb043...

Have you tried building from source and editing this code to not invoke?

Re: The death watch for the X Window System has probably started

#147
post #109

This is troublesome, and it feels like "progress" for the sake of "progress" rather than actual improvements. The X Window System is time-tested technology, while Wayland, from what I've seen and read, is not. This isn't a good thing to me, especially considering NVIDIA hardware doesn't seem to be well supported. Someone come along and correct me, please.

X11 is a pile of hacks. Have you ever tried to read the source code? When the X11 devs design a new system and stop maintaining X11, it's likely that X11 is not in a good shape.

>This isn't a good thing to me, especially considering NVIDIA hardware doesn't seem to be well supported. Someone come along and correct me, please.

It's the other way around: NVIDIA doesn't support GBM, the standard for buffer allocation.

Re: The death watch for the X Window System has probably started

#148
post #92
post #85

Earlier quoted context omitted.

Which NVIDIA graphics card do you own? I’m surprised Sway doesn’t support certain graphics cards. I believe the goal of wlroots is to solve this problem: > wlroots provides backends that abstract the underlying display and input hardware https://github.com/swaywm/wlroots

Sway generally doesn't support NVIDIA, or it's rather NVIDIA that doesn't support common kernel modes that Wayland needs. Details here: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html

> Every GPU vendor but Nvidia supports these APIs.

> About a year ago Nvidia announced “Wayland support” for their proprietary driver. This included KMS and DRM support (years late, I might add), but not GBM support. They shipped something called EGLStreams instead, a concept that had been discussed and shot down by the Linux graphics development community before.

That’s pretty damning for Nvidia. I can see why the developer is so upset. Must be tough working on OSS in that type of hardware environment.

Looks like AMD is the way to go for desktop Linux boxes going forward. Although it looks like both Dell XPS [1] and System76 [2] is still using NVIDIA. Purism Librem uses the Intel i7’s embedded GPU [3]. I’m curious what the ideal Linux laptop is these days…

[1] https://www.dell.com/en-ca/work/shop/cty/pdp/spd/xps-15-9570...

[2] https://system76.com/cart/configure/oryp5

[3] https://shop.puri.sm/shop/librem-15/

Re: The death watch for the X Window System has probably started

#149
post #42

A tad concerned about this because my system still heavily relies on X and there really isn’t an alternative for my applications (yet). Wayland isn’t supported for many applications.

Does XWayland not solve your issues? It’s a pretty good (seamless) compatibility layer. Of course, it still involves running an X server, but applications can switch to Wayland one at a time and you can use both simultaneously.

Imho XWayland is "too good". There's little incentive for software like Chrome to port over to Wayland if it runs on it seamlessly via a compatibility layer.

Re: The death watch for the X Window System has probably started

#150
post #127

Earlier quoted context omitted.

https://github.com/swaywm/sway/blob/9670ccee683ab985e89eb043...

If this check were not here, Nvidia would still not work. This serves to reduce our bug report volume. However, by deleting these few lines of code (or specifying the appropriate command line argument), Nvidia could work tomorrow if they shipped GBM support.

If that check were not there, would intel for display + nvidia for compute work? Better chance than now.
Post reply on HN