Created
September 13, 2014 02:30
-
-
Save infoburp/9de1b141dcba1bea4fd1 to your computer and use it in GitHub Desktop.
weston
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# setup environment for local install: | |
export WLD=$HOME/install | |
export LD_LIBRARY_PATH=$WLD/lib | |
export PKG_CONFIG_PATH=$WLD/lib/pkgconfig/:$WLD/share/pkgconfig/ | |
export PATH=$WLD/bin:$PATH | |
export ACLOCAL_PATH=$WLD/share/aclocal | |
export ACLOCAL="aclocal -I $ACLOCAL_PATH" | |
mkdir -p $ACLOCAL_PATH | |
# dependencies for libwayland: | |
sudo apt-get install doxygen # or use --disable-documentation | |
# libwayland-*: | |
git clone git://anongit.freedesktop.org/wayland/wayland | |
cd wayland | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# dependencies for Mesa: | |
# "sudo apt-get build-dep mesa" will install these, but will also | |
# install unwanted items, such as wayland itself, and xcb prototypes | |
# that are too old. | |
sudo apt-get install autoconf automake bison debhelper dpkg-dev flex \ | |
libexpat1-dev libudev-dev libx11-dev libx11-xcb-dev \ | |
libxdamage-dev libxext-dev libxfixes-dev libxxf86vm-dev \ | |
linux-libc-dev pkg-config python-libxml2 quilt x11proto-dri2-dev \ | |
x11proto-gl-dev xutils-dev | |
# Mesa required llvm-3.1, but newer versions are available. | |
# "apt-cache search 'llvm-[0-9.]*-dev'" will list them | |
sudo apt-get install llvm-3.1-dev | |
sudo ln -sf llvm-config-3.1 /usr/bin/llvm-config | |
sudo apt-get install libpciaccess-dev # needed by drm | |
git clone git://anongit.freedesktop.org/git/mesa/drm | |
cd drm | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# needed by libxcb: | |
git clone git://anongit.freedesktop.org/xcb/proto | |
cd proto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# needed by libxcb: | |
git clone git://anongit.freedesktop.org/xorg/util/macros | |
cd macros | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xcb/libxcb | |
cd libxcb | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/presentproto | |
cd presentproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/dri3proto | |
cd dri3proto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/lib/libxshmfence | |
cd libxshmfence | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# Mesa: | |
git clone git://anongit.freedesktop.org/mesa/mesa | |
cd mesa | |
./autogen.sh --prefix=$WLD --enable-gles2 --disable-gallium-egl \ | |
--with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi \ | |
--with-gallium-drivers=r300,r600,swrast,nouveau \ | |
--disable-llvm-shared-libs # this may be a bug in the llvm package | |
make && make install | |
cd .. | |
# The version of Cairo included with Ubuntu 12.04 has bugs that cause | |
# rendering errors in some Wayland clients (in particular the | |
# Xserver). Though not required, it may be a good idea to compile the | |
# newest version from source: | |
git clone git://anongit.freedesktop.org/pixman | |
cd pixman | |
./autogen.sh --prefix=$WLD | |
make -j 9 && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/cairo | |
cd cairo | |
./autogen.sh --prefix=$WLD --enable-xcb | |
make -j 9 && make install | |
cd .. | |
# libinput dependencies: | |
sudo apt-get install libmtdev-dev libpam0g-dev | |
git clone git://github.com/xkbcommon/libxkbcommon | |
cd libxkbcommon | |
./autogen.sh --prefix=$WLD --with-xkb-config-root=/usr/share/X11/xkb | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/libevdev | |
cd libevdev | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# libinput: | |
git clone git://anongit.freedesktop.org/wayland/libinput | |
cd libinput | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# Weston dependencies: | |
git clone git://git.sv.gnu.org/libunwind | |
cd libunwind | |
autoreconf -i # note that autogen is not used | |
./configure --prefix=$WLD | |
make && make install | |
cd .. | |
# Weston and demo applications: | |
git clone git://anongit.freedesktop.org/wayland/weston | |
cd weston | |
./autogen.sh --prefix=$WLD --enable-libinput-backend --disable-setuid-install | |
make -j 9 && make install | |
cd .. | |
# XServer dependencies: | |
sudo apt-get install libxfont-dev | |
git clone https://github.com/anholt/libepoxy.git | |
cd libepoxy | |
# The CPPFLAGS fixed a failure to find the local EGL header files | |
# This is not necessary if xproto is installed first | |
CPPFLAGS=-I$WLD/include ./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/glproto | |
cd glproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/xproto | |
cd xproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/xcmiscproto | |
cd xcmiscproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/lib/libxtrans | |
cd libxtrans | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/bigreqsproto | |
cd bigreqsproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/xextproto | |
cd xextproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/fontsproto | |
cd fontsproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/videoproto | |
cd videoproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/recordproto | |
cd recordproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/resourceproto | |
cd resourceproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/proto/xf86driproto | |
cd xf86driproto | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
git clone git://anongit.freedesktop.org/xorg/lib/libxkbfile | |
cd libxkbfile | |
./autogen.sh --prefix=$WLD | |
make && make install | |
cd .. | |
# XWayland: | |
git clone git://anongit.freedesktop.org/xorg/xserver | |
cd xserver | |
./autogen.sh --prefix=$WLD --disable-docs --disable-devel-docs \ | |
--enable-xwayland --disable-xorg --disable-xvfb --disable-xnest \ | |
--disable-xquartz --disable-xwin | |
make && make install | |
cd .. | |
# Links needed so XWayland works: | |
mkdir -p $WLD/share/X11/xkb/rules | |
ln -s /usr/share/X11/xkb/rules/evdev $WLD/share/X11/xkb/rules/ | |
ln -s /usr/bin/xkbcomp $WLD/bin/ | |
# Weston configuration: | |
mkdir -p ~/.config | |
cp weston/weston.ini ~/.config | |
nano ~/.config/weston.ini # edit to set background and turn on xwayland.so module | |
# Needed by wayland for socket: | |
if test -z "${XDG_RUNTIME_DIR}"; then | |
export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir | |
if ! test -d "${XDG_RUNTIME_DIR}"; then | |
mkdir "${XDG_RUNTIME_DIR}" | |
chmod 0700 "${XDG_RUNTIME_DIR}" | |
fi | |
fi | |
# Run it in an X11 window: | |
weston |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment