xdg-desktop-portal VS awesome-wlroots

Compare xdg-desktop-portal vs awesome-wlroots and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
xdg-desktop-portal awesome-wlroots
154 6
525 137
4.0% -
9.4 0.0
1 day ago 9 months ago
C
GNU Lesser General Public License v3.0 only Creative Commons Zero v1.0 Universal
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

xdg-desktop-portal

Posts with mentions or reviews of xdg-desktop-portal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-29.
  • Flathub: One million active users and growing
    2 projects | news.ycombinator.com | 29 Jan 2024
  • Changes to xdg.portals?
    2 projects | /r/NixOS | 28 Nov 2023
  • PCSX2 Disables Wayland Support
    7 projects | news.ycombinator.com | 26 Nov 2023
    >Not losing all the work every time your windows manager crashes

    https://news.ycombinator.com/item?id=37509703

    >remapping keys

    >Use xinput to change parameters of their input devices (libinput dropped most configuration options present with evdev)

    Up to the compositor.

    >Global shortcuts

    Also up to the compositor. Was added to xdp in https://github.com/flatpak/xdg-desktop-portal/blob/main/data... so it's up to the compositor's xdp impl to provide it. It was created by a KDE dev so I assume KDE implements it at least.

    >tunnelling over ssh

    https://gitlab.freedesktop.org/mstoeckl/waypipe

  • Gnome developer proposes removing the X11 session
    3 projects | news.ycombinator.com | 14 Oct 2023
    > - O proper screen recording support

    Works just fine. I use OBS.

    > - broken screen sharing

    Never had any trouble with it.

    > - No proper global keyboard shortcut

    > - No push to talk support

    On its way: https://github.com/flatpak/xdg-desktop-portal/pull/711 / https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.free...

    > - Several problems with multiple screens

    Haven't had any more than on X11, but then again I do use Nvidia hardware on Linux.

  • The Guy Preserving the New History of PC Games, One Linux Port at a Time
    1 project | news.ycombinator.com | 10 Sep 2023
    It might help, but at this point Linux containers can't really stabilize the whole environment, especially for games. Particular pain points include accelerated graphics (which theoretically can have a stable kernel interface, but in practice is so complex and performance-sensitive that it's not stable enough to be a "reference platform", so to speak) and modern game controllers (which present a whole mess of concerns typically "addressed" in Flatpak by granting the device=all permission and hoping for the best [1]).

    I also know a guy who ran into issues with a kernel update breaking a custom allocator, although I don't know the fine details. That wasn't for a game, but games also use custom allocators for various reasons.

    [1] https://github.com/flatpak/xdg-desktop-portal/issues/536

  • Unpacking Elixir: Syntax
    4 projects | news.ycombinator.com | 8 Sep 2023
    I don't use Wayland, but it seems xdg-desktop-portal since 1.16.0 has a 'Global Shortcuts portal'. Perhaps check it out.

    https://github.com/flatpak/xdg-desktop-portal

  • UX Hurdles in Open Source #1: Flatpak Permissions
    1 project | /r/linux | 27 Jun 2023
    It's being discussed: https://github.com/flatpak/xdg-desktop-portal/issues/611
  • Advice: TW or Aeon
    2 projects | /r/openSUSE | 26 Jun 2023
    The first bug report was filed in early 2022 but unfortunately no progress yet on the matter, even after numerous similar reports ever since.
  • Native messaging for Firefox
    1 project | /r/flatpak | 23 Jun 2023
  • Xdg portal hyprland and launching gui apps
    2 projects | /r/NixOS | 21 Jun 2023
    Yeah been having the same issue since I changed to using the unstable branch, supposedly noticed and fixed upstream for a few variants of the problem (different people with different configurations of DE and xdg-* deps installed report the same issue due to timeouts of the other portals)

awesome-wlroots

