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)
Ответ на: комментарий от MOPKOBKA

Iron_Bug программировала с использованием wxWidgets, и говорит тоже самое

Не уверен, что мнению Багини по вопросам программирования стоит доверять.

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

Там бесполезно смотреть, написано может что угодно но оно скорее всего не работает.

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

у меня ускорение(*) влияет как минимум на
- скорость «отклика» интерфейса
- прорисовку надписей (а это очень и очень важно)

у вас возможно «по другому» :о)

(*) - nvidia gts250 dn (блоб-драйвера), карта супер-старая, но тут гари дает «что надо»

sunjob ★★★★★
()

что придумано бриташками - все для раздора и уничтожения

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

Ну я не спец чтобы оценивать кто из них круче. Но по крайне мере gnome у меня работает под wayland.

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

Но по крайне мере gnome у меня работает под wayland.

А оно теперь только под wayland и работает. :)

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

Внедрение вялого - это уникальное явление мирового уровня: такой истории в практике разработки ПО, и СПО в частности, вроде бы еще не было.

Systemd — такое же внедрение ненужного говна насильно и против мнения всего ИТшного комьюнити в целом.

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

Это фишка NVIDIA, они предоставляют кучу инструментов и программ для замера задержки, смены цвета итд.

Ты для начала продемонстрируй аппаратное ускорение в браузере. Или это недоступная для твоей невидии технология?

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

Нет. Systemd внедрили за пару лет, и он решает актуальные задачи. Там коммерческий интерес вполне конкретный: снижение издержек на поддержку и повышение привлекательности платформы.

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

Я совсем не понимаю, почему для всяких кикад / мега-синк и вайна — не использовать XWayland ??

Просто рабочую тулзу форсируешь в хвэйланд — и усё.

Если так разобраться, то получается, что разрабы кикада, вэйландо-ненавистники и прочие комментаторы раздули из мухи слона.

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

Накатил рач (или кашу-ос), с самыми свежими кедами — вкрутил форс хвэйланд в некоторые ярлычки — и всё отлично.

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

понимаю, почему для всяких кикад / мега-синк и вайна — не использовать XWayland ??

Ну так о том и речь, что всё перечисленное только с иксами (Xwayland) и работает, а с вялым нет. Так что либо использовать, переключая программу на Xwayland, либо использование невозможно. А раз уж всё равно иксами пользоваться, то хотя бы не ограничивая себя в функциональности самого рабочего стола — с X.Org, а не с XWayland поверх куцего Wayland.

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

Ну, может и так, если это рабочая машина. В этом случае — на Хорг сидеть уместно.

У меня же — домашний компьютер. Мне норм тр-хацц0 с костылями и ворк-эраундами.

У меня есть пара приложений, которые не дружат с вялендом. Например, аудациос — в нём ломаются окна всплывающих инфо о песне… крайне неудобно пользоваться без хвейланд.

Что хорошего я заметил в кде-вэйланде, та это то, что редактор модификаций GECK, для Fallout New Vegas, в вайне очень сильно глючит. У него 5 плавающих окон, которые при запуске ведут з-файт войну за фокус. Чтобы это остановить — надо на 3 секунды, на заголовке самого переднего окна зажать лкм.

И всё бы ничего, но гекк/вайн в иксах моментально за секунду крашит всю сессию целиком… Это для меня как катастрофа, т-к я пишу для модов свои скрипты в кате, и вайн забирает все несохранённые наработки с собой в могилу.

Вейланд-же, от такой фигни не крашится. Просто окна очень быстро мигают, и сессия начинает на 30% тормознее работать. И можно успеть схватить окно за заголовок, чтобы з-файт-фокус прекратился.

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

У меня manjaro с кедами, естественно на wayland. Вот ради интереса поставил сейчас kicad из флэтпака, запустил. Никаких ужасных багов не вижу. Как мне увидеть какие-то баги?

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

Основная проблема в том что в куций Wayland идет много разработок по медиа и аппаратному ускорению. То есть постепенно Xorg перестает уметь в железки - и тут раз железячные корпорации идут в едином векторе с шляпниками (а теперь уже и убунтой) - то вариант с Xwayland остается единственным.

