Live data from Hacker News

Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

github.com

51–60 of 75 posts

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#52
post #44
post #43

Earlier quoted context omitted.

As someone who actually researched X I don't really see the problems with it. Xorg has some, but the X11 protocol seems to have fewer problems than the Wayland protocol. For instance it already supports mixing windows with different colour modes, which can be used for HDR.

X11 the base protocol is wholly unsuited to the needs of modern display systems, full stop. Moreover, the base security profile is also completely outdated. Now you can always extend the protocol, and continue to use the myriad extensions over the years like XRENDER, DBE, DnD, etc, etc (or paper over deficiencies with contraptions like NX/x2go and Xpra). The question is what useful benefit is being provided by that m…

I don't think that using extensions to support new features is much of a problem - if you disagree with that then you'll have to admit that Wayland has an even bigger problem because it requires even more extensions.

X11 doesn't inherently require that many round trips. Xlib does, because Xlib is bad. But, for example, clients choose their own object IDs, so they don't need round trips to find the IDs of newly created objects. Of course it requires a few round trips to do anything, but that is also true of Wayland. The complaint was about excessive round trips, not a few.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#53
post #52
post #44

Earlier quoted context omitted.

X11 the base protocol is wholly unsuited to the needs of modern display systems, full stop. Moreover, the base security profile is also completely outdated. Now you can always extend the protocol, and continue to use the myriad extensions over the years like XRENDER, DBE, DnD, etc, etc (or paper over deficiencies with contraptions like NX/x2go and Xpra). The question is what useful benefit is being provided by that m…

I don't think that using extensions to support new features is much of a problem - if you disagree with that then you'll have to admit that Wayland has an even bigger problem because it requires even more extensions. X11 doesn't inherently require that many round trips. Xlib does, because Xlib is bad. But, for example, clients choose their own object IDs, so they don't need round trips to find the IDs of newly create…

> I don't think that using extensions to support new features is much of a problem

You are arguing issues that were not even raised. Read 1st para more carefully, especially the last sentence.

> X11 doesn't inherently require that many round trips. The complaint was about excessive round trips,

Why do NX, x2go, and xpra exist if the X11 protocol over high latency networks is such a peach? It's lovely that clients don't need to round trip for IDs, but this is like saying the Trabant is one the best cars ever made because it possesses a steering wheel (and fwiw Wayland has an even more flexible client side ID allocation). As already said, just because something isn't horrible doesn't mean it's any good either. There is so much other typical crap that has to go on that is suboptimal: property requests, chatty window management, inefficient frame synchronization, inefficient event handling. Even if certain operations don't require a lockstep roundtrip, overall chattiness also contributes to latency.

> Of course it requires a few round trips to do anything, but that is also true of Wayland

The Wayland project is not perfect (it is implementing de facto X12 and a large undertaking in a computing world much more complicated both technically and financially than 1986), but it's patently ridiculous and just misinformed to imply the core protocol doesn't address some fundamental shortcomings of X11. Meanwhile I thought it should be obvious that dispensing with the baked in network transparency of X11 was done as a conscientious choice not because a bunch of smart people just "forgot".

From https://ajaxnwnk.blogspot.com/2020/10/on-abandoning-x-server..., someone with actual skin in the game.

"So here's the thing: X works extremely well for what it is, but what it is is deeply flawed. There's no shame in that, it's 33 years old and still relevant, "... "Though the code happens to implement an unfortunate specification,"

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#55
post #18

"We've built X. It allows you to run graphical applications over a network." "Here's an optimization for when the X display is the same machine as the process." "We've built Wayland. We all run applications on the same machine as the display and X gets in the way." "We'd like to run applications from machines over the internet." "We've built Wprs. It allows you to run graphical applications over a network." That's th…

The X protocol is from a time before proprietary/differentiated GPU devices. Network transparency looks very different when you're doing simple stuff like "render a line" or "render a box". Nowadays even 2D applications are essentially sending arbitrary programs to a standalone accelerator (the GPU) which they expect to have incredible bandwidth. In the simple case of the past, it made sense to send the primitives. I…

No, way, that can't be right....?

Much of the reason RDP and WebGL work so well is that they send the raw command stream/assets to the rendering side rather than continuously sending a stream of compressed frame buffer data. RDP, for example, can send the raw video stream being played, or recompress it, and send it rather than trying to render it to the screen and then recompress the resulting output, which is what you get with something like VNC. Thats why its completly possible to stream video over RDP on links that choke up pretty much everything else.

For an incredibly wide range of things, high level GUI command streams are going to be significantly less data intensive than the resulting rendered and compressed video stream. AKA the GUI command stream is itself an applicaiton specific compresion algorithm. A draw line command can affect tens of thousands of pixels around the line due to antialiasing, and that won't ever compress as well as the drawing (x,y,brush). So while sending a bunch of textures, shaders, and the like might be a huge initial overhead, its going to quickly pay for itself over the lifetime as used in something like a game/etc, particularly at high resolution and refresh rates.

