Give Wayland/Weston a try on Arch Linux

2 minute read

Important note: Wayland and Weston have been moved to community/extra! Thus this How to is no longer necessary. I’m just keeping it here for reference. I may update *-git packages but I can’t promise I will do it frequently.

I’ve updated/fixed the PKGBUILDs and build the packages for everything you need for Weston to work on Arch Linux. As always, the PKGBUILDs are available in my siosm-aur PKGBUILD repository on GitHub.

So here are the steps to try Weston. This process is mostly safe and is getting safer as more and more packages are included in official Arch Linux repositories. But you still have to change some parts of the Linux graphics stack, so you should be comfortable with package management with pacman and ready to fix your system without any graphical interface.

  • First, have a look at Wayland in the ArchWiki and make sure you’re using a KMS enabled driver (basically intel/nouveau/radeon open source drivers).

  • Then make sure your system is up-to-date and that you have the following packages in your pacman cache:

$ sudo pacman -Sw cairo libegl
  • Add the siosm-aur package repository hosted on this server (Repositories) and install weston(-git). It will ask you to replace the two packages we fetched earlier:
$ sudo pacman -S weston(-git)
  • Make sure that you have a default cursor theme in the file ~/.icons/default/index.theme. I used the icon theme from KDE (more on this in this ArchWiki page):
1
2
3
Name=Default
Comment=Default white Oxygen theme
Inherits=Oxygen_White
  • Switch to a VT (tty1 for example), loggin, and launch:
$ weston-launch --tty /dev/tty1
  • To stop Weston, just switch to an other VT and kill it:
$ pkill -kill weston
  • Here is an example ~/.config/weston.ini weston config file inspired from the official weston.ini (which features horrible default colors!):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[keyboard]
keymap_layout=fr

[shell]
type=desktop-shell.so
background-image=/path/to/your/wallpaper.jpg
background-color=0xff002244
panel-color=0x90ff0000
locking=true
animation=zoom
binding-modifier=ctrl
num-workspaces=6

#type=tablet-shell.so
#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
#animation=fade

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/gnome-terminal

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/weston-terminal

[screensaver]
# Uncomment path to disable screensaver
path=/usr/libexec/weston-screensaver
duration=600

#[output]
#name=LVDS1
#mode=1680x1050
#transform=90

#[output]
#name=VGA1
#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
#transform=flipped

#[output]
#name=X1
#mode=1024x768
#transform=flipped-270
$ sudo pacman -Rns weston(-git)
$ sudo pacman -S cairo libegl
$ sudo pacman -Rns wayland

Updated:

Comments