Ниже представлен скрипт, который позволяет установить дисплейный сервер Wayland для проведения экспериментов. Wayland устанавливается в отдельную директорию $HOME/install и не влияет на работу основного графического окружения дистрибутива, что позволяет без боязни начать экспериментировать с дисплейным сервером. Скрипт сам загружает все необходимые зависимости и проверен в Ubuntu 10.10.Для работы необходима видеокарта NVIDIA и драйвер nouveau со включенным DRI (конфигурация также без проблем будет работать с видеокартами Intel), для установки которого можно использовать команды (указанные пакеты находятся в репозитории Universe):
sudo aptitude install libgl1-mesa-dri-experimental
usermod -a -G video логин_пользователя
После установки nouveau отключаем проприетарный драйвер через System / Administration / Additional Drivers и перезагружаем систему.
Проверить активность DRI можно так:
glxinfo | grep direct
direct rendering: Yes
Далее запускаем установочный скрипт, который работает несколько минут, так как пересобирает из git-репозитория свежие версии drm, mesa, xproto, kbproto, macros, libX11, libxkbcommon, cairo и wayland.
set -u # exit script if anything fails
# You might want to put these in your ~/.bashrc
PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig/:$HOME/install/share/pkgconfig/
export PKG_CONFIG_PATH
ACLOCAL="aclocal -I $HOME/install/share/aclocal"
export ACLOCAL
C_INCLUDE_PATH=$HOME/install/include
export C_INCLUDE_PATH
LIBRARY_PATH=$HOME/install/lib
export LIBRARY_PATH
# Do *not* put this in your ~/.bashrc it will break things.
LD_LIBRARY_PATH=$HOME/install/lib
export LD_LIBRARY_PATH
mkdir -p $HOME/install/share/aclocal
# Paste these one at a time because they're interactive.
sudo aptitude remove --purge libegl1-mesa-drivers
sudo aptitude build-dep libglu1-mesa # diffstat{a} libx11-xcb-dev quilt
sudo aptitude build-dep libcairo2 # autopoint{a} dh-autoreconf
sudo aptitude install libtool libxi-dev libxmu-dev libxt-dev bison flex libgl1-mesa-dev xutils-dev libtalloc-dev
sudo aptitude install libdrm-dev autoconf x11proto-kb-dev libegl1-mesa-dev libgles2-mesa-dev
sudo aptitude install libgdk-pixbuf2.0-dev libudev-dev libxcb-dri2-0-dev libxcb-xfixes0-dev
sudo aptitude install shtool libffi-dev libpoppler-glib-dev libgtk2.0-dev git
git clone git://anongit.freedesktop.org/git/mesa/drm
cd drm
./autogen.sh --prefix=$HOME/install --enable-nouveau-experimental-api
make
make install
cd ..
git clone git://anongit.freedesktop.org/mesa/mesa
cd mesa/
./autogen.sh --prefix=$HOME/install --enable-egl --enable-gles2 --with-dri-drivers= \
--enable-gallium-nouveau --with-state-trackers=glx,dri,egl
make
make install
cd ..
git clone git://anongit.freedesktop.org/xorg/proto/xproto
cd xproto
./autogen.sh --prefix=$HOME/install
make install
cd ..
git clone git://anongit.freedesktop.org/xorg/proto/kbproto
cd kbproto/
./autogen.sh --prefix=$HOME/install
make install
cd ..
git clone git://anongit.freedesktop.org/xorg/util/macros
cd macros
./autogen.sh --prefix=$HOME/install
make install
cd ..
git clone git://anongit.freedesktop.org/xorg/lib/libX11
cd libX11
./autogen.sh --prefix=$HOME/install
make install
cd ..
git clone git://people.freedesktop.org/xorg/lib/libxkbcommon.git
cd libxkbcommon/
#./autogen.sh --prefix=$HOME/install --with-xkb-rootdir=/usr/share/X11/xkb
./autogen.sh --prefix=$HOME/install
make
make install
cd ..
git clone git://anongit.freedesktop.org/cairo
cd cairo
./autogen.sh --prefix=$HOME/install --enable-gl --enable-xcb
make
make install
cd ..
git clone git://anongit.freedesktop.org/wayland
cd wayland/
./autogen.sh --prefix=$HOME/install
make
make install
cd ..
sudo cp -a wayland/compositor/70-wayland.rules /etc/udev/rules.d/
sudo udevadm trigger --subsystem-match=drm --subsystem-match=input
mkdir -p $HOME/install/share/X11/
ln -s /usr/share/X11/xkb $HOME/install/share/X11/
Запуск wayland:
wayland/compositor/compositor &
sleep 1
wayland/clients/flower &
wayland/clients/gears &
wayland/clients/smoke &
wayland/clients/terminal &
Особенности сборки для видеокарт Intel отмечены в [[http://grep.tw/blog/?p=1061 данной заметке]]
URL: http://lists.freedesktop.org/archives/wayland-devel/2010-Nov...
Обсуждается: http://www.opennet.dev/tips/info/2488.shtml