Hacker News new | past | comments | ask | show | jobs | submit login
Linux Mint Working on Wayland Support (linuxmint.com)
40 points by AdmiralAsshat on Oct 26, 2023 | hide | past | favorite | 54 comments



Regarding Wayland support, the gap between KDE/Gnome and these smaller DEs (XFCE, Cinnamon, Mate , LXDE etc etc) is getting wider and wider...


Yep! Though to be fair, it's mostly because KDE and GNOME are starting to merge really great Wayland support patches.

I'm personally not much of a fan of the way Wayland was rolled out or designed, but I do daily-drive it without issue on Plasma. It's far-and-away the better option for gesture-oriented workflows and gaming, and it feels more deeply integrated with the DE (for better and worse). It's the new hotness that all the gimmeck-obsessed Windows and Mac converts are going to want. You, me and the UNIX graybeard in the basement might get our feathers ruffled, but Bob and Alice get touchpad gestures.


> get touchpad gestures

Which ones?

Is there something beyond pinch zooming (which works on both) that works on Wayland and not on X?


All the Plasma desktop gestures are broken on x11, and if memory serves it's the same situation on GNOME. I spent a long time on x11 trying to get it to work (via Touchegg et. al) but eventually left for Wayland where it worked out-of-box.

And to be fair, some gestures do work on x11. 2-finger trackpad scrolling isn't precise but it works, and Chromium/Firefox both seem to work with libinput-gestures. The situation is completely different for native applications and desktops though (unfortunately). On Wayland, gestures work like they do on MacOS and Windows. On x11 they work like they did in Compiz.


Hot take (and sorry ahead of time): A bunch of open source developers drawing a line in the sand on which project they like to contribute to in a fragmented fashion instead of working together isn't great for the "end user".

Not that people should be forced to spend their time doing anything they don't want to do when it comes to free, volunteer open-source contributions. Just an interesting callout.

It's pretty clear why the gap is getting wider: too few people working on too many ways to skin the same cat.


The gap is getting wider for a very specific reason: Wayland. Unlike X.org, it doesn't have a single reference implementation that virtually everybody is using. Furthermore it is under-specified so DEs are forced to implement their own proprietary solutions to common problems until Wayland comes along with a third "official" way of doing it several years layer. These two factors result in deteriorating compatibility between the different desktop environments.

It used to be that if you used Gnome but really liked some KDE applications or utilities, you could just use those KDE applications under Gnome and it was fine. People can and did mix and match whichever parts of the different desktop systems they liked the most. I remember when I first figured out that it worked this way as a teenager, it was absolutely magical. But now, thanks to those two properties of Wayland this interoperability is being ruined. Application developers are burdened to support one, the other, or write even more code to support both. In their pursuit of simplicity, Wayland designers burdened application designers with this complexity.


Why do there have to be so many different:

C libraries

shells

window managers / desktop environments

package managers

Think of the global man hours wasted achieving basically the same thing slightly different ways


Why are there so many different kinds of cars, houses, razors, cereals, fruit, music, phones!

Think of all the time we would save if we would save if we drove to work in our Yugos, listening to bubblegum pop on our zunes before sitting down at our DOS workstations to write cobol!

You can't just pick a set of present day winners in the marketplace of ideas and pretend you can wave a wand and relocate all the labor that went into what you now think are the best things and make them even better. We arrived at our present day through an open marketplace where people were free to branch off and create and the resulting ideas cross fertilized. If you go back far enough all of the things you now regard as best in class were at some point an upstart which according to your priorities would be dismissed in favor improving something that by now is extinct because as things progressed it was deemed too inferior to continue improving.

In fact best being pretty subjective and its highly unlikely that most would even agree at any point in time which ought to be worked on and which abandoned and its entirely likely that if you convinced someone not to work on option B or C their labor isn't magically added to A. You may have noticed that individual projects have a certain vision on how their project is going to progress and B and C exist specifically because their vision differs from A. Deprived of the outlet of making B those developers might take on more commercial work or they might go fishing.

It's likely that an ecosystem that believed in your perspective to be impoverished by lack of choice but its unlikely for what you imagine the winners to be enriched. In fact many of them might not even exist.


> Why do there have to be so many different: [...]

Different shells/etc exist because people have different preferences. If all of these options didn't exist, then more people would be stuck with software that misaligned with their preferences.

> global man hours wasted

It's not effort wasted if the people who made all these things felt fulfilled in doing it; their effort was only wasted if they don't value their own work. There's no opportunity-cost to consider unless you think these people would have otherwise been devoting their manpower to some other FOSS project instead instead, which is a bad assumption. Somebody who wants to write a new shell does not necessarily have any interest in writing something else instead. Community FOSS development isn't like commercial software development, volunteer developers aren't "human resources" that get assigned to work on things that don't interest them. If for instance the fish shell didn't exist because it's technically redundant with bash, there's no reason to think that manpower would have gone to another FOSS project instead; the developers might instead have chosen to spend their time fly fishing.

If somebody's hobby was building model ships instead of unix shells and they built a model of the Titanic, would you say their manpower was wasted because thousands of other people have built similar models before? That's not really a reasonable way of criticizing hobby projects.


> Think of the global man hours wasted achieving basically the same thing slightly different ways

Like when Richard Stallman forked e's source code and built the little-known editor emacs.

Or when Linus Torvalds rewrote UNIX as a useless free kernel without tech support, documentation or mandatory subscription fees.

Or when Chris Lattner wrote his own scrappy C compiler and redundant intermediate language just to be cool and edgy.

Fuck it, why do we have technology at all? Why doesn't the government just tell us all what to do, think of the global man hours we could save with that!


These stories are weird, as they were all heavily driven by code licensing, which isn't at all (afaik... maybe I'm wrong and this is the back room reason we are all being forced in this direction) the story with Wayland.


Correct.

There is no evolution without mutation.


Most specifically the design of Wayland was designed in such a way as to actually create this situation by not having a functional reference implementation or capable libraries for individual environments for the first decade of development.


I honestly don't understand your comment at all. I'm not super familiar with Wayland.

Is it possible for a "smaller DE" or a lightweight WM to properly support Wayland or is Wayland support only possible with layers upon layers of bloat?

I'm asking because I'm still on X but I see that either I'll have to quit using Linux or I'll have to eventually move to Wayland. And I like my WM/DE ultra lean and ultra small.

If Wayland implies KDE or Gnome, I'm leaving Linux the day I cannot use X anymore...


So with X there is an official implementation and a window manager implements a very small amount of functionality on top of that.

Wayland has basically nothing anyone would use its merely a specification for each window manager to write their own implementation of X AND a window manager. 15 years in there is now a library or two to make it easier but its still none the less writing X + wm.


there are many wayland compositors like sway, hyprland, labwc and others i'm not aware of. sway is just i3, but done as a wayland compositor. i would expect you'll see more popular ones in the future. XFCE is goign that way as well, but slowly as expected.


Generally the worst offenders for Wayland support are closed source / abandoned apps that you should consider replacing. Zoom crashes if I try and screenshare, but google meet (in a chrome-alike) works fine. I don't want zoom anyway.


> Generally the worst offenders for Wayland support are closed source / abandoned apps that you should consider replacing.

Why? Why does a working program have to change because the windowing system decided to flip everybody the bird?

Windows doesn't do that. Linus himself will slam the wrath of God down upon anybody who breaks the kernel API. etc.

I'll go further. The whole damn problem is the fact that there is actually a choice between Gnome, KDE, Mint, etc. Windows has one window manager. macOS has one window manager.

Consequently, Linux has to wrestle with this stupidly horrible "Where is the dividing line between program, compositor, window manager, and video controller?" problem while other OSs simple put the problem where it belongs--in the damn OS.

The issue is that Wayland forced a whole bunch of shit work onto app developers because the Wayland developers didn't want to expend the work to deal with it either. (Cue jwz's "Cascade of Attention-Deficit Teenagers" rant)

Wayland is better. Take a look at copy-paste on X11 vs Wayland--well, actually, don't, X11 copy paste will make you throw up. Just use Wayland's copy-paste because you can actually figure out what your formats are.

Wayland would be okay but while DeadRat is trying to force it on everybody they aren't putting in the work to make it work for everybody.

And the app developers and users are quite rightfully salty and angry about all this.


I'd agree with you if X was actually maintained, but we need to accept that it isn't. And to be fair, 'one app can read another app's data' is a reasonable thing to break. For everything else XWayland is the intended path (imperfect as it is).


