Using Wayland

From DcSharedWiki
Revision as of 18:27, 6 May 2019 by Duck (talk | contribs) (→‎Sway)

Introduction

The goal of this page is to relate experiences using Wayland working implementations, software replacement from the X11 world and so on.

Duck: also please not I'm an AwesomeWM user so I'm not looking into major desktop implementations like GNOME or KDE but more on aggregating interesting pieces to fit your needs better.

Compositors

There's many Wayland compositor projects around but a lot are very experimental and many even already abandoned.

Working or prospective compositors follows.

Sway

Status: very active project, create a wlroots framework to share with other compositors, version 1.0 is usable with some glitches, seamless xwayland integration

Problems:

  • DRM issues when switching VT or when going out from idle (DPMS off and on) (TODO: investigation)
  • damage tracking issues with xwayland (ugly but not not annoying with most applications)
  • contextual windows in need of relative positioning are not displayed or not at the right location (tray contextual menu, IM selections)

Packaging: not ready in Debian yet but WIP in Salsa: wlroots builds fine, Sway 1.0 final needs a patch (added -Wno-error=date-time to meson.build build options to work around a failure because some macro uses the build time and makes the build unreproducible)

Tools:

  • swaybar (display workspaces, current window title, tray, time, CPU infos…)
    • integrated with sway
    • Status: works fine but tray support is limited (icon may be missing, contextual menu not working, WIP)
    • not packaged in Debian
  • Waybar (more fancy bar)
  • swaylock (lock screen)
    • packaged in Debian
    • Status: works fine
  • swayidle (run custom actions on idle and back from idle)
    • packaged in Debian
    • Status: works fine but stopped using it because of the DRM issues listed above

Way Cooler (spiritual successor of AwesomeWM)

Status: being rewritten on top of wlroots, far from being usable yet (as of early 2019)

Tools

Application Menu Runner

  • j4-dmenu-desktop + bemenu:
    • j4-dmenu-desktop only is packaged in Debian
    • Status: works fine
    • Usage: j4-dmenu-desktop --dmenu='bemenu --list 10 --wrap --ignorecase --no-overlap --prompt "Run:" --fn "pango:DejaVu Sans Mono 12"' --term=x-terminal-emulator
  • dmenu:
    • packaged in Debian (suckless-tools)
    • Status: works fine but impossible to switch back to it if you loose focus (need to kill it in a term)
    • Usage: dmenu_path | dmenu -p "Run:" -l 10 | xargs swaymsg exec

Notifications

  • mako:
    • not packaged in Debian
    • works fine
  • xfce4-notifyd:
    • packaged in Debian
    • Status: works fine but display in the middle of the screen thus not very practical

Input Method

  • fcitx4:
    • packaged in Debian
    • Status: untouched config from X11 works but completion menu is not displayed
  • fcitx5:
    • has Wayland support
    • only the core is packaged in Debian
    • Status: i was not able to make it work yet

Screen Capture

  • grim (screenshot)
    • packaged in Debian
    • Status: works fine