Hacker News new | ask | show | jobs
by yjftsjthsd-h 779 days ago
Had to dig to the bottom of https://www.raspberrypi.com/documentation/services/connect.h... to find confirmation, but using wayvnc. So a little funny to me that they only support Wayland; x11vnc is easy to use.

EDIT: Actually for that matter I can't see why this is arm64-only; AFAICT everything it needs should run fine on 32-bit. I wonder if this is just a minimal first version?

Also, I can't find any confirmation - is all of this open source or not?

3 comments

All else equal, targeting and supporting one thing is easier than two, so limiting your target to (wayland, aarch64) makes sense just in terms of resource allocation.

Secondarily, I would wonder if older/32-bit devices might not end up being a little too resource-constrained to be either a bad customer experience (driving more support load), and/or making development too costly.

It would need to be tested and properly integrated with x11vnc. As the goal is to move away from X11, it doesn't seem likely that they would invest time into that.

Besides, if you have x11, you can still use RealVNC.

> It would need to be tested and properly integrated with x11vnc.

True, although if you already have wayvnc that's like a day of work; AFAICT x11vnc and wayvnc are nearly drop-in replacements.

> As the goal is to move away from X11, it doesn't seem likely that they would invest time into that.

It may be the goal, but is it the present? All the articles I can find about the pi transition to wayland say it's the default for the pi 4 and 5 but not anything else. Which is consistent with

> First of all, Raspberry Pi Connect needs your Raspberry Pi to be running a 64-bit distribution of Raspberry Pi OS Bookworm that uses the Wayland window server. This in turn means that, for now, you’ll need a Raspberry Pi 5, Raspberry Pi 4, or Raspberry Pi 400.

but raises the obvious point that supporting X11 would be helpful to support earlier models. (Along with 32-bit support, which I also am surprised at them not including.)

> Besides, if you have x11, you can still use RealVNC.

And if you use wayland, you could just use wayvnc directly. The whole point is to wrap it up in a nice package and add just enough central server to deal with connectivity.

X11 is legacy, and the faster we bury it, the better. A display server that predates Perl and Windows 2.0, and has some of the worst code quality in the world, has no place in the future of Linux desktops.
Getting rid of something just because it's old does not seem to be a valid justification. Sure, it's great to rewrite something and make it better, but unless the new thing supports all of the legacy display devices, modes, and protocols, you'll lose something when you "bury" the legacy project.
Well, how about the following justifications:

1. It's ancient, and was made for the graphical requirements of computers from a time before Windows 2.0 even hit shelves. Go back and look at Windows 1.0 - that's the kind of graphics this was made for.

2. Almost nobody understands the code. The contributors have openly said they are probably the only dozen people who could ever work on it.

3. Those contributors hate the job, and have basically abandoned Xorg since 2018, with only one minor release in 2021. Xorg is nowadays abandonware. It still works - but it's still abandonware.

4. X11's design was feature creep from the very beginning. At one point it even handled printing before CUPS was invented and that part was ripped out. The fact that it tried to be many things at once, then was "simplified" into "only" being a graphics server, has caused the code to be abysmal [https://www.x.org/archive/X11R6.9.0/doc/html/Xprt.1.html].

5. Nobody knows how many security vulnerabilities are in X11. When you have a decades-old codebase in C, anything can happen - especially when for most of the time, it was never fuzzed or testable. In 2013, just one security researcher found over 120 bugs in just one part of X11 (GLX) [https://media.ccc.de/v/30C3_-_5499_-_en_-_saal_1_-_201312291...]. Just last year, two major security bugs were found, both dating back to February 1988 [Note 1, https://lists.x.org/archives/xorg/2023-October/061506.html].

6. Criticism of Xorg as being an extremely flawed design is not new, or even a criticism because we have modern devices. Even in 1994, scathing reviews were well known. https://web.archive.org/web/20091111071410/http://www.art.ne...

It's time to move on. Yes, some things will be lost. That's the cost of progress. We lost the ability to run 16-bit DOS programs decades ago. Ironically, X11 is older than many DOS programs.

[Note 1] Living proof that "open source" does not necessarily mean "more secure," especially when the source code is so complex that "security by obscurity" becomes the actual security strategy. 35 years is older than many people in this forum.

> Those contributors hate the job, and have basically abandoned Xorg

In fairness to X, Wayland contributors seem to hate their jobs as well.

One more thing, even though this is going to be a controversial point:

Some might say, "But Wayland breaks XYZ, or can't do XYZ!"

I'm just going to quote Adam Jackson, who was the project owner for X.org at Red Hat:

"I'm of the opinion that keeping xfree86 alive as a viable alternative since Wayland started getting real traction in 2010ish is part of the reason those are still issues; time and effort that could have gone into Wayland has been diverted into xfree86."

Controversial is underselling it. "Just break things for users to try and get them to give up the working thing and move to our half-baked replacement" is everything that's wrong with Wayland.
I think you're missing the point. Xorg would have broken in every way Wayland has, and far worse, had it not been consuming all of the resources that should have gone into Wayland. Xorg is like a 1987 Hyundai Excel held together with duct tape, being replaced with a 2008 Toyota Yaris. With people complaining the Yaris has smaller cargo space, so we clearly need 7 more rolls of duct tape.
Now we have ageism for software too, eh? Is "vi" legacy? Is "ls"? Do we need a modern electron-based directory-listing application?

It is not "old"! It is "complete", "settled", and "stable". Not everything needs to be replaced and rewritten just because it is old.

If you ask an Xorg contributor, Xorg is anything but "stable" or "settled." A more correct analogy would be "collapsing under its own technical debt."

"Programming X is like reading one of those French philosophers where afterwards you start wondering whether you really know anything for sure." - Thomas Thurman (GNOME developer)

"Wayland wasn’t designed to be a drop-in replacement for X11 any more than Linux was designed to replace Windows. Expectations need to be adjusted to reflect the fact that some changes might be required when transitioning from one to the other." - Nate Graham (KDE developer)

"Three people on this earth understand X input, and I wish I wasn't one of them." - Daniel Stone (Freedesktop Project)

"Let me summarize every wayland discussion on the internet: I'VE SEEN A WINDOW SYSTEM SO I KNOW HOW THEY SHOULD WORK PAY ATTENTION TO MEEEEEE" - Adam Jackson (former Xorg project owner, Red Hat)

And the classic 1994 criticism:

"If the designers of X-Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles -- but you'd be able to shift gears with your car stereo. Useful feature, that." - Marus J. Ranum, Digital Equipment Corporation

Sounds like X11 needs its own equivalent of LibreSSL, but it looks like the will is there (many supporters of X continuation), but not the manpower.

In days of yore (when Windows 3 was young), there were even commercial X servers (Hummingbird I think it was), so there's plenty of other people implemented the protocol.