Ну а чтобы рабочие столы не были ограниченными - надо портировать mate, крысу, корицу - ибо вейланд конечно говно, но гном гораздо мерзотнее. И если вейланд уже случился - то от гнома еще можно спастись.

Но тут вот какое дело, Михалыч. Смотрю на код MATE. C появлением вялого он стал ужасен - то есть помимо препроцессорных директив #ifdef HAVE_X11 и #ifdef HAVE_WAYLAND идет еще куча рантаймовских проверок и ветвлений кода. Думаю в крысе не лучше. То есть по уму надо делать форк и разводить кодовую базу - то есть по сути надо дропнуть иксы нахрен. В отличии от гнома в котором идет постоянное ковыряние и переработка ради переработки - МАТЕ в общем-то заморожен и кроме легкого багфиксинга и адаптации под новые либы ( в том числе и вяленые ) там ничего не происходит. Но при этом для поддержки вяленого кода уродуется код иксовый , а завалы нерабочего в вяленом иксового кода снижают эффективность и усложняют разработку. А попытка делать комбайн который и там и сям может запуститься - приводит к созданию глючного тормозного говна. И в свете этого вполне понятна идея корпоративных разрабов дропнуть иксовый код раз уж индустрия сделала свой выбор.

В итоге получим нормальные - пусть и замороженные иксовые ветки (никто впрочем не мешает коммьюнити туда что-то коммитить). Которые будут работать под иксом лучше чем изгаженные вялендом «комбайны». И уже новую ветку с чисто вейланд кодом где можно не оглядвваться на иксы и не делать в каждой функции десяток if wayland_display, if x11_display….

Qui-Gon ★★★★★
()
Ответ на: комментарий от Set440

редактор модификаций GECK, для Fallout New Vegas, в вайне очень сильно глючит. У него 5 плавающих окон, которые при запуске ведут з-файт войну за фокус

Только что проверил в иксах (WM без композитора). Ничего подобного нет. Последний PortProton (Proton-GE) с включенными NO_ESYNC и NO_FSYNC в настройках префикса (и в winecfg префикса также включена «Allow the window manager to control the windows»). В любом случае, даже если допустить такое поведение с перехватом фокуса, падать иксы явно не должны. Это явный баг оконного менеджера, композитора или драйвера видеокарты. Надо лог видеть и дебаг.

posixbit ★★★
()
Последнее исправление: posixbit (всего исправлений: 2)
Ответ на: комментарий от AleksK

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

Естественно, что через хвэйланд, с проектом хэллоу-ворлдом — никаких багов не встретишь.

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

Дак, что толку с куцого протона вальве-трии ?? (там нету некоторых фич, как ядерный нтсинк)

Я говорю про царский вайн-ткг, на раче (каша-ос).

Ещё, вероятно, что в протоне используется какой-то костыль для вайна, типа фс-хак, который решает проблему з-фокус-файта. Особенно, в ГЕ-редакции такой патч может быть.

Кроме-того, я использую не «фабричный» гекк, а замодденый (поставь GECK-Extender, — вот он-то наверное и будет глючить). В обычном гекке очень много всякой фигни, которая мешает работать, например, словари и куцый лимит на количество строк кода в скрипте.

Короче — просто накати на вайн-стэйджинг гекк-экстендер и посмотри — в таком конфиге баг должен присутствовать.

Я не говорю, что иксы кривые. Меня просто дискуражит тот факт, что вайн может уронить по-сути главный системный компонент.

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

Глянул во flatseal он там по умолчанию иксы использует. Тогда не понимаю в чем проблема. xwayland в ближайшие годы точно никто не выкинет, потому что куча софта прибитого гвоздями к иксам типа того же wxwidgets. Ставь и пользуйся как обычно.

Кстати, на счет того что «под виндами все прекрасно». На главной wxwidgets написано, что они наконец осилили темную тему для win 11. Сколько времени прошло с появления темной темы на винде? Она появилась в октябре 21 года и вот к середине 25-го они наконец смогли у себя сделать её поддержку. Это называется проблем нет.

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

А ещё вайн любит менять разрешение иксов под приложение, а потом оно так и остаётся.

Merionet
()
Ответ на: комментарий от Qui-Gon

Интересно, почему же в иксы, которые пихают всё в один буфер, не делают разработок аппаратного ускорения…

