Not Just Paranoid

Another site by Pete Maynard

Compiling Sway on Fedora 29

Steps needed to install sawy and wlroots on Fedora 29.

Wayland-protocols needed to be installed from rawhide, since wlroots requires a newer version that what is currently in Fedora 29. If you find a bug in sway, update all the pacakges to their latest version before you report. This post is how to get a working install without running on rawhide.


Current stable packages are installed:

dnf install git meson wlc-devel mesa-libEGL-devel mesa-libGLES-devel libdrm-devel mesa-libgbm-devel libinput-devel libxkbcommon-devel libevdev-devel pixman-devel 

Installing wayland-protocols from rawhide:

dnf install --enablerepo rawhide --releasever=30 wayland-protocols-devel

Build and install:

meson build && ninja -C build && sudo ninja -C build install

Adding the recently build shared library to the path:

echo "/usr/local/lib64" > /etc/


Install sway’s dependencies:

dnf install json-c-devel pcre-devel pango-devel cairo-devel gdk-pixbuf2-devel 

Build and install, telling pkg-config where to find wlroots:

PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig meson build && ninja -C build && sudo ninja -C build install


Additonal pacakges that you might want:

dnf install dmenu rofi rxvt-unicode 

Also, take a look at swaylock and swayidle.


Swaylock, if build with PAM, placed the PAM file into /usr/local/etc/pam.d. Which means that PAM does not see this. To have it place the file in the correct location (Based on this closed issue):

meson build -Dsysconfdir=/etc && ninja -C build && sudo ninja -C build install

27 Feb 2019

Website Last Updated on 15 Sep 2023 (CC BY-SA 4.0)

This site uses JQuery and nanogallery2 hosted by
for the Flickr photo feed and GoatCounter for user insights.