Wayland (Русский)
Ссылки по теме
Wayland это новый протокол управления окнами для Linux. Использование Wayland требует внесения изменений в систему и повторной установки некоторых ее компонентов. Для получения дополнительной информации о Wayland смотрите домашюю страницу.
Contents
Требования
В настоящее время Wayland будет работать только на системах, использующих KMS.
Установка
Установите пакет wayland.
Использование
Wayland - библиотека, которая бесполезна сама по себе. Чтобы заменить X сервер, понадобится композитный менеджер (например, #Weston).
Weston
Установка
Установите пакет weston.
Использование
Комманда | Действие |
---|---|
Ctrl + Alt + Backspace | Выйти из Weston |
Super + Scroll (or PageUp/PageDown) | Увеличить/уменьшить рабочий стол |
Super + Tab | Переключить окно |
Super + ЛКМ | Переместить окно |
Super + ПКМ | Повернуть окно! |
Super + Колесо прокрутки | Изменить размер окна |
Super + Alt + Колесо прокрутки | Изменить прозрачность окна |
Super + K | Принудительно завершить активное окно |
Super + KeyUp/KeyDown | Переключиться на предыдущее/следующее рабочее пространство |
Super + Shift + KeyUp/KeyDown | Переключение рабочего пространства с захватом текущего окна |
Super + Fn | Перейти на рабочее пространство n |
Super + S | Сделать скриншот |
Super + R | Записать скринкаст. |
Теперь, когда установлен Wayland и выполнены все требования, можно проверить его.
Можно запустить Weston прямо из активного X сеанса:
$ weston
Кроме того, Weston может быть запущен самостоятельно. Попробуйте выполнить в виртуальном терминале:
$ weston-launch
Если Weston на TTY, вы можете запустить демо приложения. Чтобы запустить эмулятор терминала:
$ weston-terminal
Чтобы разместить цветы по всему экрану:
$ weston-flower
Для проверки протокола передачи кадров (запускает glxgears
):
$ weston-gears
Для просмотра изображений:
$ weston-image image1.jpg image2.jpg...
Настройка
Пример конфигурационного файла для раскладки клавиатуры, выбранных модулей и видоизмененного интерфейса. Подробности смотрите в странице справочного руководства weston.ini
:
~/.config/weston.ini
[core] # поддержка xwayland modules=xwayland.so [libinput] enable_tap=true [shell] background-image=/usr/share/backgrounds/gnome/Aqua.jpg background-color=0xff002244 panel-color=0x90ff0000 locking=true animation=zoom close-animation=fade focus-animation=dim-layer #binding-modifier=ctrl #num-workspaces=6 ### для поддержки тем курсоров установите xcursor-themes из репозитория Extra. ### #cursor-theme=whiteglass #cursor-size=24 ### настройки планшета ### #lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png #lockscreen=/usr/share/backgrounds/gnome/Garden.jpg #homescreen=/usr/share/backgrounds/gnome/Blinds.jpg #animation=fade ### для дисплея ноутбука ### #[output] #name=LVDS1 #mode=1680x1050 #transform=90 #[output] #name=VGA1 # The following sets the mode with a modeline, you can get modelines for your preffered resolutions using the cvt utility #mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync #transform=flipped #[output] #name=X1 #mode=1024x768 #transform=flipped-270 [input-method] #path=/usr/lib/weston/weston-keyboard [keyboard] keymap_rules=evdev #keymap_layout=gb,de #keymap_options=caps:ctrl_modifier,shift:both_capslock_cancel ### keymap_options from /usr/share/X11/xkb/rules/base.lst ### numlock-on=true [terminal] #font=DroidSansMono #font-size=14 [launcher] icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png path=/usr/bin/weston-terminal [launcher] icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png path=/usr/bin/gnome-terminal [launcher] icon=/usr/share/icons/hicolor/24x24/apps/firefox.png path=/usr/bin/firefox [launcher] icon=/usr/share/weston/icon_flower.png path=/usr/bin/weston-flower [screensaver] # Uncomment path to disable screensaver path=/usr/libexec/weston-screensaver duration=600
XWayland
Установите пакет xorg-server-xwayland.
Если вам понадобится запускать X-приложения из Weston, он будет вызывать Xwayland для обслуживания запросов. Для этого добавьте следующие строки в файл конфигурации:
~/.config/weston.ini
[core] modules=xwayland.so
Запись скринкаста
У Weston есть встроенный записыватель скринкастов, который может быть запущен и остановлен посредством комбинации клавиш Super+r
. Скринкасты сохраняются в файл capture.wcap
в текущей рабочей директории Weston.
Формат WCAP - особый lossless видео формат, который записывает только разницу между кадрами, характерный для Weston. Чтобы просмотреть записанный скринкаст, файл WCAP нужно преобразовать в формат, который сможет понять медиаплеер. Сначала преобразуем картинку в формат пикселей YUV:
$ wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
Файл YUV может быть преобразован в другие форматы используя FFmpeg.
High DPI дисплеи
Для Retina или HiDPI дисплеев, используйте:
~/.config/weston.ini
[output] name=... scale=2
Шрифты
Weston использует стандартный шрифт sans-serif для заголовков окон, часов и прочих. Смотрите Font configuration (Русский)#Заменить или установить шрифты по умолчанию для получения инструкций о том, как изменить этот шрифт.
GUI библиотеки
(Подробности смотрите на официальном сайте)
GTK+
В пакете gtk3 из официальных репозиториев уже включена поддержка Wayland.
С версии GTK+ 3.0, GTK+ имеет поддержку нескольких бэкендов во время выполнения и может переключаться между ними таким же образом, Qt c lighthouse.
Когда включены оба бэкенда Wayland и X, GTK + по умолчанию будет использовать X11, но это можно изменить, переназначив переменную окружения: GDK_BACKEND=wayland
.
Qt5
Установите qt5-wayland.
Чтобы запустить приложение Qt5 с плагином Wayland, установите переменную окружения QT_QPA_PLATFORM=wayland-egl
.
Clutter
Clutter toolkit имеет бэкенд Wayland, что позволяет ему работать в качестве клиента Wayland. Бэкенд включён в официальным пакет из extra .
Для запуска Clutter на Wayland, выставите CLUTTER_BACKEND=wayland
.
SDL
Экспериментальная поддержка wayland доступна с версии SDL 2.0.2 и включена по умолчанию Arch Linux.
Для запуска SDL на Wayland, выставите SDL_VIDEODRIVER=wayland
.
glfw
Версия 3.1 будет иметь поддержку Wayland через указанный флаг компиляции. В то же время вы можете установить пакет glfw3-gitAUR[ссылка недействительна: сохранено в aur-mirror] и добавить Cmake-флаг -DGLFW_USE_WAYLAND=ON
EFL
EFL полностью поддерживает Wayland. Для запуска EFL в Wayland смотрите страницу проекта Wayland.
Оконные менеджеры и оболочки рабочего стола
GNOME
Начиная с версии 3.14, Gnome поддерживает запуск рабочего стола используя Wayland. Gnome compositor может быть запущен без использования X, и будет выступать в качестве композитного менеджера Wayland.Он достаточно стабильный для повседневного использования, однако есть некоторые особенности, которые пока что не поддерживаются (см. документацию Gnome). Поэтому рабочий стол, приложения, использующие X будет работать с использованием XWayland.
Для запуска сеанса Gnome Wayland нужно использовать gdm login manager, в котором требуется выбрать "Gnome on Wayland".
Hawaii
sway
Sway - это совместимый с i3 фреймовый оконный менеджер для Wayland.
KDE
Начиная с KDE 4.11 beta поддерживается KWin как композитный менеджер Wayland. При этом в настоящее время нет возможности использовать KWin в качестве менеджера сессии. Поддержка клиентов Wayland планируется с версии KDE 5.4.
Orbment
orbment (ранее loliwm) - фреймовый оконный менеджер для Wayland.
Velox
velox простой фреймовый оконный менеджер, основанный на swc. Базируется на dwm и xmonad.
Orbital
Orbital это композитный менеджер Wayland и пользовательская оболочка, использующая Qt5 и Weston. Цель проекта заключается в создании простого, но гибкого и привлекательного рабочего стола Wayland рабочий. Это не полноценное окружение рабочего стола, а скорее аналог оконного менеджера для X11, такого как Awesome или Fluxbox.
Papyros Shell
Papyros Shell это оболочка рабочего стола проекта Papyros, построенная с использованием QtQuick и использущая QtCompositor в качестве композитного менеджера Wayland.
Maynard
Maynard это GTK клиент рабочего стола для Weston . Оболочка основана на наработках Weston gtk-shell.
Motorcar
Motorcar - композитный менеджер и прототип интерфейса трёхмерного рабочего стола.
Решение проблем
LLVM assertion failure
Если вы получаете LLVM assertion failure, вам нужно пересобрать mesa без Gallium LLVM пока эта проблема не будет исправлена.
Это может означать отключение некоторых драйверов, которым требуется LLVM. Если возникают проблемы с драйверами, то можно также попробовать предпринять следующее:
$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so
Не запускается Weston после обновления до 1.7
Это может быть связано с загрузкой модуля `desktop-shell.so`, указанного в weston.ini. Требуется просто удалить его из строки конфигурации, подобно этой:
~/.config/weston.ini
[core] modules=xwayland.so,desktop-shell.so
Убрав `desktop-shell.so`, получаем
~/.config/weston.ini
[core] modules=xwayland.so