LINUX.ORG.RU

Разработчики САПР KiCad раскритиковали Wayland и рекомендовали использовать X11

 , ,


3

6

Разработчики свободной системы автоматизированного проектирования печатных плат KiCad рассказали о состоянии реализации поддержки Wayland и обобщили проблемы, мешающие полноценному использованию данного протокола. Пользователям, профессионально проектирующим печатные платы в KiCad или желающим получить стабильное и полнофункциональное окружение, рекомендовано запускать KiCad в средах рабочего стола на базе протокола X11, таких как Xfce, MATE или X11-сеанс KDE Plasma.

Тем кто намерен использовать KiCad в окружениях с Wayland следует быть готовым к возможным зависаниям и аварийным завершениям, невозможности восстановить желаемую раскладку окон и ограничению функциональности интерфейса. Утверждается, что ограничения в функциональности вызваны отсутствием в Wayland возможностей, давно применяемых в приложениях для X11, Windows и macOS, таких как поддержка позиционирования окон и мгновенного перемещения указателя мыши (cursor warp).

Что касается возникающих сбоев, то они связываются с большой фрагментацией композитных серверов для Wayland. GNOME, KDE и обособленные композитные менеджеры по-своему интерпретируют протоколы Wayland, поэтому полагаться при разработке на единую целостную реализацию протоколов Wayland и экспериментальные расширения проблематично. Разработчикам приложений приходится учитывать особенности каждого окружения и применять костыли для обхода проблем, специфичных для разных композитных менеджеров.

Фрагментация композитных серверов существенно увеличивает трудозатраты на реализацию поддержки Wayland. Отмечается, что самое неприятное в том, что разработчики KiCad не имеют возможности исправить возникающие проблемы своими силами, так как проблемы присутствуют не в KiСad, а в протоколах, оконных менеджерах и композитных серверах.

Учитывая, что Linux применяет лишь небольшая часть пользователей KiCad, решено избегать добавления в кодовую базу проекта костылей для обхода проблем, специфичных для оконных менеджеров, но при этом продолжать собирать KiCad для Wayland и тестировать сборки на совместимость. Все выявляемые проблемы и ограничения планируют документировать и доводить до сведения пользователей.

В системе отслеживания ошибок решено не разбирать жалобы от пользователей Wayland, связанные с позиционированием и размером окон, установкой фокуса, а также зависаниями, аварийными завершениями, повышенной нагрузке на CPU, проблемами с устройствами ввода и сбоями при отрисовке, не проявляющимися в сборке для X11.

Среди известных проблем, которые находятся вне зоны влияния разработчиков KiCad и которые не удаётся устранить на стороне KiCad:

  • Проблемы с управлением окнами: Невозможность управления позицией окон и панелей (при открытии KiCad нельзя запомнить и восстановить положение окон и панелей инструментов). Проблемы с координацией работы одновременно с несколькими окнами. Ограничение возможности перемещения вкладок и панелей между разными областями.
  • Проблемы с устройствами ввода: Возможность мгновенного перемещения курсора (cursor warping) завязана на необязательные экспериментальные расширения протокола, поддерживаемые лишь в отдельных композитных менеджерах. Непредсказуемое поведение при управлении фокусом ввода. Проблемы при использовании специализированных устройств ввода и при обработке горячих клавиш.
  • Проблемы со стабильностью и производительностью: Повышенное потребление ресурсов и высокая нагрузка на CPU/GPU по сравнению с использованием X11. Появление графических артефактов при отрисовке и нарушение нормального вывода. Зависания и аварийные завершения, проявляющиеся только при работе в окружениях на базе Wayland. Ненадёжная работа с буфером обмена.
  • Ограничения интерфейса пользователя: Проблемы с позиционированием, фокусом и взаимодействием в модальных диалогах. Проблемы с запуском внешних приложений и управления ими.

>>> Подробности (opennet)

★★★★★

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 1)

Проблемы с управлением окнами: Невозможность управления позицией окон и панелей (при открытии KiCad нельзя запомнить и восстановить положение окон и панелей инструментов). Проблемы с координацией работы одновременно с несколькими окнами. Ограничение возможности перемещения вкладок и панелей между разными областями.

Ладно если бы это были разработчики какого нибудь WM ну или хотя бы драйверов. Но авторы прикладухи … поглядели бы как это делается в Gnome что ли.

Народ а кто юзает КДЕ там что тоже такие проблемы?

mx__ ★★★★★
()

Вот сразу видно, достойные люди, настоящие инженеры — джентльмены и учёные мужи. Присоединяюсь к хору поздравлений.

Smacker ★★★★★
()

Все выявляемые проблемы и ограничения планируют документировать и доводить до сведения пользователей.

Какой бред... А как насчет доводить это до багтрекеров апстрима?

X-Pilot ★★★★★
()
Ответ на: комментарий от X-Pilot

Это не ошибки, так что в багтрекерах постить бесполезно. Они перечислили ограничения протокола, это менять не станут.

vbcnthfkmnth123 ★★★★★
()

Это может и не проблема Вялого, а тулкитов. Но они тоже величайшей тупизны и вряд ли когда-то договорятся между собой, чтобы разработчикам прикладухи дать какое-то единое вменяемое API для всего этого.

thegoldone ★★
()

Утверждается, что ограничения в функциональности вызваны отсутствием в Wayland возможностей, давно применяемых в приложениях для X11, Windows и macOS, таких как поддержка позиционирования окон и мгновенного перемещения указателя мыши (cursor warp).

Вот вам и вяленый, который готов для десктопа. Шах и мат.

u5er ★★
()

Я вообще не очень понимаю, зачем приложению несколько окон верхнего уровня? А так, ну сделай мегаокно(MainFrame называется если по винапишному) прозрачное(хотя зачем прозрачное?) и управляй в нём дочерними окнами как тебе нравится.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Я вообще не очень понимаю, зачем приложению несколько окон верхнего уровня?

А я вот не понимаю как надо упороться, чтобы не дать приложению управлять своими окнами.

ya-betmen ★★★★★
()
Ответ на: комментарий от u5er

Вот вам и вяленый, который готов для десктопа. Шах и мат.

Таких криворуких разработчиков, вообще можно по пальцам пересчитать. Может и костылями, но всё это обходится, говорю как разработчик. Просто им лень адаптировать свой софт.

Loki13 ★★★★★
()
Ответ на: комментарий от ya-betmen

А я вот не понимаю как надо упороться, чтобы не дать приложению управлять своими окнами.

Это не всегда возможно. У меня вот тайлинг и управляй не управляй, а получишь только то, что тебе композитор разрешил. И в иксах в том числе.

Loki13 ★★★★★
()
Ответ на: комментарий от einhander

А где у этого апстрима единый багтрекер?

=багтрекер тех композиторов, в которых наблюдаются проблемы

X-Pilot ★★★★★
()
Ответ на: комментарий от ya-betmen

А я вот не понимаю как надо упороться, чтобы не дать приложению управлять своими окнами.

Своими дочерними управлять можно. А вот зачем приложению несколько top-level окон, мне не совсем понятно. А софта я написал не мало. Всегда решалось одним окном и в нём кучей дочерних окон\вкладок и так далее. А главное окно - одно.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Просто им лень адаптировать свой софт.

Им не лень. Они просто напрявляют свои усилия на разработку своего софта, а не е*ли с препятствиями. Суди сам: в иксах всё работает, в винде(!) всё работает и на маке(!) всё работает, и только вяленый с его хвалёной безопасностью делает мозги. Оно им (разработчикам кикада) надо? И ради чего? Это как раз то, о чём я говорил - сначала надо было довести вяленого до паритета по функциям с иксами хотя бы, а только потом уже пропихивать его, а не наоборот.