Merionet
()

Проблема в отрисовки объектов, к примеру, у иксов опыта больше.

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

Ещё раз, в композиторе ты включаешь vsync, но в приложении типа «Игра» ты его выключаешь.

Кстати, при включении VSync в играх и включенном VSync в вяленде, многие игры начинают адски глючить. Рывки при управлении, дерганая камера.

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

Если карта мощная и моник >= 120 Герц, то рекомендую в папке игры, в dxvk.conf ставить presentInterval = 2

Карта ничего 4070Ти, а вот моник обычный 60Гц(хоть и 4к).

presentInterval = 2

А что это дает? Вот бы framelimit ставить уметь независимо от игры, а то не все игры умеют и ревут мне видяхой на ненужных 200к\с.

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

Ограничивает частоту кадров ФРЕЙМРЕЙТ_МОНИКА / 2

Исправляет нагрев видеокарты, убирает статтеринг путём уменьшения throughput на шине/памяти и на стороне процессора и рам (требует в 2 раза меньше дроуколлов)

Это не просто фреймлимит, а именно скип каждого чётного кадра.

Короче, это согласно рассчётам — бесплатный метод «поднять производительность и плавность картинки»

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

KiCad это не поможет, он на wxWidgets.

Тогда почему его разрабы вообще парятся с вейландом, а не пинают разрабов wxWidgets? Ведь это их ответственность.

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

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

Спеллчекер включите: «сакзали», «рарботан»…

Утверждение верно при одном «маленьком» условии, что гуй не тащат с других платформ, а пишут с нуля. Так как идеология у вейланда - своя.

anonmyous ★★
()
Ответ на: комментарий от Qui-Gon

Вот это, кстати, реальная проблема. Я потому GNOME и пользую. Сам по себе он мне не особо нравится (хотя я вообще аскетичен в этом плане и меня устроит почти любой шелл). Но фишка GNOME в том, что это активно разрабатываемый мейнстрим, он старается долго не тянуть лигаси, вот сейчас иксы выбрасывает. Поэтому в целом я уверен в его будущем в обозримые лет 10. Думаю, про KDE можно то же сказать, но мне KDE не понравился, слишком много настроек, я вообще не люблю ничего настраивать. Но вот на этом и всё. Когда я пользовал линукс 15 лет назад, с иксами было гораздо интересней. Помню, как я fvwm под себя настраивал, прикольная штука была. И много других самобытных WM было, и всё это более-менее работало. А с wayland получается, что все эти проекты выкинули, а новых как-то особо не наросло.

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

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

И много ли этот ансис потеряет, если будет не сам позиционировать эти свои окна?

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

То есть у них не операционная система подгоняется под софт и задачу, а софт и задача подгоняется под их вялый.

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

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

Пишите убийцу иксов? Реализуйте всё нормально.

Они так и говорили: «мы реализуем нормально, но с вас - переписывание и адаптация имеющегося совта».

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

Кстати стоп. Wayland вроде позволяет юзать композитные менеджеры внутри другого.

Не факт, что, при этом, во вложенном композиторе появляется позиционирование окон… Хотя вот как раз там бы оно и не помешало.

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

У меня рывков в управлении и дерганной камеры нет, как так?

Где именно нет? У меня Hyprland и если включаю VSync в Shadow of Tomb Raider(это как пример), камера сходит с ума. Подозреваю, что это из-за двойного VSync. Надо попробовать включить Tearing и VSync в игре, и проверить будет ли так же.

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

Включи vsync в wayland и выключи в дровах, либо наоборот.

У невидии в настройках под вялендом девственно чисто. Хотя вроде есть возможность создавать профили для игры, но будет оно применятся или просто недовыпилили - х.з.

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

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

Отличная идея, заставим разработчиков реализовывать свой собственный недо-WM. Им как раз заняться нечем, а Богу Зоопарков нужно больше зоопарков, как ни странно.

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

Так-то оно должно работать, но я сомневаюсь, что блоб полностью пофиксили. Тем более, версия у тебя не самая новая. Это nvidia-open или полностью закрытый?

Merionet
()

Ради чего ради какой великой цели, мистер Андерсон, вы продолжаете играть на линуксе?

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