LINUX.ORG.RU

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

 , ,


4

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

Чел, вылазь из своей криокамеры, с 22 года продано уже несколько миллионов стимдеков где люди играют на линуксе.

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

Reflex это именно связка ПО + Железа.

Хуанг откровенно на вас мочится, чтобы вы на него молились и покупали в нагрузку к видеокарте правильный монитор:

https://github.com/ishitatsuyuki/LatencyFleX

Как же это реализовали nvidia reflex без оборудования от nvidia?

steemandlinux ★★★★★
()

Кстати поцкажиде, как я выделил текст в хроме и перенес его в kate под вейландом? В буфере обмена ничего нет.

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

Хуанг откровенно на вас мочится

Свои фантазии держи при себе.

Как же это реализовали nvidia reflex без оборудования от nvidia?

Это реализация лишь малой части nvidia reflex, и то какие то проблемы отмеченны.

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

Ну что ты там смог включить аппаратное декодирование видео в браузере на своей мегасупер видюхе? Или ты всетаки стоишь под золотым дождиком от хуанга?

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

Это nvidia-open или полностью закрытый?

Пишет nvidia-driver-570-open.

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

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

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

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

Это реализация лишь малой части nvidia reflex, и то какие то проблемы отмеченны.

Это PoC, показывающий, что reflex работает без оборудования Nvidia.

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

ну, его библиотеки - gtk+3. но ещё пару лет назад он тащил только gtk+. хотя, емнип, там поддерживалось несолько интерфейсов раньше. сейчас не знаю. но на gtk+3 сейчас очень много графического софта сидит. альтернатива - культя, но 6-я культя разжирела невероятно, да даже 5-я уже была жирной. последняя нормальная была 4-я.

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

Нет, я захватываю картинку в хроме мышью и переношу её в гимп и картинко открывается. Значит у вяленого с этим нет проблем. Притом работает это всё между разными тулкитами.

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

Походу невидия на линуксе не для десктопов раз ты такие длинные вещи сделать не можешь.

Кстати, а что там за видяха у тебя такая?

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

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

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

Это нужно не то чтобы много кому.

Это нужно примерно каждому школьнику.

Вы в курсе, сколько свежие игры нынче весят? Типа той же Колды, Ведьмака или PUBG?

Качать такое по мобиле - довольно печальное занятие.

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

У меня иногда возникают сомнения, что разработчики этого гытыка и гнома пользуются линуксом. Вот этот баг они игнорили 8 релизов, сливали комьюнити патчи и только на 9 релизе удосужились починить его.

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

или ты думаешь, что, скажем, та же культя в воздухе висит или прямо в видеобуфер пишет? тот же gtk+3 под капотом, однако.

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

и у меня возникают. и я его не люблю. и стараюсь, где можно, убирать зависимости от него. но их много.

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

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

ну, попробуй вырезать gtk+3 из QtXBase. если ты это сделаешь, это будет замечательно. но пока это так и ничего с этим не поделать.

гномятины много повсюду. это же красношапка продавливает. потому мне оно и не нравится. ну, отдельные претензии к его структуре, где всё переплетено, и страшному глючному коду.

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

за счет инерции и гравитационных маневров сэкономить не получится?

Сэкономить рабочее тело для двигателя так можно, собственно сейчас роботы так и летают. Но это сильно увеличивает длительность полёта. А там всякие высокоэнергетические частицы,для людей не полезные. Это низкая околоземная орбита более-менее прикрыта от них магнитным полем Земли. Поэтому полгода на МКС и полгода по пути к Марсу - это большая разница.

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

не использовать XWayland ??

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

Согласен с вами. Вопрос лишь в том,насколько хорошими и безглючными «иксами» является XWayland. К примеру для запуска виндовых программ через упомянутый вами wine почти гарантированно вылезет необходимость поддержки однобайтовой кодировки cp1251. Настоящие иксы это умеют (и cp866 тоже),а XWayland?

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

а кодировки-то каким боком к композиторам? это locale и иже с ним. тащемта, абсолютно перпендикулярно отображению графики.

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

Исправление кракозябров в региональной локали (гайд)

это хэндлит сам вайн, с правильным сетапом локали.

У меня есть игры VTMB и NWN2 с Fallout-NV — они очень старые и работают в кодировке «двеннадцать-пятдясят один» — и с этой моей статьёй в вайне не рисуют кракозябры.

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

хотя бы не ограничивая себя в функциональности самого рабочего стола

А что такого особенного вам от «стола» надо? Мне например надо переключалку окон и стартовое меню. IceWM более чем достаточен. Неужели под вэйландом аналог IceWM невозможен?

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

Под Windows так и осталась возможность собирать статически, и GTK он за собой не тянет. А под Linux он уже давно использовал GTK. Я не нашел года когда они перешли на GTK в качестве бекенда, но думаю что где то около GTK 1.

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

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

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

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

Это иксовая «городская легенда».

это как амдшники и нвидиевцы кидаются камнями в чужой огород.

Вот я пишу: в кедах вялых расширений хватает для всего. УМВР.

Они отвечают: так в иксах это всё уже реализовано ъжыпсот тыщнадцоть лет. УМВР.

а я щетаю — раз умвр — так и пользойся себе наздоровье. У меня свои юзкейсы, у тебя свои.

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

Сколько времени прошло с появления темной темы на винде?

