Readit News logoReadit News
kelnos · 2 years ago
I know this is just a "hack it together" effort, but I wonder if it even makes sense to emulate/support libevdev and libinput on non-Linux OSes.

While the Wayland protocol does reuse some libinput names/enums/etc., I don't believe there's anything in it that requires those particular implementations or APIs (that is, wl_pointer and wl_keyboard doesn't have to be populated by libinput).

Maybe wlroots should have OpenBSD-specific parts to its backend abstraction that use OpenBSD's usual input handling primitives. Granted, this would mean non-wlroots compositors would also have to implement this if they want OpenBSD support, but I'm not sure I'm convinced it's good for the OS ecosystem in general to standardize the userland interface that's provided to interact with more and more hardware.

Put another way, libinput seems fine to me, but part of the reason to have different OSes in the first place is to allow people to explore different approaches to doing things. Requiring that every OS that wants to have Wayland do things the libinput way seems counterproductive.

Relatedly, it seems silly to me to get seatd running on OpenBSD if OpenBSD doesn't support the concept of multiple seats. Compositors should just have a mode where a single, static seat is defined that owns all input and display devices.

themerone · 2 years ago
I think this is about preparing for a post X11 future. As Wayland continues to mature, classic X will attract fewer developer resources. I think it will eventually start to suffer benign neglect, and stop keeping up with new hardware.
badsectoracula · 2 years ago
> I think it will eventually start to suffer benign neglect, and stop keeping up with new hardware.

At least on Linux, Xorg and Wayland compositors use the same underlying APIs, so the chances of Xorg not running somewhere Wayland runs are pretty much zero - unless said new hardware is only exposed via a new kernel API and nobody bothers to update the modesetting driver for it and/or to write a new Xorg driver for the new API.

kelnos · 2 years ago
Not sure what your comment has to do with mine? I'm not debating whether or not X11 will stick around, or whether getting Wayland working on OpenBSD is a good idea or not. I was talking about the specific software dependency choices used for this rough port.
bandrami · 2 years ago
The OpenBSD team maintains and updates their own port of Xorg so the whole "what if xorg disappears?" hysteria doesn't really apply to that platform.
hist_thr · 2 years ago
Wayland is a replacement for X11 in the same way that a tricycle is a replacement for a tractor.

They have thrown everything difficult out of the spec and only implemented the most trivial functionality around a security model which you must actively break to get actual work (like screen shots) done.

That Wayland is 10 years old and still barely usable should tell you how far software developers have fallen in the last 30 years.

shmerl · 2 years ago
I think standardizing on libinput is a big deal, even if it's not required for Wayland use case. Otherwise it would have become a constant reinvention of the wheel.

Same goes for other similar use cases that aren't tied to Wayland protocols, but are critical for Wayland compositors to function and before used to be handled by Xorg in some unified fashion.

Deleted Comment

mananaysiempre · 2 years ago
> Maybe wlroots should have OpenBSD-specific parts to its backend abstraction that use OpenBSD's usual input handling primitives.

My (shallow and likely out-of-date) impression was that wlroots the library baking in Linux things was a more serious problem for porting than Wayland the protocol actually mandating anything seriously Linux-specific (I understand how the choice to use Linux key codes might be annoying, but still, meh). Have they gotten around to excising the event loop library out of there, for example?

emersion · 2 years ago
seatd isn't just about multi-seat. In fact, seatd doesn't even support multi-seat at the moment. See this post for more details: https://lists.sr.ht/~kennylevinsen/seatd-devel/%3C3561460.kQ...
klardotsh · 2 years ago
I've been wanting to give OpenBSD an honest shot on the desktop for years, but going back to X has always been a deal breaker for me (HiDPI and mixed/scaled DPI support, and tear-less graphics, are hard requirements that X handles horribly - yes, before the X apologists brigade me, I know because I used to hack X into horribly supporting these things).

This could finally let me dive into the only BSD that really catches my attention for potential to switch over - I applaud this effort!

amatecha · 2 years ago
OpenBSD is pretty sweet! been daily-driving as desktop OS (as in, not a server) for ~2 years now. Though, on a 1366x768 ThinkPad, so not too concerned about DPI hahah
shrubble · 2 years ago
I as a user haven't seen any reason to care about Wayland. And losing/dropping X11's network transparency seems rather surprising in a heavily networked world...
dagenix · 2 years ago
In my experience, running X11 over a network worked very poorly.

There is significant overlap between former X11 developers and Wayland developers. They didn't drop it because they are incompetent which seems to be what your are implying. The people that decided to drop it are probably the people that know X11 the best.

jmclnx · 2 years ago
>In my experience, running X11 over a network worked very poorly.

Well in my experience, running X11 applications using network transparency works perfectly fine. It can be a life saver when your server is a proprietary UNIX, these are still in many Fortune 500 companies.

I have/still use network transparency as: Linux/BSDs <-> BSDs/Linux and Linux <-> AIX.

I even ran a few (Xlib/Motif) applications as "Linux <-> Linux <-> AIX" where the middle Linux was a pass through server without any issues.

So, No issues with network transparency, that is why I will avoid Wayland as long as I can.

To the article, Wayland on OpenBSD looks like a very extremely project, wish you luck.

pengaru · 2 years ago
It didn't work poorly back when X clients were actually using Xlib for drawing primitives performed by the display server.

It started working poorly when X clients started rendering everything locally in the client and simply pushing pixels to the display server.

pravus · 2 years ago
It has worked great for me for decades and I currently stream live video over X11 on my LAN.

And no, I don't think the developers are incompetent, they obviously have different priorities than I do. Being able to shift an entire desktop environment over a network is something I've done since I started using the internet in various ways and I'll echo the sentiment that it seems incredibly useless to remove this feature in today's world.

To be quite honest I'm tired of this holier-than-though attitude. They dropped it because they are lazy or just don't want to support it and they should just be honest about that. They certainly didn't do it because it makes my life easier and I wish they would stop telling me I'm in the wrong.

mrweasel · 2 years ago
X11 over a network, even a LAN is a "last resort" kinda thing for me. It's neat an all, but as much as I dislike remote desktop and VNC, it's still better than X11.

The last time I had it working well was in 2005 using a full desktop session across a local network. The bit about only getting the one application across has always been a bit wonky. That's not to say that you can't do it, but it's not really a daily driver sort of thing.

zajio1am · 2 years ago
> In my experience, running X11 over a network worked very poorly.

In my experience, when combined with SSH compression (ssh -XC) it works well enough that even running Firefox over Internet is usable (although with noticeable latency). Without compression, it is unusable (for Firefox) even on gigabit LAN.

pmontra · 2 years ago
It worked well for me at my university in 1990. We had a large room full of 1024x1024 X terminals. We run our programs on some HP-UX shared server and displayed the pixels on those terminals over a 1 Mb/s LAN. No glitches.
shrubble · 2 years ago
I didn't say anything about competence, just that it seems an odd design choice.

Back when X11 was gaining traction the LAN was 10mbps and WAN was 1.5mbps.

Now people have true 1Gbit connections to the WAN and can easily have 10gbit or much more on the LAN...

scheme271 · 2 years ago
The networking parts weren't used that much and due to the way modern apps work, I think the networked parts were essentially transferring images instead of graphics primitives. So it was essentially doing stuff that a remote desktop app does but with potentially more security issues (e.g. apps listening into keystrokes intended for other apps).
59nadir · 2 years ago
I keep seeing friends who run Wayland have embarrassing issues with global hotkeys, screen sharing, etc., and I'm running X11 with a default config and standard drivers without literally any issue. I too don't see the point in switching when I'd be switching from a fully functional system that has basically no issues (and yeah, I don't get where multi-DPI setup issues come from; I have multiple screens with different resolutions and no issues, one of them is at 2560x1440 and the others are just 1080p standard) to a system that by most accounts seem to have at the very least 2-3 issues that impact basic workday things.
diffeomorphism · 2 years ago
Short comment: ssh -X is not what network transparency means.

