Разработчики свободной САПР KiCad раскрыли информацию о текущем непростом состоянии реализации поддержки Wayland и обобщили проблемы, мешающие полноценному использованию этого протокола. В команде проекта порекомендовали пользователям, профессионально проектирующим в KiCad для стабильного и полнофункционального окружения рекомендуется запускать KiCad в средах рабочего стола на базе протокола X11, таких как Xfce, MATE или X11-сеанс KDE Plasma.
По информации OpenNET, разработчики САПР пояснили, что при использовании KiCad в окружениях с Wayland можно столкнуться с зависаниями и аварийным завершениям, невозможностью восстановить желаемую раскладку окон и ограничениям по функциональностям интерфейса.
Например, ограничения в функциональности вызваны отсутствием в Wayland возможностей, давно применяемых в приложениях для X11, Windows и macOS, таких как поддержка позиционирования окон и мгновенного перемещения указателя мыши (cursor warp).
Основные проблемы с возникновением сбоев связаны с большой фрагментацией композитных серверов для Wayland. GNOME, KDE. Обособленные композитные менеджеры по-своему интерпретируют протоколы Wayland, поэтому полагаться при разработке на единую целостную реализацию протоколов Wayland и экспериментальные расширения проблематично. Разработчикам приложений приходится учитывать особенности каждого окружения и применять костыли для обхода проблем, специфичных для разных композитных менеджеров.
Фрагментация композитных серверов существенно увеличивает трудозатраты на реализацию поддержки Wayland. Разработчики САПР KiCad отмечают, что не имеют возможности исправить возникающие проблемы своими силами, так как проблемы присутствуют не в KiСad, а в протоколах, оконных менеджерах и композитных серверах.
Учитывая, что Linux применяет лишь небольшая часть пользователей KiCad, командой проекта решено избегать добавления в кодовую базу проекта костылей для обхода проблем, специфичных для оконных менеджеров, но при этом продолжать собирать KiCad для Wayland и тестировать сборки на совместимость. Все выявляемые проблемы и ограничения планируют документировать и доводить до сведения пользователей.
В системе отслеживания ошибок KiCad разработчиками решено не разбирать жалобы от пользователей Wayland, связанные с позиционированием и размером окон, установкой фокуса, а также зависаниями, аварийными завершениями, повышенной нагрузке на ЦП, проблемами с устройствами ввода и сбоями при отрисовке, не проявляющимися в сборке для X11.
Среди известных проблем, которые находятся вне зоны влияния разработчиков KiCad и которые не удаётся устранить на стороне KiCad:
проблемы с управлением окнами: Невозможность управления позицией окон и панелей (при открытии KiCad нельзя запомнить и восстановить положение окон и панелей инструментов). Проблемы с координацией работы одновременно с несколькими окнами. Ограничение возможности перемещения вкладок и панелей между разными областями;
П=проблемы с устройствами ввода: Возможность мгновенного перемещения курсора (cursor warping) завязана на необязательные экспериментальные расширения протокола, поддерживаемые лишь в отдельных композитных менеджерах. Непредсказуемое поведение при управлении фокусом ввода. Проблемы при использовании специализированных устройств ввода и при обработке горячих клавиш;
П=проблемы со стабильностью и производительностью: Повышенное потребление ресурсов и высокая нагрузка на CPU/GPU по сравнению с использованием X11. Появление графических артефактов при отрисовке и нарушение нормального вывода. Зависания и аварийные завершения, проявляющиеся только при работе в окружениях на базе Wayland. Ненадёжная работа с буфером обмена;
О=ограничения интерфейса пользователя: Проблемы с позиционированием, фокусом и взаимодействием в модальных диалогах. Проблемы с запуском внешних приложений и управления ими.
20 февраля 2025 года состоялся релиз свободной системы автоматизированного проектирования печатных плат KiCad 9.0. Версия находилась в разработке год. Выпуск KiCad 7.0 произошёл в феврале 2023 года. Восьмая версия вышла в феврале 2024 года. Пользователям доступны для скачивания сборки KiCad 9.0 для Windows, macOS и Linux (а также KiCad Docker images — контейнеры для Docker). Исходный код проекта написан на C++ с использованием библиотеки wxWidgetsпроекта и опубликован на GitHub под лицензией GPLv3.
Источник: habr.com