Posts with mentions or reviews of awesome-wlroots. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-15.
  • Firefox Is Going to Try and Ship with Wayland Enabled by Default
    3 projects | news.ycombinator.com | 15 Nov 2023
    If you are scripting-heavy user, I recommend trying out one of WMs based on wlroots (or implementing its custom protocols). Core Wayland protocols are designed with security in mind, which doesn't necessarily let you have all the automation fun. wlroots protocols bring back most of X11 capabilities at the cost of having similar security model.

    https://github.com/solarkraft/awesome-wlroots is a pretty nice list of various CLI utils you can use. Sadly I don't think anyone aimed to 1:1 replicate APIs of xdotool etc, so you will need to change the syntax in your scripts a bit.

  • Three signs that Wayland is becoming the favored way to get a GUI on Linux
    3 projects | news.ycombinator.com | 13 Jul 2023
    An incomplete list of compositors (they forgot hyprland):

    https://github.com/solarkraft/awesome-wlroots#compositors

    Among non-tiling ones are: hopalong, labwc, laikawm, tinybox, waybox, wayfire.

  • Wayland: “Move fast and break things” as a moral imperative
    2 projects | news.ycombinator.com | 23 May 2021
    This appears to be an attempt at trolling or bait (“Drew Default”) but I’ll bite.

    > Wayland ostensibly supports several dozen extensions, but only the GNOME-blessed extensions can be reasonably expected to work.

    Instead of actual protocol extensions it seems like the author is talking about desktop tools. “only the GNOME-blessed extensions can be reasonably expected to work” oh GNOME and nowhere else, because GNOME has a “loose relationship” with standards. Meanwhile the rest of the ecosystem is unifying behind wlroots, which coincidentally I have made a small list of tools for that cover most needs: https://github.com/solarkraft/awesome-wlroots

    > I can assure you that it’s a nightmare. Creating a new compositor would be a hellish experience. Ask any distribution packager who works with Wayland to share their horror stories — they have many.

    Distribution packagers try to make compositors? Maybe they should take a look at wlroots.

    > Even on the supported platforms it comes with a substantial burden on build requirements, calling for 10× to 100× or more RAM, CPU time, and power usage.

    Obviously not. Some sessions on GPU acceleration being available nowadays, but that’s not a new development. The GNOME Wayland session has been demonstrated to be faster than the X session (many years ago on a Raspberry Pi).

    > Novel hardware which addresses issues like microcode and open hardware, like POWER9 and RISC-V, are also suffering under Wayland’s mainstream-or-bust regime.

    Why? What does “mainstream-or-bust”? Probably not the protocol maintainers’ tendency to compromise on things to make Wayland not appealing to average users (ha).

    > Anyone left behind is forced to use the legacy Xorg codebase you’ve abandoned, which is much worse for their security than the hypothetical bugs you’re trying to save them from.

    Xorg, by design and historical growth, is insecure. That said security fixes will of course continue to be shipped (I don’t say this with any internal knowledge of Xorg maintainable, only trust in the FOSS ecosystem). Of course, the user base is still huge.

    > Rewriting your code in Wayland is always going to introduce new bugs, including security bugs, that wouldn’t be there if you just maintained the Xorg code. Maybe there are undiscovered bugs lurking in your Xorg codebase, but as your codebase ages under continuous maintenance, that number will only shrink.

    Xorg is insecure. Not because of bugs, but because of features people rely on.

    > Those of us who work with such systems, we feel like the Wayland community has put its thumbs into its collective ears, sung “la la la” to our problems, and proceeded to stomp all over the software ecosystem like a toddler playing “Godzilla” with their Lego, all the while yelling at us old fogies for being old and fogey.

    I agree. I consider ”Out of scope” to be the unofficial Wayland motto.

    The summary at the end is a beautiful soup of contradictions.

    > Slow down the protocol

    It’s already fairly slow.

    > write a specification

    That’s what a protocol is, isn’t it?

    > focus on improving your protocol extensions

    By that do you mean adding more? I thought the protocol was developing too quickly?

    > support more Xorg programs

    The charitable interpretation is that it means “support more Xorg use cases”, which is completely valid. The way it’s said would also allow for the interpretation that the author hasn’t understood what Wayland is and wants X APIs added.

    > work on performance, stability, and accessibility

    The protocol allows for very high performance. If individual compositors are inefficient, please talk to their maintainers. This isn’t an issue with Wayland in general. Same deal with stability. The compositor I use (wayfire) is super stable. Unfortunately I can’t comment much on accessibility other than that I know that Linux has historically been pretty bad in this area.

    > Invest more in third-party implementations like wlroots.

    With it defining the third compositor type besides KDE and GNOME I think wlroots is seeing an healthy amount of investment. What’s going too slowly for my taste is the standardization and adoption of wlroots protocols by other compositors (will GNOME ever care about what other people are doing? Will they stay incompatible forever?).

    > Your ecosystem has real problems that affect real people. It’s time to stop ignoring them.

    I completely agree. The “out of scope” meme may have been holding Wayland back. We need much more standardization, akin to the XDG standards. There’s still a lot to do.

  • Flameshot, powerful screenshot tool, fully support Wayland (able to run on sway)
    7 projects | news.ycombinator.com | 13 Mar 2021
    wlrobs has issues for me with 2 screens of different densities. With xdg-desktop-portal-wlr the Pipewire route will work as well.

    My favorite way to record on wlroots compositors is wf-recorder, which seems to be lighter on resources than the others.

    There's also a fork of SimpleScreenRecorder (with similar issues, unfortunately).

    Here's an overview of screencasting tools for wlroots based compositors like Sway and Wayfire: https://github.com/solarkraft/awesome-wlroots#screencasting

  • NVIDIA continues tweaking their work for hardware accelerated Xwayland support
    7 projects | /r/linux_gaming | 18 Feb 2021
    It's true, it's going to drag on for years. But Wayland is creeping into the mainstream. It has been the default on Gnome for a good while and Gnome Wayland is going to be the default in Ubuntu's new release. KDE is a bit behind but also on it, promising "production level quality" until the end of this year. At the same time a new class of compositors without any X heritage is emerging around the wlroots library.

What are some alternatives?

When comparing xdg-desktop-portal and awesome-wlroots you can also consider the following projects:

gamescope - SteamOS session compositing window manager [Moved to: https://github.com/ValveSoftware/gamescope]

cinnamon-screensaver - The Cinnamon screen locker and screensaver program

wayfire - A modular and extensible wayland compositor

gtk-layer-shell - A library to create panels and other desktop components for Wayland using the Layer Shell protocol

gamescope - SteamOS session compositing window manager

pipewire - Mirror of the PipeWire repository (see https://gitlab.freedesktop.org/pipewire/pipewire/)

wayland-protocols - Wayland protocol development (mirror)

flatpaks

flameshot - Powerful yet simple to use screenshot software :desktop_computer: :camera_flash:

us.zoom.Zoom

grim - Grab images from a Wayland compositor