diff --git a/Debian-Buster-Installation.md b/Debian-Buster-Installation.md new file mode 100644 index 0000000..b5298d7 --- /dev/null +++ b/Debian-Buster-Installation.md @@ -0,0 +1,94 @@ +## Before installing + +*Note*: these instructions are community-maintained and are not supported by sway. + +This document will guide you through installing sway on Debian 10 (Buster). + +Make sure you have activated the `contrib` and `non-free` apt repositories. + +Update apt cache: + +``` +sudo apt update +``` + +Create a directory to organize sources: + +``` +mkdir ~/sway-src +``` + +## Install wlroots + +First we'll install [wlroots](https://github.com/swaywm/wlroots) 0.6 with almost all extra dependencies: +```` +sudo apt install build-essential cmake meson libwayland-dev wayland-protocols \ + libegl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev libinput-dev libxkbcommon-dev \ + libudev-dev libpixman-1-dev libsystemd-dev libcap-dev libxcb1-dev \ + libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-image0-dev \ + libxcb-render-util0-dev libx11-xcb-dev libxcb-icccm4-dev freerdp2-dev \ + libwinpr2-dev libpng-dev libavutil-dev libavcodec-dev libavformat-dev universal-ctags + +cd ~/sway-src +git clone https://github.com/swaywm/wlroots.git +cd wlroots +git checkout 0.6.0 +meson build +sudo ninja -C build install +```` + +## Install json-c + +Debian's json-c version is too old, we need to manually build a newer version: + +``` +sudo apt install autoconf libtool + +cd ~/sway-src +git clone https://github.com/json-c/json-c.git +cd json-c +git checkout json-c-0.13.1-20180305 +CPUCOUNT=$(grep processor /proc/cpuinfo | wc -l) +make -j$CPUCOUNT +sudo make install +sudo ldconfig +``` + +## Install scdoc (optional) + +scdoc is needed for manual pages generation, which I recommend, but Debian's scdoc version is also too old, we need to manually build a newer version: + +``` +cd ~/sway-src +git clone https://git.sr.ht/~sircmpwn/scdoc +cd scdoc +git checkout 1.9.4 +make PREFIX=/usr/local -j$CPUCOUNT +sudo make PREFIX=/usr/local install +``` + +## Install sway + +Next we'll install sway 1.1.1: +```` +sudo apt install libpcre3-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev + +cd ~/sway-src +git clone https://github.com/swaywm/sway.git +cd sway +git checkout 1.1.1 +meson build +sudo ninja -C build install +```` + +## Install swaybg + +We need to install swaybg, or else the default configuration won't work: +``` +cd ~/sway-src +git clone https://github.com/swaywm/swaybg.git +cd swaybg +git checkout 1.0 +meson build +sudo ninja -C build install +``` \ No newline at end of file