Recently, I have become a great fan of i3-gaps as my Window Manager of choice when using Raspbian. Unfortunately, the Raspbian images do not include i3-gaps nor the latest versions of some other i3 utilities.

To work around this issue, the packages must be built from source, as shown below (pulled together from several other posts found elsewhere and my own troubleshooting).

  1. Install i3-gaps build dependencies:

    sudo apt install meson dh-autoreconf libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev libxcb-shape0 libxcb-shape0-dev
    
  2. Download i3-gaps from the Regolith-Linux repository, build and install in /usr/local. This is not the primary repo for i3-gaps, but it is being actively maintained, so I use it for my builds:

    git clone https://github.com/regolith-linux/i3-gaps-wm.git
    cd i3-gaps
    mkdir -p build && cd build
    meson --prefix /usr/local
    ninja
    sudo ninja install
    
  3. Remove the original i3 installation package:

    sudo apt remove i3-wm

  4. If using the LightDM session manager, edit /etc/lightdm/lightdm.conf, adding /usr/local/share/xsessions to the session-directory search path.

  5. Logout and login to start using i3-gaps.

Build updated i3status from source (optional)

Older versions of the i3status tool can encounter issues when running on Raspbian. For example, it can display incorrect memory values. If this occurs, the latest version must be built from source to replace the default Raspbian package.

  1. Install i3status build dependencies:

    sudo apt install libconfuse-dev libyajl-dev libasound2-dev libiw-dev libpulse-dev libnl-genl-3-dev
    
  2. Download i3status repository, build and install in /usr/local:

    git clone https://github.com/i3/i3status.git
    cd i3status
    mkdir -p build && cd build
    meson --prefix /usr/local
    ninja
    sudo ninja install
    
  3. Remove original i3status installation package:

    sudo apt remove i3status

Fix i3 / i3status package dependencies

  1. Lastly, after removing the default i3-wm and/or i3status packages, some dependencies may be broken.

  2. If any i3 dependencies are listed as no longer required when running sudo apt upgrade, use this command to mark them as manually installed to avoid removing them in error:

    sudo apt-mark manual <package_names>
    

I drafted this post primarily for my own reference but if you found it helpful, you’re welcome ツ. To contact me, please use the Contact page, or send me a direct message on Twitter .

Take care.