You still have ssh -X functionality just fine without any network transparency required, e.g. waypipe or rdp (e.g. builtin on gnome) or vnc, .... Of course that is not going away.

throwawaylinux · 2 years ago
Network transparency at the GUI is not the way the "heavily networked world" is going though. In a lot of ways it doesn't scale. You want to administer and run things in a programmatic way, which means command line or an application specific protocol (which would have front-ends) so you can script and write tools for it and have that work over 1 or N machines.

So very few new things that require remote operation in the past 20 years should have baked in the requirement for a networked GUI.

yjftsjthsd-h · 2 years ago
I thought waypipe covered that?
CameronNemo · 2 years ago
Perhaps you are on hardware that does that not have this issue, but I had really bad screen tearing with an Intel iGPU running X11.
Monsterovich · 2 years ago
This looks like sabotage from the Wayland-centric mesa developers who didn't add TearFree to the core xorg modesetting driver because the older one had this feature. Use V-Sync in the compositor.
rkangel · 2 years ago
As a user who doesn't want to spend hours fiddling with config to make my PC work, Wayland is good for me. Plugging and unplugging monitors is now generally predictable correct in a way that it didn't used to be.
vasvir · 2 years ago
xpra saves the day when you have to go over a DSL line. If you have a direct LAN connection it may not absolutely required but it still helps.

