LINUX.ORG.RU
ФорумTalks

Код KDE был разделён на иксовый и Wayland'овый; иксовая часть будет сопровождаться только до 7-й версии

 , , ,


1

3

Собственно, сабж: https://www.phoronix.com/news/KWin-Wayland-X11-Split

Yesterday marked the milestone of KWin's kwin_x11 and kwin_wayland code being split up. The Wayland and X11 code for the KWin compositor is now separate from each other but can be co-installable for systems wanting to support both X11 and Wayland environments.
...
KWin_Wayland is being treated as the de-facto «kwin». KWin developers are planning to continue supporting the KWin X11 code until the Plasma 7 major release. However, no new features are expected to be back-ported to the KWin X11 code and in effect the X11 code under KDE was already treated as an informal feature freeze.

★★★★★
Ответ на: комментарий от mittorn

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

Протокол должен отвечать современному положению дел на рынке, а не тянуть поддержку музейных экспонатов из мавзолея. Иксы вот тянули-тянули всякий хлам и теперь их никто не хочет разрабатывать и выкидывают не только из enterprise (Red Hat, SUSE), но даже из KDE.

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

Мы теперь ориентируемся на hardware fault GPU что ли? Ну на тебе отвальную «историю успеха», где иксы обкакунькались, а Wayland благодаря аппаратному 3D-ускорению работал нормально:

Wayland + ATI Radeon HD 5770

Что-то никто не додумался в теме написать: «когда почините свои корявые иксы чтобы на отвальных видюхах работали как Wayland в этом случае, тогда и приходите?». Не стоит свой личный негативный или положительный опыт растягивать на всю Вселенную.

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

Да, помню эту ситуацию.
Но это тот редкий случай, когда 3д ускорение работает, но что-то с 2д ускорением или выводом.
Я же чаще встречался с ситуациями, когда либо ускорение вообще не работает, либо его включение приведёт к случайному зависанию через час-день-неделю и тогда меня очень сильно напрягал софт, требующий принудительно opengl. Так же я часто встречался с ситуациями, когда opengl по той или иной причине не работает чисто по софтовым причинам вроде сломанного llvm.
opengl - хорошо, но не надо пихать его повсюду. Реализация opengl, как правило прилинкованная к llvm - тяжёлая ноша и тянуть его ради ui - явно не лучшая идея. Я сравнивал время запуска своего приложения на imgui с opengl и софтовым рендером и разница видна невооружённым глазом. Пока софтовый вариант уже рисует, opengl загружает библтотеки, парсит xml конфиги, читает энтропию и дёргает виртуадьные файлы из sysfs один за другим, прежде чем создать контекст. Ладно ещё vulkan, который не имеет компиляторов шейдеров, но после появления там сложных фич вроде rtx и видеокодирования реализации потяжелели - время запуска приложения с новым radv падало в 4 раза и влияло на статы, когда я пытался сравнить произврдительность одного и того же кода со старым и новым драйвером.
Да грузить тяжёлую реализацию рендерера в процесс просто и удобно, но пока ты её грузишь, иксы будут рисовать, даже по сети.

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

Поломанное железо (а если в GPU не работает 3D ускорение, то этот GPU, определённо, поломан, времена когда его не было в GPU давно позади) никто за эталон брать не будет. И ради 3,5 красноглазиков с таким железом остальные люди, у которых с OpenGL и Vulkan'ом всё OK, отказываться от них не будут.

Добро пожаловать в новый мир.

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

Можете хоть клон ZX Spectrum'а с дисководами и 512 Кб RAM юзать, почему бы нет если всё устраивает. Но новый софт разрабатывается и пишется уже не для таких машин.

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

нетбуки на 2-ядреных Atom’ах

Строго говоря, там нормальное для композиторов 3D и отсутствие открытых дров. Поэтому вообще не показатель, win 10 на них пожтому летает.

требует современный OpenGL и Vulkan

Хорошо что геймпад не требует.

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

И когда что-то не работает - начинается ад и пердоленг

Как правило, всё таки работает.

Говно с кривым ломающимся api, а не библиотека.

Wayland пока ещё развивается, что поделать, поэтому это пока нормально что у его библиотек меняются API.

В hyprland уже давно нет wlroots

https://github.com/hyprwm/wlroots-hyprland

Hyprland no longer uses wlroots, and as such this repository is a public archive.

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

И, кстати, это один из самых адекватных композиторов

Да, потому я и юзаю Hyprland.

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

Хорошо что геймпад не требует.

Не очень уместный сарказм, поскольку интерфейсы пользователя значительно изменились за 30 лет. В т.ч. и потому, что железо позволяет. Если бы мы сейчас продолжали бы гонять пиксели по 800x600 мониторам, то тогда, да, 3D ускорение могло бы восприниматься как излишество. Но у нас уже на дворе 3840×2160, а у некоторых и 3*3840×2160.

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

Не очень уместный сарказм, поскольку интерфейсы пользователя значительно изменились за 30 лет.

Изменились, ага. Это правильное слово. Но не улучшились.

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

А чё не Wayland на 80486?

Как насчёт рисовать морду приложения на микроконтроллерах?

У нас тут любой десктоп, смартфон и любая микроволновка и даже холодильник имеют внутри себя GPU.

Может еще есть и парочка универсальных архитектур GPU, типа как щас всё работает на AMD64 и ARM64? Да, нет, фигня какая-то.

Сегодня в Linux’е уже куча софта которая безальтернативно требует современный OpenGL и Vulkan,

А при чем тут прикладной софт, если речь идёт о системной архитектуре? Давайте спроектируем архитектуру ОС в привязке к конкретному железу и получим… ну типа Windows 3.11.

Думать головой в наше время не модно, нужно быстрее херак и в продакшен. Но вышла проблема, на «херак» не было денег совсем. В итоге «прорывной протокол» внедряют 20 лет.

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

слой совместимости

Забудь навсегда.

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

Как насчёт рисовать морду приложения на микроконтроллерах?

На микроконтроллерах современный GUI и иксы?

Wayland приходит именно на замену иксов. Он никогда не позиционировался для работы там, где современные иксы никогда не запустятся.

На слабом железе лучше использовать тот же фреймбуфер. Или вообще текстовую консоль.

saahriktu ★★★★★
() автор топика

Я думаю, они его никогда не доделают. По крайней, пока не передадут разработку самих протоколов кому-то, у кого есть продукт на их основе (Valve, KDE, whoever).

Потому что сейчас теоретики отдельно, практики отдельно.

По итогу набор протоколов оторван от реальности.

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

На микроконтроллерах современный GUI и иксы?

Фишка в том, что иксам похрен на железо. И любой классический X11 тулкит, хоть там TK, FLTK, FOX, GTK2 и т.п. на любой реализации иксов спокойно отрисуется.

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

win10 там едва шевелится и это несмотря на наличие быстрого софтового композитора в нём. У вяленного нет и этого...

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

Как правило, всё таки работает.

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

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

На windows есть 2д ускорение и софтовый композитинг. Можно ориентироваться хотя бы на это. И да, на железке на которой иксам и windows норм с вяленным может стать очень плохо

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

В конфиге Hyprland'а за это отвечает опция «sensitivity» в секции input {}. По дефолту мышь не ускоряется, но можно ускорить по желанию.

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

Нет. Если поставить годную версию powervr дров, то на 2 Гб рамы w10, офис, эклипс показывают чудеса. Естественно, веб висит.

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

OpenGL ES был специально сделан, чтобы не грузить cpu. Только не говори, что гоняешь иксы на xf86-video-intel. У меня тоже есть девайс с i915g. И я тоже думал, что иксы будут лучше, но потом замерил производительность демкой игры и очень удивился.

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

Я не про тот, что с powervr, а где gma3150, который аналог 945го. Он по идее ещё примитивнее чем powevr. Другое дело что веб и там и там висеть будет, ведь со включенным композитингом упор будет всё равно в проц

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

И какой там opengl es гонять? 1.0?
Для старых gpu gles скорее навредит, чем поможет. Потому что gles2 максимально убогий, а gles3 они не умеют

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

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

export LIBGL_ALWAYS_SOFTWARE=1
export QT_OPENGL=software

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

Можно подумать, что в иксах совсем нет всего этого 3D ускорения. Всё это есть и там, включая библиотеку Mesa и т.п. От входа в сессию X11 софт от неё не отлинковывается.

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

Мне приходилось qt5 «отлинковывать» добавив glx в чёрный список плагинов (а чёрный список был добавлен патчем). Если не загружать пару плагинов - скорость запуска приложений сильно возрастает, а tqt и gtk2 и так не прилинкован. Если нужна поддержка opengl в софте - для него делался другой список. Сами иксы используют opengl т.к на данный момент альтернативы glamor для amdgpu нет. Но есть большая разница, когда gl грузится просто в иксы и когда он грузится в каждый клиент. Кстати, в qt чёрный список плагинов очень даже полезен, т.к эта штука грузит всегда все доступные плагины, а не только нужные, значительно повышая потребление памяти. А удалять плагины тоже не хотелось бы - вдруг понадобятся...

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

Не буду ничего писать, раз ты себя так убедил. Я взял и сравнил на реальных задачах. Композиторы обычно 2.0 требуют, если что.

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

Медвежьи советы пошли, я же писал выше, для софтверного композитинга есть pixman.

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

Готово для всех это когда готово для всех, включая меня.

А мне в винде очень многого не хватает, она для меня не готова. Значит для всех не готова, так что ли?

Я разве что viewporter видел, в остальном там глухо.

Что именно глухого в 2D ускорении, которое просто работает?

Конечно, какое же обсужление wayland без упоминания этого поделия?

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

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

И так Qt-шный юзаю. НЯЗ тулкиты используются для отрисовки кнопок, меню и тд, сами документы рендерятся без них. В общем, под вяленым если таскать ползунок прокрутки, не колесом крутить, а прям таскать вверх-вниз, то дико тормозит.

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

На микроконтроллерах современный GUI и иксы?

Представь себе, да. Вплоть до опенбокса в киоск-режиме.

На слабом железе лучше использовать тот же фреймбуфер. Или вообще текстовую консоль.

Щас тебе юзеры станков, СКАДЫ, СКУДов, вендинг-машин, автомобильных мультимедиа-систем и пожарки в сосноли будут красноглазить. У них гуй и раньше был много где, только часто на асме, который никто из воспитанников списка тиобе не понимает. И да, роскоши тратить 10 лет на строительство уникального ни с чем несовместимого и не сопровождабельного низкоуровневого гуя для микрожелезяки тоже нет.

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

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

На микрожелезяки никто и не будет ставить полноценный современный десктопный GNU/Linux. Это уже норма, что сразу после логина в минимальный WM сразу откушано почти 1 Гб RAM кучей процессов, включая systemd, dbus, pipewire, avahi, polkitd, udisksd, upowerd,... и т.д. И вот именно в этом контексте и происходит замена иксов на Wayland.

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

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

Да ладно, linux с musl и microgui нормально работают. Более того, ещё можно выкинуть свистоперделки из x11 и будет те же мегабайты занимать.

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

Это и есть дистрибутивы для специфических юзкейсов.

А мы пилим линуксы общего назначения с glibc и свистелками.

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

Значит для всех не готова, так что ли?

Винда готова, но не для всех. Для меня - тоже нет (ИМХО, разработка винды ещё больше 20 лет назад свернула куда-то не туда)

Что именно глухого в 2D ускорении, которое просто работает?

Под «глухо» имеется в виду, что протокол для возможности реализации 2д ускорения делает примерно ничего.
Да, чисто теоретически можно сделать лёгкую библиотеку, которая реализует аппаратное 2д ускорение с клиентской стороны. Только вот её никто использовать не будет. Да, чисто теоретически можно сделать композитор, использующий аппаратное 2д ускорение (где-то уже был weston-g2d для определённой эмбедщины). Только вот в популярные композиторы этот код вряд ли попадёт, тем временем в иксах уже есть архитектура, которая один раз позврляет в иксовом драйвере реализовать ускорение и его тут же получают и сами иксы и клиенты, причём даже кликнты с других хостов.
То есть берём сервер без gpu, запускаем там иксовые клиенты, они рисуют (если они конечно иксуют через xlib/xrender), передают битмапы в иксы и эти битмапы рисуются аппаратно ускоренно. Тем временем, в случае с waypipe - на сервере всё это отрисуется через llvmpipe/softpipe/pixman, впустую сжирая cpu, а потом каждый кадр будет кодироваться (программно конечно же) и отправляться в композитор... очень полезно и работоспособно, только нифига не эффективно.
Всё это полумеры, от силы реализующие на самом минимуме то, что делают иксы, притом что иксы - тоже полумер, делающий минимум того, что нужно.
Я бы по другому относился к wayland/waypipe, если бы я запустил opengl софт, он бы подкинул библиотеку, пробрасывающую opengl по сети при отсутствии локального ускорения на хосте, либо программный рендеринг на выбор. Я бы по другому относился к wayland, если вместе с wayland-client и композитором была бы условная библиотека librender с плагинами librender-intel, librender-nvidia, librender-radeon, librender-opengl, librender-vulkan, librender-g2d, librender-imx6, librender-waypipe реализующие рендеринг 2д как для комозитора, так и для клиентов оптимальным для системы способом (включая кидание команд по сети).
Причём такая схема прекрасно дополняет существующую архитектуру wayland. Но ничего из этого нет и чтобы сделать - придётся этот librender навязать и разработчикам гнома и kde сразу. А сейчас конечно же есть гномоспецефичный libcairo, libskia и какой-то зоопарк, который в лучшем случае отрисует что-то через opengl/vulkan

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

Тем временем, в случае с waypipe - на сервере всё это отрисуется через llvmpipe/softpipe/pixman, впустую сжирая cpu

Нет, если ты явно не отрубишь GPU ускорение.

а потом каждый кадр будет кодироваться (программно конечно же)

Тоже нет, по дефолту юзается VA-API. Если явно не отключить.

только нифига не эффективно.

Проверено в боевых условиях - работает шикарно, абсолютно не хуже ssh -x.

Я бы по другому относился к wayland/waypipe, если бы я запустил opengl софт, он бы подкинул библиотеку, пробрасывающую opengl по сети при отсутствии локального ускорения на хосте, либо программный рендеринг на выбор. Я бы по другому относился к wayland, если вместе с wayland-client и композитором была бы условная библиотека librender с плагинами librender-intel, librender-nvidia, librender-radeon, librender-opengl, librender-vulkan, librender-g2d, librender-imx6, librender-waypipe реализующие рендеринг 2д как для комозитора, так и для клиентов оптимальным для системы способом (включая кидание команд по сети).

А сейчас конечно же есть гномоспецефичный libcairo, libskia

Ты сам же на свой вопрос и ответил - сейчас cairo вытесняется skia, и она уже де-факто стандарт для аппаратного 2D ускорения отрисовки клиентов. А композиторы юзают DMABuf для подобного, ибо быстрее.

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

Можно вообще zstd сжимать, а не видеокодеком, если канал широкий.

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

Ну на тебе отвальную «историю успеха», где иксы обкакунькались, а Wayland благодаря аппаратному 3D-ускорению работал нормально:

Нормальные драйверы под эту видеокарту поддерживают лишь Xorg. У ATI на свободных драйверах у меня всегда было 0.5x фпс.

Протокол должен отвечать современному положению дел на рынке

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

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

и разработчики не видят возможности это исправить

Передай им чтобы уходили с криворотого WxWidgets, который толком в Wayland не умеет, на что-то более нормальное, типа Qt6.

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

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

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

В Qt6 у меня тоже не работает QCursor::setPos, им он нужен для перемещения курсор на определенный элемент в холсте.

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

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

Много я читал восторженных отзывов о том что его похоронили, почему и кто радуется я понять не мог, наверное пользователи NVidia или AMD, типа устранили конкурента.

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

Можно купить нвидию и получить похожий экспириенс, под конец жизни что-нибудь да заработает нормально на блобе.

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

Моя первая NVIDIA видеокарта это RTX 3060, и она работала замечательно под Linux, после AMD убожества наконец то спокойно вздохнул, под AMD постоянно вылетали игры, что то тормозило, какие то эффекты в играх вообще не отображались, а на NVIDIA совсем другая жизнь.

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

В Wayland это делается либо через pointer-constraints расширение (поддерживаемое Qt) либо через libinput

Не делается, это протокол для игр, им не нужен захват указателя.

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