> I'd agree with you if X was actually maintained, but we need to accept that it isn't.

Which is a self-fulfilling prophecy as the Wayland developers were the X11 developers.

To be fair, I don't disagree with them. X11 was meant for a much different world.

However, the Wayland developers have made some significant architectural mistakes. Fractional DPI for scaling is a clusterfsck. The memory ownership model is disastrous and makes communicating with languages other than C/C++ actively problematic. I can go on and on.

Wayland, itself, needs more than a little bit of reboot at this point. Vulkan/DX12/Metal has won--Wayland should be built around those abstractions. WASM seems to be handling interop and bootstrap better and better--it should probably be based around that rather than DBus. Mouse/Touch/event/etc. management needs to be rethought and probably refactored as much as possible out of Wayland. etc.

I suspect a lot of the problem is of the same origin, everybody wants to have unified abstractions for mobile/web and desktop. The Wayland/Gnome people do not want to have to write code twice--once for mobile/web and once for deksptop. In reality that turns into mobile/web abstractions for everything and desktop can go suck eggs.


WASM isn't an IPC mechanism. DBus makes much more sense to use.


It's actually incredibly useful to have apps like window managers or apps that rely on manipulating user input like xcape read another apps data. In fact such are still possible just 10x as complicated as they now involve writing awful little programs in some combination of c and yaml instead of a dead simple single line shell invocation of a program.

See https://gitlab.com/interception/linux/tools

The fact that this can work at all seems to suggest that its just as possible for malicious code running as user to compromise your security and the only thing actually broken is useful apps.


>Why does a working program have to change because the windowing system decided to flip everybody the bird?

Because desktop Linux started off insecure and they are trying to tack on security to what exists. Keep in mind that xwayland exists so working apps will still work, they just can't escape the sandbox and interact with the rest of the system.

>Windows doesn't do that.

Windows has been trying to sandbox win32 apps for years. The difference is that Microsoft is made up of professionals who actually know how to develop and evolve an OS.

>Linus himself will slam the wrath of God down upon anybody who breaks the kernel API. etc.

No, Linus doesn't care about having a stable kernel API. Google had to develop a stable API for people to use.

> Take a look at copy-paste on X11 vs Wayland

Why are display servers handling copy paste in the first place? That is not where it belongs.


> Why are display servers handling copy paste in the first place? That is not where it belongs.

It is fairly obvious that since your clipboard can hold very valuable info or be used to get you to do something that compromises your security that something privileged needs to intermediate between Application A wants to put something into a shared mailbox and Application B wants to take it out.

Maximum security implies ensuring either action is done only by deliberate user interaction eg watching for real keystrokes or mouse usage.

It also needs to be done in a standardized way that individual apps including apps you can't modify or update can work with so that an extremely basic OS function doesn't break.

Can you explain why this doesn't belong in the display server and where indeed ti does belong?


Have you tried using Zoom in-browser? That worked last time I tried, and you avoid downloading a proprietary non-system package.


This is what I need to do to to be able to share my screen in Slack or Teams.


Okay I’ll just convince everyone at my company to switch off of zoom.

I don’t mind if people want to use Wayland. And in fact I am optimistic that someday we can all use it and X will be allowed to die. What I object to is the push from Wayland supporters to consider X deprecated when in practice there are a huge fraction of users for whom X just works and Wayland doesn’t.

(And yeah, I’m aware of the distinction between Wayland the protocol and Wayland compositors. Feel free to replace “Wayland” in this message with “every Wayland compositor I’ve tried” if that makes it more correct. It doesn’t change the fact that X works for me and the push to deprecate X before there’s a solid working replacement is misguided).


People you need to communicate with especially for work are unlikely to be impressed by your reason why everyone should use a different technology.


I haven't had luck with chrom(ium,e) using scaling, or vaapi, natively on Wayland. Firefox is a far better experience for me.


I've been using Chrome natively on Wayland for over 2 years as my daily browser. There used to be lots of bugs, but over the last 4 months, the only bug I noticed was a missing insertion cursor while typing in TEXTAREAs, and that seems to have fixed itself.

In the Display pane of Gnome's Settings app, I have "Scale" set to 175%.