RDP works great in LAN (win-win win-linux) and ok over DSL.

Plain ssh/X11 over DSL is a disaster but may be passable on a LAN.

RDP is the better protocol here and pipewire mimics it (I think) which is the correct thing to do. X11 was designed for throughput and not latency and that kills any desktop interactivity.

As somebody that my job depends on it I don't worry too much about the future of display networking. I think we would be ok at the end.

cccbbbaaa · 2 years ago
If you use the DRI2/3 extensions, or Xft fonts, and chances are you are, you don't benefit from X11's network transparency. Anyway, you can do forwarding with waypipe under wayland.
AJRF · 2 years ago
I am an outside observer but in any discussion of Wayland I always see this article referenced: https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d...

It seems like so much stuff is broken but the devs deny it is broken? And even with that situation - every major distro is making in roads to adopting it?

Is that a fair characterisation or am I off the mark?

vetinari · 2 years ago
It not broken. The complains on the linked gist remind me complaining, how introducing protected memory broke applications. And you couldn't read or write i/o ports directly in our app anymore, you had to go through so-called kernel! So much bloat!

So I put wayland is broken, because it doesn't allow what x11 did in the same way, ideally stomping on the others into the same category. For screenshots and capture, there's an API now (controlled, user is in the control, cannot be done behind his back. Scoped also, with granularity from window to desktop). For global shortcuts, there's an API in the making.

rcxdude · 2 years ago
> For global shortcuts, there's an API in the making.

This is kind of the problem, though. X11's model of 'everything can access everything' is obviously bad, but when wayland went with a more restrictive model they didn't provide a means for legitimate functionality like this. That's basically the origin of all the objection: things that worked on X11 don't work on wayland, because wayland's developers seem to be very slow to recognise and provide for things which were extremely common on X11. It's been 14 years and the API for global shortcuts is still in the making!

(And I know there's DE-specific interfaces for a lot of these things. But when you tell app developers this they're either going to implement it for their DE or not bother to implement it at all, as opposed to going through each DE and working it out, especially if it's more complex to support granular permissions and so on. So then users will see that app functionality breaks on wayland, and blame wayland, somewhat fairly)

zokier · 2 years ago
Wayland never was intended to be drop-in replacement for X11, so it's not surprising that it isn't. It's a much smaller scoped, lower level building block, which pushes more responsibility to DEs. It's not just different implementation, it's new model where the hows, whats, and wheres of desktop are getting re-evaluated.
WJW · 2 years ago
> every major distro is making in roads to adopting it?

The question then becomes whether you believe every major distro is part of some giant conspiracy to kill X despite them being in competition with each other and having incentives to keep supporting X if users want it, or if X may indeed have severe problems that Wayland fixes.

In practice most things run absolutely fine under both Wayland and X, but some programs integrated tightly with X back in the day and for various reasons they cannot be rewritten because the devs have moved on, died, or simply because there is no budget for it. Users of those programs are quite upset that the X developers have collectively decided that putting extra effort in X is no longer worth it because its problems are effectively unfixable.

AJRF · 2 years ago
I don't think it's that deep and never suggested a conspiracy.
Ericson2314 · 2 years ago
We've been doing some BSD cross work with Nixpkgs. A hope is that if we can extend that to NixOS too, and then it should be quite easy to checkpoint and share work like this for anyone to reproduce and pick up the baton on.
1MachineElf · 2 years ago
Can you share any more information about the BSD cross work with Nixpkgs?
Ericson2314 · 2 years ago
How to use it? Or what we've done?

For using it, you can try

  nix-build 'channel:nixpkgs-unstable' -A pkgsCross.x86_64-netbsd.libcpuid

  nix-build 'channel:nixpkgs-unstable' -A pkgsCross.x86_64-freebsd.libcpuid
For the gory details, check out https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specifi... and https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specifi...

mrweasel · 2 years ago
If OpenBSD manages to get Wayland working just the way they want it, with Pledge, Unveil, privileged separation and what have you, I would not be at all surprised if they also came up with their own compositor / window manager thing and a plan for removing X11 in future releases a few years later.
w0ne · 2 years ago
Hopefully one day we will see Wayland achieve the reputation it deserves and let it replace Xorg!
bitwize · 2 years ago
Now that Xorg development is moribund, people have been telling me "oh, there's always Xenocara".

It seems even in BSD-land, people are thinking seriously about moving on from X.

Netcraft sure as hell confirms it now: X11 is dying.