Skip to content

Instantly share code, notes, and snippets.

@stronnag
Last active September 18, 2023 09:09
Show Gist options
  • Save stronnag/3fa3c7649a21d9ad61abe9e988f60bd0 to your computer and use it in GitHub Desktop.
Save stronnag/3fa3c7649a21d9ad61abe9e988f60bd0 to your computer and use it in GitHub Desktop.
Wayfire on VisionFive 2, Arch Linux, July 2023

Running a Wayland Desktop on Arch Linux VF2

Motivation

  • Something nicer and more responsive than Xfce

Prerequisites

  • Recent cwt kernel
  • Firmware at least 3.0.4
  • 3rd party packages (cwt??)

Caveats

Mesa on PVR is maturing.

  • Most Gtk3 applications will work
  • Gtk3 applications using the GPU (e.g. clutter, champlain) work since cwt15 and associated 3rd party packages.
  • Gtk4 applications work (at least the subset tested)

However, much will work, e.g. chromium, firefox, libreoffice. firefox-wayfire

And you get the bling desktop

wayfire.mp4

Desktop

This article uses wayfire. This will provide an attractive (IMO) desktop with added bling (compiz style "wobbly windows", "desktop cube").

  • It works well on VF2
  • It is a stacking (vice tiling) desktop
  • Configurable, well documented.
  • Is in the AUR.

An alternative is labwc. This has a much smaller code base (no bling), and has fewer updates. So it's a much less disruptive option as building wayfire on VF2 takes time, and is sometimes broken.

labwc is currently the authors preferred desktop.

Greeter

You can either run wayfire from a virtual console login, or from a greeter. lightdm, greetd/{tuigreet, gtkgreetd}, ly all work. sddm fails).

Installation

Numerous packages are required (mandatory or optional). The following list is taken from shell history, so not everything may be needed (and there may be omissions).

  • wf-recorder
  • wofi
  • wf-shell-git
  • slurp
  • grim
  • mako
  • kanshi
  • swaylock
  • wlogout
  • wayfire-git
  • waybar
  • otf-font-awesome
  • numix-circle-icon-theme-git
  • ttf-roboto, ttf-roboto-mono
  • seatd

Note: waybar is optional. There is a default bar / dock in wayfire.

Note: the recommended alacritty run but diplays nothing; foot, weston-terminal or xfce4-terminal all work.

Note: The user should be a member of seat, video and input groups.

Usage

See the well commented wayfire configuration file (/etc/wayfire.ini or customise (~/.config/wayfire.ini). The author's config files are available for inspection / reuse.

  • .config/wayfire.ini
  • .config/wofi/config
  • .config/waybar/config, .config/waybar/style.css
  • .config/wlogout/layout

Summary

Usable, responsive desktop. Improving all the time.

Note also that Debian hasn't solved this either. With Debian, if you have a bling (GNOME) desktop, you can't upgrade anything for fear of breaking their bespoke Mesa and other packages. For me, this makes Debian unusable. With Arch, the user can manage the breakage / performance trade-off.

The author now prefers labwc to wayfile, however the methodology is the same.

@stronnag
Copy link
Author

stronnag commented Jul 6, 2023

Some other tips:

  • You may need a X configuration file to get lightdm to run.
$ less /etc/X11/xorg.conf.d/10-fb.conf 
Section "Device"
    Identifier             "Screen0"
    Driver                 "fbdev"
    Option "fbdev"         "/dev/fb0"
EndSection
  • Testing that you can get weston to run first will confirm that the GPU desktop is working.

@stronnag
Copy link
Author

stronnag commented Jul 8, 2023

Some more alternatives / tools

  • nwg-launchers-git for an alterative launcher and menu (with systemd --user unit to start nwggrid-server at login)
  • udiskie (with systemd --user unit to start udiskie at login for easy removeable media management).

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