Я бы лучше спросил сколько времени прошло с появления виндов до появления в них наконец-то темной темы. В сравнении с этим четыре года на появление ее поддержки в wxwidgets это мелочь.

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

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

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

кстати, Code::Blocks же на wxWidgets написан. и да, в новых версиях он потащит новый wxWidgets и gtk+3. поэтому я его пока не трогаю. работает - и ладно.

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

Работает, но как я уже выше писал он работает под xwayland

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

а кодировки-то каким боком к композиторам? это locale и иже с ним.

Не так прямо к композиторам,а к тому,насколько XWayland хорошо умеет иксами прикидываться. Потому что у настоящих иксов есть свой,иксовый,кусок поддержки locale,помимо той что общесистемная. К примеру в системной локали cp866 есть, а в дебиановских иксах ее нет,поэтому ввода русских букв не будет если иксы запустить с такой [системной] локалью. А вот в Альте это поправлено - там в «иксовую» локаль нужная кодировка добавлена и ввод в cp866 в иксовых программах работает там где он нужен(например окошко с эмулятором доса). Вот собственно у меня и вопрос - насколько это всё останется работоспособным если использовать не настоящие иксы,а XWayland.

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

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

это хэндлит сам вайн, с правильным сетапом локали.

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

И,кстати, при установке LC_NUMERIC=ru_UA.UTF-8 у вас там не получится запятая вместо десятичной точки? Не раз сталкивался что после ru_RU софт или на вводе точку воспринимать перестает или при выводе запятую вместо точки пихает например в csv файлы,которые после этого становятся полностью непригодными к использованию. Последний раз это было когда я попытался собрать чью-то самодельную программу сбора статистики с контроллера управления моей домашней солнечной электростанцией.

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

Критики иксов утверждают что им мешают ограничения на архитектурном уровне,а не то что чего-то там недописали и надо добавить. Потому я и сомневаюсь что возможно «развивать» иксы без их серьезного переписывания. (никто правда не знает как именно их надо переписать).

Да я и сам согласен что иксы не образец совершенства. Основная беда в том что вэйланд еще хуже,во всяком случае на данный момент. Возможно конечно что со временем его доведут до ума если уж корпораты в этом заинтересованы. Тут вполне уместна аналогия с systemd, который весьма быстро превратили из глючного поделия в вполне полезный и удобный инструмент,в котором если серьезные недостатки и остались то это только бинарный формат логов. Но вот графика - куда более сложная. И поэтому довести до ума вэйланд не могут уже полтора десятка лет.

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

И поэтому довести до ума вэйланд не могут уже полтора десятка лет.

зависит от реализации. В кедах — всё норм.

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

я захватываю картинку в хроме мышью и переношу её в гимп и картинко открывается.

А что, вот так реально кто-то делает,не ради эксперимента,а в какой-то полезной деятельности? Обычно-то картинку сохраняют в файл на диск и потом открывают этот файл гимпом или чем еще надо.

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

а я щетаю — раз умвр — так и пользойся себе наздоровье.

Это было бы так если бы иксы не пытались насильно выкидывать из дистрибутивов,а их поддержку - из тулкитов.

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

В кедах — всё норм.

Что значит «в кедах»? Что они свой «рабочий стол» нарисуют? Так ведь юзеру не «стол» нужен,а прикладной софт. Художнику - графический редактор,программисту - редактор для кода, диджею - софт для монтажа звука, ну и вот радиолюбителю - кикад. Все эти программы не имеют прямого отношения к кедам. Более того, на машине где это запускается, монстрообразных и жручих до ресурсов кед может и вообще не быть. Потому что например тот же многоканальный монтаж звука сам по себе ресурсоемкий и тратить ресурсы компа на кеды смысла нет,лучше иметь возможность еще пару эффектов в звук добавить.

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

так есть активисты иксов, которые их спасут.

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

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

Что значит «в кедах»? Что они свой «рабочий стол» нарисуют?

максимальная поддержка протоколов, вооот.

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

ну, в qtbase в зависимостях стоит gtk+3. иди спорь с разработчиками культи, а не со мной. я не любитель ни гнома, ни культи, на самом деле. я просто собираю всё из сорцов и всё это безобразие вижу. если вы его не видите и думаете о прекрасном, продолжайте так делать. ко мне претензии предъявлять не нужно.

и кстати, да. это говно тащится ещё с пятой культи, например. я про третий гном. а до этого, емнип, там был второй под капотом. но точно уже не скажу - не помню наверняка.

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

depends qt6-base-dev
qt6-base-dev
Зависит: libgl-dev
Зависит: libglx-dev
Зависит: libopengl-dev
Зависит: libqt6concurrent6
Зависит: libqt6core6t64
Зависит: libqt6dbus6
Зависит: libqt6gui6
Зависит: libqt6network6
Зависит: libqt6opengl6
Зависит: libqt6openglwidgets6
Зависит: libqt6printsupport6
Зависит: libqt6sql6
Зависит: libqt6test6
Зависит: libqt6widgets6
Зависит: libqt6xml6
Зависит: libvulkan-dev
Зависит: qmake6
Зависит: qt6-base-dev-tools
qt6-base-dev-tools:i386
Зависит: qt6-qpa-plugins
Ломает: <libqt6opengl6-dev>
Заменяет: <libqt6opengl6-dev>

Не, лучше поспорю с вами))

Sunderland93 ★★★★★
()
Последнее исправление: Sunderland93 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.