An X11 Apologist Tries Wayland

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

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • 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.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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

    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

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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