they'll get that settled properly at some point, since chromeos is switching to a wayland compositor.


>Hypnotix, the TV viewer application

How is that app legal btw? Or more like how is it okay what Mint does? The majority of the streams are pirated. I know the app itself is open source and it's a frontend for Free TV but it's still sharing copyrighted content. https://github.com/Free-TV/IPTV/tree/master/playlists

It would be a different story if it comes "empty" like Transmission but it isn't.


Well, at least all the channels from my country are either public or advertisement funded channels that you can see for free, can you give some examples of pirated content?


FreeTV seems to claim to only have freely available legal content, is it actually just a false claim and it has pirated content?


Just curious, does the sort-of recent Xorg release (version 21.1 released in 2021), change anyone's equation regarding X vs Wayland?


Even running Wayland-first distribution, XWayland still keeps catching me off-guard.


[flagged]


Then you would have to wait forever because it is a goal of Wayland not to implement all of X.


Between that and distros and DE's saying they're going to remove X support, it really feels like a giant middle finger to anyone relying on said features.


what, inform me please, which distros and DEs say that? I couldnt find it by search.


In addition to what others have already mentioned, https://access.redhat.com/documentation/en-us/red_hat_enterp... says "The X.org display server is deprecated, and will be removed in a future major RHEL release."



the new cosmic DE doesnt support x11 at all. Fedora KDE SIG plans to not offer the x11 session in the session chooser.


I think you just made their point for them.


If their point is that they will be the ones maintaining X11, then more power to them.


Discussed previously at:

"I'm tired of this anti-Wayland horseshit (drewdevault.com)" https://news.ycombinator.com/item?id=26001179


The top comment there from AnIdiotOnTheNet clearly explains why the complaints aren’t “horseshit”.

As far as I can tell, no progress has been made in the last two years (since the problem is organizational, not technical, and the wayland architecture would have to drastically change to meet user expectations).


LOL, that was a great read. The more things change, the more they stay the same!

It reminded me of the WinModem times or the OSS -> Alsa times, and countless others. Oh my I've been around Linux for more than 30 years now.

It's always the same: "If it doesn't work, it's not the fault of the thing that doesn't work, it's always the fault of the [user/modem manufacturer/soundcard manufacturer/WiFi manufacturer/etc]"

As someone wrote in the article you linked: Most people don't care whose "fault" it is, they just see it is a problem with the Operating System. Can't share my screen on Chrome Ubuntu? sorry, in Mac/Windows I do it with one click, and without tinkering.

Wayland is yet another example of "tech guys" doing stuff without proper Product development. If Wayland was developed say, inside Apple or Microsoft, it would go form "what can people achieve" to "how can we make them do it in 2023" and not "X is old and ugly, let's create something new and shiny"

It's OK, it is Libre and Gratis. It is people doing it in their free time and they are free to do whatever they want. They just shouldn't expect everyone to agree with their approach.


The article you linked literally shows you that the problem is a setting in the browser that needs to be fixed.


> We don’t expect it to replace Xorg as default any time soon


Wayland will not and should not try to replicate all X functionality. Apps should be updated to work with the way Wayland does things.

This is absolutely necessary to reap some of the benefits provided by Wayland. There is no way around it. A big one is Wayland's security model, of which X has none, and adding such access controls to X would end up breaking the same apps.

The longer everyone sticks to X, the further it will fall behind Windows and macOS.


I honestly don't understand how "apps can't do X unless they prompt and get permission to" wouldn't both work for everyone and not prevent anything... I mean, there are probably only like two or three apps total each user is using that want this kind of "dangerous" functionality, right?


The problem is a lot of X apps are just built assuming they have these permissions. They have no mechanism to deal with needing to wait for the user to grant this permission. So when you try to do these things in xwayland, you run into undefined behavior.


It may not be the 5 to 10 years you want, but they did mention support being available in the 2026 timeframe.

As for catching up with X functionality, times change and software changes with it. Not everyone will appreciate that change and it is doubtful that anyone will be entirely satisfied (though some will see the benefits as outweighing what they lose).

Not that that really matters. It looks like Wayland will be the future of graphics on Linux. It is simply a matter of when people choose to adopt it.


With nobody working on remote GPU-accelerated rendering apart from Javascript and Wasm, it looks like the browser will be the future of graphics.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: