NetBSD перешёл на оконный менеджер CTWM по умолчанию и экспериментирует с Wayland


Проект NetBSD объявил о смене предлагаемого по умолчанию в сеансе X11 оконного менеджера с twm на CTWM. CTWM представляет собой форк twm, ответвившийся 1992 году и развивавшийся в направлении создания легковесного и полностью настраиваемого оконного менеджера, позволяющего менять оформление и поведение на свой вкус.

Оконный менеджер twm предлагался в NetBSD последние 20 лет и в современных условиях выглядел архаично. Негативная реакция людей на предлагаемый по умолчанию twm заставила разработчиков пересмотреть оболочку по умолчанию и задействовать более функциональный оконный менеджер CTWM для формирования окружения, дружественного для пользователей, имеющих опыт работы в других операционных системах.

CTWM поддерживает виртуальные рабочие столы, активно развивается и поставляется под совместимой с NetBSD лицензией. Из реализованных на базе CTWM новых возможностей отмечается автоматически генерируемое меню приложений, полезные клавиатурные комбинации для полноценного управления без мыши, адаптация для работы с разными разрешениями экрана (в том числе HiDPI после добавления крупных шрифтов), возможность поддержки как очень медленных, так и очень быстрых систем при помощи одного файла конфигурации.

Было:

Стало:

Дополнительно опубликована заметка о состоянии проекта по обеспечению работы в NetBSD композитного сервера swc на базе протокола Wayland. Порт пока не готов для повседневного использования, но уже пригоден для экспериментов и запуска приложений, использующих Qt5, GTK3 или SDL2. Из проблем отмечается несовместимость с некоторыми приложениями, включая Firefox, отсутствие поддержки запуска приложений X11, возможность работы только с GPU Intel для которых имеется драйвер для переключения видеорежимов на уровне ядра.

Из особенностей Wayland, затрудняющих портирование в NetBSD, упоминается наличие большого объёма специфичного для ОС кода в композитных менеджерах, отвечающих за управление экраном, вводом и управлением окнами. Wayland не предоставляет готовые протоколы для таких возможностей, как создание скриншотов, блокировка экрана и управление окнами, и пока отстаёт от X-сервера в таких областях, как переносимость, модульность и стандартизация.

Дополнительные возможности реализуются силами композитного менеджера или через определение расширений к протоколам. Эталонный композитный сервер Weston сильно завязан на API ядра Linux. Например, привязка к механизму мультиплексирования ввода-вывода epoll требует переработки для поддержки kqueue. Патчи для использования kqueue уже подготовлены разработчиками BSD-систем, но пока не приняты в основной состав.

Код эталонного композитного сервера изначально написан с оглядкой только на Linux и не учитывает особенности других систем (например, в коде используется "#include ‹linux/input.h›" и зависимость от libinput). Во FreeBSD реализован клон API ввода Linux, но в NetBSD применяется принципиально иной API для управления вводом - wscons. В настоящее время поддержка wscons уже добавлена в swc и запланирована для переноса в другие композитные менеджеры.

Представители NetBSD намерены убедить разработчиков Wayland не использовать жесткую привязку к epoll, а перейти на универсальную прослойку, такую как libevent. Из планируемых работ также отмечается обновление DRM/KMS стека ядра NetBSD и графических драйверов, в том числе с портированием кода из ядра Linux, а также добавление поддержки атомарного переключения видеорежимов, новых версий DRM и API Glamor (для запуска X11-приложений под управлением xwayland). В композитный сервер на базе Wayland планируется добавить поддержку фреймбуферов.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53797


Comments 0