u5er ★★
()
Ответ на: комментарий от ya-betmen

Ок, я понял, вяленый сделали для тайлинговых вм.

Почему ДЛЯ? Он же протокол, он должен быть универсальным. Но вообще, я уверен, что в итоге каждый композитор напилит(в кедах уже есть в квине) свое расширение для этого, а кути и влрут сделают большой if else и всё везде будет работать.

Может и костыли, но «вам шашечки или ехать?». А у разработчиков работа такая, костылями на велосипедах жонглировать.

Loki13 ★★★★★
()

Невозможность управления позицией окон и панелей

Возможность мгновенного перемещения курсора

Зависания и аварийные завершения

Повышенное потребление ресурсов и высокая нагрузка на CPU/GPU

Ненадёжная работа с буфером обмена.

Проблемы с позиционированием, фокусом и взаимодействием в модальных диалогах

echo $(shuf -n 1 -e "Это никому не нужно." "Wayland готов." "У меня работает." "Это не задача композитного композитора." "Луддиты." "Ну и что, что не работает, зато не иксы.")
macrohard ★★★
()
Ответ на: комментарий от mx__

Но авторы прикладухи … поглядели бы как это делается в Gnome что ли.

Никак это не делается. Это буквально фишка Wayland...

atrus ★★★★★
()
Ответ на: комментарий от legolegs

А в традиционном интерфейсе гимпа разве не несколько главных окон?

Традиционный это тот что устаревший и от которого все плевались потому что «не как в фотошопе»?

Ну и опять же, кому без этого совсем никак, думаю XWayland ещё минимум 10 лет будут тянуть, а то и больше.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)

Это просто позор, я считаю. Позор для Wayland.

полагаться при разработке на единую целостную реализацию протоколов Wayland и экспериментальные расширения проблематично

Были одни иксы и стопицот тулкитов. Не понравилось. Добавили стопицот композиторов.

Puzan ★★★★★
()
Ответ на: комментарий от ya-betmen

Может потому, что главное окно не нужно?

Везде это стандартный путь, и в венде в том числе(MainFrame). И в кутях тоже класс называется QMainWindow. То что разрабы кикада наклепали(и не хотят менять) нестандартную архитектуру гуёв, это больше в их огород камень.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Это нормальная история для мультимониторной конфигурации. А вот то, что протоколы, которые с 2018 года на review валялись, замержили только сейчас – вот это и правда позор. Потому что они как раз и приносят то что хотят авторы KiCad в плане управления окон и курсором.

gaylord
()
Последнее исправление: gaylord (всего исправлений: 1)

Как недавно на ЛОРе мне сакзали, вяленый раработан чтобы упростить работу программиста. Судя по всему, у разработчиков вяленого всё получилось(нет).

WatchCat ★★★★★
()
Ответ на: комментарий от legolegs

А в традиционном интерфейсе гимпа разве не несколько главных окон?

Это который абсолютное большинство пользаков с облегчением забыло? Да, но они никогда не были многоуровневыми по отношению друг к другу.

AP ★★★★★
()
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от gaylord

Принесли куда в протокол или композиторы?

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

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

Принесли куда в протокол или композиторы?

Смешно, но сперва в композиторы, а потом уже в протокол. Его kwin и gnome умеют.

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

Это странно, потому что большая часть полезных Wayland уже реализована везде.

gaylord
()
Ответ на: комментарий от ya-betmen

Так вот видим, что нет. Он не универсальный.

Если мы говорим о позиционировании окон, always has been. Тайловые композиторы обычно игнорировали желания KiCad и прочих разсместить свои окна так, как им хочется.

gaylord
()
Ответ на: комментарий от gaylord

Это нормальная история для мультимониторной конфигурации.

Решается топ левел окнами по количеству мониторов и перетягиванием дочерних между ними.

амержили только сейчас – вот это и правда позор

и то вроде только в staging.

Loki13 ★★★★★
()
Ответ на: комментарий от WatchCat

