An X11 Apologist Tries Wayland

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • xpra

    Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.

  • > By the way, does anyone know of a VNC-like solution that can use MPEG compression?

    try this: https://xpra.org/

  • arewewaylandyet

    Sources for https://arewewaylandyet.com

  • https://arewewaylandyet.com/ lists Waypipe as a kind of equivalent for that. I haven't tried it. It also lists FreeRDP and wayvnc.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • steam-devices

    List of devices Steam and SteamVR will want read/write permissions on, to help downstream distributions create udev rules/etc

  • > The effort you need to go through to actually use these depends on how your distribution handles the file permissions of /dev/uinput. Some of them have it as root:input, in which case you just need to usermod -a -G input and then relog to get it working. Others have it as root:root so you either need to go do some reconfigurations to change its permissions or live with running the software using it as root.

    There's a trick to that. The TL;DR is "install the steam-devices package or similar" (https://github.com/ValveSoftware/steam-devices/), which adds the following udev rule (and others, but this is the relevant one):

      # Steam Controller udev write access

  • CQ-editor

    CadQuery GUI editor based on PyQT

  • On a previous laptop I used i3, then after a few years on Windows, I returned to Linux on my current laptop and decided to try Sway, and now I’ve been using it for almost a year and a half, but I set up i3 somewhere along the way too, which I have used when I needed screen sharing on Zoom.

    I much prefer Sway. It handles output management much better than i3 (because it’s integrated and integrated well rather than being entirely up to you with xrandr—so this probably wouldn’t apply to full desktop environments like GNOME or KDE), supports mixed-DPI environments, properly supports high-DPI (though I’ve also been using patches for fractional scaling since I want 1.5×), avoids all tearing (which was what really surprised me when I first ran i3, I’d forgotten what the tearing was like), and supports my XF86AudioMicMute key (key code 256; it took a little effort to get it to work, involving dumping the xkb keymap and adding in a suitable entry, but I think that it’s literally impossible to support under X, though you may be able to remap it to a different key like F20 in some way at a lower level, but my attempts at that failed).

    It’s not been without its troubles. Screen sharing is only possible at the screen granularity rather than individual windows, and I think Zoom is still broken because they did things stupidly in the past (using a GNOME screenshot API many times per second instead of the compositor-neutral screen sharing API that did exist when they implemented their thing) and are still unravelling them. I’ve also had a couple of apps require tweaks to unbreak, e.g. https://github.com/CadQuery/CQ-editor/issues/266, if you build it with a version of Qt that supports Wayland (the default, though their first-party distribution doesn’t), you have to explicitly tell it to use xcb instead of wayland or it crashes on startup. But honestly that’s all I can think of.

  • dotfiles

    My dotfiles (by artizirk)

  • Under GDM you can use systemd environment.d(5) to configure those variables. I have some examples in my dotfiles[2]. Your Sway configuration also has to inject it's own environment variables to systemd session like is documented here[3]. Arch Linux does that in `/etc/sway/config.d/50-systemd-user.conf`[4]

    [1]: https://man.archlinux.org/man/environment.d.5

    [2]: https://github.com/artizirk/dotfiles/tree/master/.config/env...

    [3]: https://wiki.gnome.org/Initiatives/Wayland/SessionStart

    [4]: https://github.com/archlinux/svntogit-community/blob/package...

  • svntogit-community

    Discontinued Automatic import of svn 'community' repo (read-only mirror)

  • Under GDM you can use systemd environment.d(5) to configure those variables. I have some examples in my dotfiles[2]. Your Sway configuration also has to inject it's own environment variables to systemd session like is documented here[3]. Arch Linux does that in `/etc/sway/config.d/50-systemd-user.conf`[4]

    [1]: https://man.archlinux.org/man/environment.d.5

    [2]: https://github.com/artizirk/dotfiles/tree/master/.config/env...

    [3]: https://wiki.gnome.org/Initiatives/Wayland/SessionStart

    [4]: https://github.com/archlinux/svntogit-community/blob/package...

  • mpv

    🎥 Command line video player

  • Contrary to claims in this subthread, tearing is definitely still a thing in X11.

    mpv has a whole FAQ section about it:

    https://github.com/mpv-player/mpv/wiki/FAQ#tearing

    Some of the solutions presented there are not mpv-specific, and some of them may even actually help.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • dash-to-panel

    An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.

  • Same here, only with Dash to Panel.

    https://github.com/home-sweet-gnome/dash-to-panel

  • Use the scroll-factor setting of libinput-config[0] to configure this on DEs that do not provide their own tool (i.e., GNOME).

    [0] https://gitlab.com/warningnonpotablewater/libinput-config

  • score

    ossia score, an interactive sequencer for the intermedia arts

  • I find electron apps absolutely horrendous to use. The apps I use most are Zim, QtCreator, Strawberry, and the KDE apps - most of the time when I remote ssh it's for pavucontrol-qt, dolphin (the file manager) or mainly the app I develop, https://ossia.io

    Also apps that do gpu rendering make my laptop really heat up and loose battery quickly compared to when it's not in use - I don't use a compositor partly for this (+ the occasional frame lag)

  • barrier

    Open-source KVM software

  • I don’t mind Wayland but one of my key tools is the virtual KVM Synergy/Barrier which doesn’t have Wayland support yet - https://github.com/debauchee/barrier/issues/109

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts