OpenBSD and E

Enlightenment on OpenBSD

For OpenBSD 6.7 and later.

Last updated on 22 April 2020

Install Software Requirements

pkg_add bullet check fribidi gettext-tools 
giflib git gmake gstreamer1 gstreamer1-plugins-base 
gstreamer1-plugins-good gstreamer1-plugins-bad gstreamer1-plugins-ugly 
gstreamer1-plugins-libav poppler libraw librsvg libspectre libtool libwebp libXp 
luajit m4 png pulseaudio tiff xprintproto meson ninja scim

Set environmental variables

You'll need to set env variables accordingly (best to keep them in your $HOME/.profile file):

ulimit -n unlimited;
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/X11R6/lib/pkgconfig:/opt/lib/pkgconfig"
export LDFLAGS="-L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -L/usr/local/lib/pulseaudio"
export CC=clang
export CXX=clang++
export CFLAGS="-O2"
export CPPFLAGS="-I/usr/local/include"

Download, Build and Install EFL

Download EFL git


Configure build and install

$ git clone --depth 1
$ cd efl
$ meson build -Dsystemd=false -Deeze=false
$ ninja -C build -j2
$ doas ninja -C build install

If you install in a non-standard path remember to set PKG_CONFIG_PATH env variable!

Create Symlinks

Necessary symlinks:

ln -s /usr/local/include/execinfo.h /usr/include

One of (Depending on your OpenBSD version):

ln -s /usr/local/lib/ /usr/local/lib/
ln -s /usr/local/lib/ /usr/local/

One of (Depending on your OpenBSD version):

ln -s /usr/local/lib/ /usr/local/lib/
ln -s /usr/local/lib/ /usr/local/lib/

One of (Depending on your OpenBSD version):

ln -s /usr/local/lib/ /usr/local/lib/
ln -s /usr/local/lib/ /usr/local/lib/

Download, Build and Install Enlightenment

Download and install Enlightenment

$ git clone --depth 1
$ cd enlightenment
$ meson -Dsystemd=false -Ddevice-udev=false build
$ ninja -C build && doas ninja install

Run Enlightenment

To your $HOME/.xinitrc or $HOME/.xsession add:

start-pulseaudio-x11 &
exec /path/to/enlightenment_start


For reference: FreeBSD 11.0/12.0

meson ninja python2 python3 bullet fribidi gettext-tools giflib git gmake gstreamer1 gstreamer1-plugins-core luajit check libraw libspectre librsvg2 libtool openssl poppler pkgconf pulseaudio shared-mime-info xcb-util-keysyms ibus xorg xorg-server.

Also for Rage and other cool media featues I suggest:

gstreamer1-plugins-good gstreamer1-plugins-bad gstreamer1-plugins-ugly gstreamer1-libav

setenv PKG_CONFIG_PATH /usr/local/libdata/pkgconfig
setenv CFLAGS -I/usr/local/include
setenv LDFLAGS -L/usr/local/lib


As above for FreeBSD but...

+ jpeg-turbo tiff libsndfile

- pulseaudio

For Reference: Debian GNU/Linux (x11)

apt-get install make gcc bison flex gawk subversion automake autoconf doxygen check autotools-dev autoconf-archive autopoint libtool gettext libpam0g-dev libfreetype6-dev libpng-dev libsystemd-dev zlib1g-dev libjpeg-dev libdbus-1-dev luajit libluajit-5.1-dev libx11-dev libxcursor-dev libxrender-dev libxrandr-dev libxfixes-dev libxdamage-dev libxcomposite-dev libxss-dev libxext-dev libxinerama-dev libxkbfile-dev libxtst-dev libxcb1-dev libxcb-shape0-dev libxcb-keysyms1-dev libpulse-dev libsndfile1-dev libudev-dev libblkid-dev libmount-dev libgstreamer1.0-dev libtiff5-dev libgif-dev curl libssl-dev libspectre-dev libpoppler-dev librsvg2-dev libraw-dev libxinerama-dev git libfribidi-dev libbullet-dev libgstreamer-plugins-base1.0-dev libtiff-dev librsvg2-dev libspectre-dev libraw-dev check libpoppler-cpp-dev xserver-xorg-dev libglu1-mesa-dev dbus-x11

For Reference: GNU/Linux with Wayland X11 and DRM support

EFL:--enable-wayland --enable-egl --with-opengl=es --enable-drm --enable-gl-drm --enable-systemd

Enlightenment: --enable-wayland-egl --enable-wl-x11 --enable-wayland --enable-wl-drm --enable-xwayland

© 2017. Alastair Poole.