Так его начали разработчики иксов. Они просто устали от сложности иксов и решили сделать проще. Правда упустили из вида, что сложность иксов результат того, что они решают сложную задачу.

Стабильная часть вяленого выглядит как proof-of-concept со всеми их проблемами.

ya-betmen ★★★★★
()
Ответ на: комментарий от Kolins

Я так смотрю основные претензии к вяленьму это разброт и шатание среди реализаций протокола

У меня XMPP от этого умер.

Loki13 ★★★★★
()
Ответ на: комментарий от ya-betmen

Да я понял что вяленый сделали для тайдинговых вм.

Не, как раз тайловые session management ещё не умеют :))

gaylord
()
Ответ на: комментарий от Loki13

и то вроде только в staging.

Это нормально, там большая часть протоколов.

gaylord
()
Ответ на: комментарий от Loki13

Чтоб понять надо запустить кикад и посмотреть как он работает, в том числе на многомониторной конфигурации.
Если в кратце то там отдельно окно для схем, отдельно для трассировки - так исторически и в пикаде и в альтиуме и в большинстве других сапр такого плана, но при этом окна между собой удобно связаны - тыкнул в одном элемент на схеме - в другом его сразу подсветило на плате.
За счет того что это именно «главные» окна их можно и гонять по мониторам/серверам независимо, и назначать им мониторы и позиции для старта при запуске и отдельно через иксы прогнать и тд и тп

rukez ★★★★★
()
Ответ на: комментарий от Loki13

А вот зачем приложению

Суть в том, что KiCAD это не одно приложение, это группа практически независимых приложений, которые взаимодействуют друг с другом. Такой подход редок, но применяется в сложных пакетах, яркий пример такого подхода это Ансис, который представляет венигрет из приложений, которые могут взаимодействовать друг с другом, при этом написаны они на разных ЯП, там и моно, и qt, и tcl/tk.

einhander ★★★★★
()
Ответ на: комментарий от ya-betmen

Так его начали разработчики иксов. Они просто устали от сложности иксов и решили сделать проще. Правда упустили из вида, что сложность иксов результат того, что они решают сложную задачу.

Ненене, изначально давление было от KDE/GNOME, которые хотели все делать битмапами. Разработчики иксов сказали «ну можно».

sarumeister
()
Ответ на: комментарий от ya-betmen

Стабильная часть вяленого выглядит как proof-of-concept со всеми их проблемами.

Оно выглядит как киоск, что в целом и неплохо. Проблема в том, что фичи вроде восстановления окон должны были бы быть в XDG, но там начался комитет.

gaylord
()

В вяленде KiCad вообще невозможно пользоваться. Ты самое главное не упомянул: нельзя даже поставить микросхему в нужное место. То есть нельзя схватить мышкой объект на канвасе и его передвинуть из-за убогости этого самого вялого. Скажем, невозможно поставить в Кикаде микросхему на определенное место. Для этого нужно включать иксы (XWayland).

posixbit ★★★
()
Ответ на: комментарий от posixbit

В вяленде KiCad вообще невозможно пользоваться. Ты самое главное не упомянул: нельзя даже поставить микросхему в нужное место. То есть нельзя схватить мышкой объект на канвасе и его передвинуть из-за убогости этого самого вялого. Скажем, невозможно поставить в Кикаде микросхему на определенное место. Для этого нужно включать иксы (XWayland).

А как это вообще с Wayland связано? Это же канвас самого приложения.

gaylord
()

Что мы имеем.

X.org. Выбрасывают отовсюду, потому что партия так решила.

Wayland. При попытке всерьёз им пользоваться оказывается что вялый немного не готов.

X11Libre. Вайгельт в одиночку такой проект не осилит. Даже если будет работать не один и осилит, всё равно без использования в качестве решения по умолчанию X11Libre будет в ситуации Arcan: развивается, но существует сам по себе и никем не используется.

Ждём десктопную версию Android.

macrohard ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)