Never mind, of course, the overhead of doing a bunch of local rendering, compressing it, sending it over the wire, and doing video playback. If it weren't for hardware video encoding/decoding, it would essentially be a case of pegged CPUs on both sides just doing graphical updates.

This may just be one of the issues with Wayland compositing; over time, I've become more convinced that the loss of standard GUI widgets and a serializable drawing stream might be a huge mistake.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#56
post #19
post #18

"We've built X. It allows you to run graphical applications over a network." "Here's an optimization for when the X display is the same machine as the process." "We've built Wayland. We all run applications on the same machine as the display and X gets in the way." "We'd like to run applications from machines over the internet." "We've built Wprs. It allows you to run graphical applications over a network." That's th…

X being network transparent hasn’t been true for decades — no one uses xmotif and similar GUI libs, they just grab a buffer and paint stuff themselves, making the X protocol an inefficient format to carry bitmaps around. Local-first is the correct approach as the end computers are significantly more powerful than 30 years ago. Plus, we can transport bitmaps far more efficiently with compression, so it’s quite obvious…

"no one uses xmotif and similar GUI libs, they just grab a buffer and paint stuff themselves, making the X protocol an inefficient format to carry bitmaps around."

While true for things like firefox, and GUI libs that think they know better than the host, its not ideal, and entirely dependent on the language/toolkit being used. And it's a side effect of X being too low level and not having a standard widget toolkit as one gets on Windows/mac. On those platforms, it's not just the widgets but file open dialogs provided by the OS, skinned consistently across applications, and things like global keyboard shortcuts (ex, copy/paste) tend to work close to 100% of the time.

If one goes back to the win3.x/macos7/etc timeframe it was almost unheard of for applications not to follow system wide color themes. WHich is why "dark mode" 1995 worked more reliably than it does on any platforms today. Today, doing something like inverting to a "dark" theme is suddenly something that each application hacks in, and when the OS provides a theme option, the applications frequently don't follow it correctly/etc.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#57

Earlier quoted context omitted.

The X protocol is from a time before proprietary/differentiated GPU devices. Network transparency looks very different when you're doing simple stuff like "render a line" or "render a box". Nowadays even 2D applications are essentially sending arbitrary programs to a standalone accelerator (the GPU) which they expect to have incredible bandwidth. In the simple case of the past, it made sense to send the primitives. I…

No, way, that can't be right....? Much of the reason RDP and WebGL work so well is that they send the raw command stream/assets to the rendering side rather than continuously sending a stream of compressed frame buffer data. RDP, for example, can send the raw video stream being played, or recompress it, and send it rather than trying to render it to the screen and then recompress the resulting output, which is what y…

RDP hadn't worked that way for years.

https://techcommunity.microsoft.com/t5/security-compliance-a...

And we do have hardware encoding / decoding. The latency is quite reasonable, like 15ms in total, so modern solutions like parsec work for any app, including games and CAD.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#58
post #40

Earlier quoted context omitted.

There are two seemingly irreconcilable camps at this point as to whether X itself is fundamentally sound technology for remote display or any kind of display technology going into the future. There are many reasons hashed out to death about this. Yes you could continue to add new X extensions, and the second system effect is a real consideration, but neither of those are absolute arguments against starting fresh with…

> There are two seemingly irreconcilable camps at this point as to whether X itself is fundamentally sound technology for remote display or any kind of display technology going into the future. Are there? I don't think anyone seriously thinks X is the way forward do they? They just don't like some of Wayland's poor choices, which I think is fair.

> I don't think anyone seriously thinks X is the way forward do they?

A lot of people who don't work on X say this. I suppose that might not cross the line of "serious" though.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#59
post #21
post #18

"We've built X. It allows you to run graphical applications over a network." "Here's an optimization for when the X display is the same machine as the process." "We've built Wayland. We all run applications on the same machine as the display and X gets in the way." "We'd like to run applications from machines over the internet." "We've built Wprs. It allows you to run graphical applications over a network." That's th…

It’s not a circle, it’s plain stupidity. Running stuff over the network has always been a requirement and somehow wayland people decided so ignore that requirement, producing an half-assed spec and quarter-assed implementations. All this could have been avoided, and yet here we are…

What a strange comment. I was running applications over the network years ago using Wayland. Just because a new tool exists that you can do it with doesn't mean it doesn't work.

Running software locally has been a requirement for at least a few years by my calendar, yet I don't see you complaining about their network-first-patch-local-after approach.

Re: Wprs – rootless remote desktop for Wayland (and X11, via XWayland) applications

#60

Earlier quoted context omitted.

I love Spice too but it has been deprecated for a while now. https://access.redhat.com/documentation/en-us/red_hat_enterp...

Oh no. Thanks for passing the news along. EDIT: just an FYI for everyone interested, here's a bit of info about how Proxmox is handling it. TL;DR Spice is still at least maintained until 2029, so it's not going to just go away anytime soon. https://forum.proxmox.com/threads/plans-for-spice.113339/

On that thread they mention virt-manager being deprecated, how can that be?
Post reply on HN