The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Первые планы по разработке GNOME Shell 4"
Отправлено opennews, 14-Ноя-17 14:08 
Разработчики GNOME начали публикацию (https://wiki.gnome.org/Initiatives/Wayland/GnomeShell/GnomeS...) идей по дальнейшему развитию рабочего стола и определили первые планы, касающиеся GNOME Shell 4. В качестве ключевых задач называется увеличение производительности и отзывчивости интерфейса и уход от арзитентурных ограничений GNOME Shell 3, который спроектирован для работы в роли композитного менеджера для X11 и завязан на особенности X11 при взаимодействии с GPU и устройствами ввода.


Например, за передачу событий ввода, высокопроизводительную  отрисовку и перемещение курсора отвечал X-сервер, к которому приложения могли обратиться напрямую, в обход GNOME Shell. После появления Wayland положение в корне изменилось и ранее решаемые  X-сервером задачи легли на плечи GNOME Shell, который теперь должен сам перенаправлять события ввода и транслировать вывод окон клиентов к GPU.

В связи с этим выделяется пять ключевых проблем, требующих доработки GNOME Shell: перенаправление событий ввода и клиентского контента (прямой вывод без двойной буферизации) с минимальными задержками, обеспечение оперативной реакции курсора в ответ на события ввода, поддержка методов ввода в Shell UI и избавление от влияния притормаживания в основном потоке на перерисовку кадров при композитинге контента приложений.

План подразумевает два варианта дальнейшего развития оболочки. Первый вариант предлагает разбить GNOME Shell на два отдельных процесса, отвечающих за интерфейс пользователя и композитинг. Ключевым звеном процесса композитинга станет библиотека Libmutter, предоставляющая несколько обработчиков, вынесенных в отдельные потоки. В том числе в отдельные потоки предлагается выделить код для взаимодействия с модулями KMS, обработки ввода, поддержки Wayland  и композитинга/управления окнами.

Процесс с интерфейсом пользователя предлагается полностью переписать, избавившись от применения тулкита St в пользу штатного API GTK 4+. Для вывода предлагается использовать бэкенд GDK Wayland вместе с дополнительным расширением к протоколам Wayland, обеспечивающим интеграцию GNOME Shell с процессом композитинга. X-сервер полностью исключается из работы GNOME Shell, GNOME Shell будет оформлен как Wayland-клиент, всегла работающий через Wayland-бэкенд, даже когда обеспечивается работа сеансов X11.

Предложенная первым вариантом переработка решит все обозначенные проблемы, но для реализации задуманных архитектурных изменений потребует переписать с нуля значительную часть кода GNOME Shell, что приведёт к нарушению совместимостью с дополнениями и возможно необходимости их полной переработки. Для сглаживания разрыва совместимости с дополнениями рассматривается возможность развития GNOME Shell 4 до полной готовности в полностью отдельной ветке, поэтапный переход с постепенной заменой функциональности или назначение времени нарушение совместимости и постепенный перевод дополнений на новый API.

В качестве второго, щадящего, варианта называется применение прокси дисплейного сервера, который напоминает X-сервер и является прослойкой, с которой могут взаимодействовать клиенты Wayland, а также   транслирует обращения к подсистемам KMS и  libinput. При этом GNOME Shell напрямую не взаимодействует с KMS, а выполняет операции композитинга чрез данную прослойку. По сути прослойка будет выступать в роли полноценного сервера Wayland, что потребует полной реализации всех протоколов Wayland как в данной прослойке, так и в GNOME Shell.

Второй вариант требует существенно меньше трудозатрат и  сохраняет совместимость с имеющимися дополнениями, но решает лишь задачи повышения отзывчивости из списка намеченных проблем (решаются 3 из 5 задач). Из положительных сторон отмечается не влияние крахов GNOME Shell на выполняемые в сеансе приложения, так как в случае подобных сбоев прослойка сохраняет состояние клиентских соединений. Из недостатков отмечается сохранение необходимости применения двух тулкитов (St и GTK+), выполняемые через GNOME Shell операции отрисовки интерфейса пользователя по-прежнему могут приводить к задержкам операций отрисовки окон клиентов, не решаются проблемы с привязкой к методам ввода, требуется дублирование реализации протоколов Wayland (в прослойке и в GNOME Shell).


URL: https://www.reddit.com/r/gnome/comments/7cp0pk/gnome_4_initi.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=47565

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру