Для экспериментов с запуском Qt-приложений поверх дисплейного сервера Wayland следует использовать экспериментальную ветку Qt, в которой обеспечена поддержка последних дополнений протокола Wayland (в недавно выпущенном Qt 4.8 этих дополнений нет).Устанавливаем последний срез исходных текстов Qt из Git-репозитория проекта:
first, you have to clone qtbase:
mkdir qt; cd qt
git clone git://gitorious.org/qt/qtbase.git
Так как установка Qt будет производиться в отдельную директорию /opt/qt/qt5 в процессе экспериментов следует установить следующие переменные окружения (например, добавить в .bashrc):
export QTVER=qt5
export QTDIR=/opt/qt/$QTVER
export PATH=$QTDIR/bin/:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib/:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$QTDIR/lib/pkgconfig/:$PKG_CONFIG_PATH
export QT_PLUGIN_PATH=$QTDIR/lib/plugins/
Устанавливаем пакеты, необходимые для сборки Qt и Wayland (пример для Ubuntu 11.10):
apt-get install libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev \
libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev \
libxcb-sync0 libxcb-sync0-dev libxcb-xfixes0-dev
Устанавливаем опции сборки Qt:
./configure -confirm-license -opensource -no-qt3support \
-no-multimedia -no-webkit -no-phonon -no-v8 -debug -qpa -xcb \
-wayland -egl -opengl es2 -nomake examples -prefix /opt/qt/qt5
Собираем и устанавливаем Qt в директорию /opt/qt/qt:
make
make install
Загружаем код платформы qtwayland с дополнениями к Qt для работы поверх Wayland:
cd ../
git clone git://gitorious.org/qt/qtwayland.git
Для сборки qtwayland требует наличие библиотек Wayland в системе, которые можно поставить из [[https://launchpad.net/wayland PPA-репозитория]] дистрибутива или [[http://wayland.freedesktop.org/building.html собрать вручную]].
При необходимости запуска Wayland поверх X-сервера устанавливаем библиотеку libxcomposite:
apt-get install libxcomposite-dev
Собираем и устанавливаем qtwayland:
cd qtwayland/
qmake
make
make install
Для запуска Qt-приложения вначале следует определить директорию XDG, которую будут использовать для взаимодействия между собой композитный сервер и клиент Wayland:
export XDG_RUNTIME_DIR=$HOME/.xdg
mkdir $HOME/.xdg
Собираем Qt-приложение:
cd ../qtbase/examples/opengl/hellowindow
qmake
make
Запускаем wayland:
wayland-compositor &
Запускаем Qt-приложение поверх Wayland:
./hellowindow -platform wayland
URL: http://vignatti.wordpress.com/2011/12/19/qt-on-wayland-howto/
Обсуждается: http://www.opennet.dev/tips/info/2651.shtml