LINUX.ORG.RU

Wayland 1.25

 ,


0

3

Доступен стабильный выпуск Wayland 1.25. Основные изменения касаются документации, удобства разработки и небольших расширений протокола.

Изменения:

  • документация в текстовом формате преобразована из DocBook в mdBook;
  • полностью документированы:
    • XML-диалект Wayland (как писать протоколы);
    • модель обновления содержимого (как клиенты отправляют буферы);
    • управление цветом (color management).
  • новый атрибут «frozen» для интерфейсов, у которых несколько родительских интерфейсов;
  • новый запрос wl_surface.get_release для коллбэков освобождения буфера при каждом подтверждении транзакции;
  • новая функция wl_display_dispatch_pending_single() для отправки одного события;
  • вывод WAYLAND_DEBUG теперь раскрашен, при включении отладки через переменную окружения WAYLAND_DEBUG;
  • исправлены ошибки.

>>> Описание протокола

>>> Скачать

>>> Подробности на freedesktop.org

★★★★★

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

До кучи можно сказать, что относительно недавно в вяленд был смержен протокол xx-zones-v1, который дает возможность позиционирования окон самим приложением.

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

liksys ★★★★
()

Вот приятно посмотреть на продукт, в котором все уже запилили важное и остается только дорабатывать «документацию, удобство разработки и небольшие расширения протокола».

LightDiver ★★★★★
()

А как же регулярные россказни о том что «вайланд это только протокол а не софт»? А там в репе какие-то исходники на Си.

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

а не софт

Вот этой части никто не заявлял.

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

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

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

mndtr0
()

и никто не донатит за перепись X11 в Wayland ;/
та же самая мультипротокольная/мультисервисная мета, правда только в рамках localhost - тут X11 определённо ещё впереди. Ещё можно прокинуть OracleDB, solarisTools over ipv4 на localhost.
*я не субъект этого изврашения.

etwrq ★★★★★
()

Что в этот раз сломали?

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

У меня при упоминании Waybar начинает играть electric six в голове XD

mittorn ★★★★★
()

Что-то зачастили: ГНОМЕ, системд, теперь Вяленд. Анонимные эксперты не успевают выдавать аналитику.

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

из-за желания позиционировать глобально окна в каком-нибудь странном древнем приложении.

KiCAD весь про это, и он не древний

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

Ерунду придумали какую-то. Протокол должен быть отдельно, а либы отдельно. Никто с протоколом HTTP не тянет либы для его парсинга.

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

Разве суть была не в том, чтобы убрать лишних посредников

Всё так, именно поэтому в текущей версии этого разделения и нет. Придумать как можно сделать чтобы протокол был удобен, и при этом избежать архитектурного говна Х11 - нетривиальная задача. У чувака по ссылке выше вроде бы получилось.

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

Межделмаш купил шапку - астрологи объявили неделю xml

cobold ★★★★★
()

вывод WAYLAND_DEBUG теперь раскрашен

ну это, конечно, гораздо важнее, чем ломающийся копипаст, невозможность запомнить позицию окна и умирание всего десктопа при полном заполнении видеопамяти

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

А как это все чинить без удобного дебага?

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

KiCAD весь про это, и он не древний

скорее wxWidgets, вроде как (но разрабы кикада сами поехавшие конечно, и все у них вокруг виноваты кроме их самих)

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

Я чуть-чуть погуглил вопрос, и в целом если будет опциональный выбор между монолитом (как Gnome/KDE) и модульностью с дополнительным протоколом (чтобы проще было, как раньше, клепать тонны всяких поделий, не тащя на спине груз полноценной DE с композитором и всём в одном флконе, при этом сохранив поддержку программ-клиентов), то звучит неплохо…

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

в котором все уже запилили важное и остается только дорабатывать «документацию, удобство разработки и небольшие расширения протокола».

В любом проекте, независимо от статуса и бэклога, надо дорабатывать документацию и удобство разработки.

Вечное «потом ADRку напишем» превращается в тайный орден владеющих Знанием, которых потом с пьянки на Тае приходится срочно выдергивать для консультаций.

Будет хорошая документация актуальная - будет больше разрабов.

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

в вяленд был смержен протокол ... дает возможность позиционирования окон

И как же хрупкие основатели проекта от такого безобразия не порвались на тряпки?

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

До кучи можно сказать, что относительно недавно в вяленд был смержен протокол xx-zones-v1, который дает возможность позиционирования окон самим приложением.

А что в вяленном приложение не могло позиционировать окна? О_о

windows10 ★★★★★
()

Чотам, когда введут блокировку графония при неподтвержденном через systemd возрасте?

windows10 ★★★★★
()

XML-диалект Wayland (как писать протоколы)

А чем они до сих пор занимались?

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

Там хитро - зоны находятся во владении композитора. Т.е. приложение имеет право ставить окна ВНУТРИ зоны, но зонами владеет композитор и может ими управлять по своему желанию.

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

«Как верёвочка не вейся, всё равно совьёшься в кнут». 90% того, что на заре вейланда объявлялось «ненужным», рано или поздно будет реализовано, правда, есть подозрение, что жрать будет в разы больше, чем в иксах, но кого это волнует? А винда с макосью всё это время будут безбедно существовать.

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

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

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

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

HTTP просто по нынешним меркам относительно тривиален.

А вот к Matrix, например, прилагается эталонная реализация сервера и клиента (и то, и другое, правда, на весьма спорном инструментарии сделано, но тем не менее).

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

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

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

Не думаю, что это верно в отношении Matrix.

https://spec.matrix.org/latest/ тут протокол. Последняя версия 1.17. Ни про какие эталонные реализации тут не написано.

Условно эталонными реализациями, я так понимаю, можно считать клиент Element, у которого сейчас версия 1.12.12 и сервер Synapse версии 1.149.1.

Как видно, все три проекта существуют независимо друг от друга, в разных репозиториях. Конкретно спецификация существует тут (github.com) и из программного кода там только какие-то скрипты по генерации удобочитаемого HTML, как я понимаю.

Я ничего против каких-то wayland биндингов не имею, но это должен быть отдельный проект с отдельным версионированием от самого протокола.

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

«Не по понятиям окна ставишь, фраерок» © Композитор

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

Протокол должен быть отдельно, а либы отдельно.

Кому должен? Считай, что это эталонная реализация от разработчиков протокола.

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

Отвечаю сразу всем интересующимся про глобальное позиционирование окон, чтобы закрыть этот вопрос раз и навсегда: @thunar, @windows10, @hobbit.

И как же хрупкие основатели проекта от такого безобразия не порвались на тряпки?

Когда говорят про отсутствующее глобальное позиционирование в вяленде, то имеют в виду, что само приложение не может указать композитору, куда он должен поместить окно. Композитор размещает их сам на свое усмотрение. В то время как в иксах приложение может сказать «хочу вот это окно на координатах X и Y».

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

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

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

Другая причина - совместимость с будущими (и уже существующими) альтернативными интерфейсами: круглыми экранами, 3D и VR - последний довольно плохо ложится на иксы.

На самом деле, в линуксе крайне мало приложений, которым нужно глобальное позиционирование. Самый известный пример - гимп - переписали так, что там стало просто одно окно. Другой пример - кикад, разрабы которого потонули в X11-костылях вокруг маргинального wx. А вот масштабирование - жизненно необходимо, потому что 2K и 4K-экраны стали нормой, и на них без масштабирования работать невозможно, если у тебя не идеальное зрение.

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

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

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

У Яббла 2K и 4K экраны уже давно, но ни проблем ни костылинга с масштабированием, ни мыла там нет. Как? Да никак, просто их программное разрешение укладывается на физическое разрешение, да и всего делов. Матрица на 2560×1600, разрешение в 1280х800, и выглядит шикарно.

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

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

просто их программное разрешение укладывается на физическое разрешение, да и всего делов. Матрица на 2560×1600, разрешение в 1280х800, и выглядит шикарно

Это буквально масштабирование, лол.

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

Это буквально масштабирование, лол.

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

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

Скриншоты в студию.

Скриншоты чего? Ты же сам написал, что «масштабирование ломает».

Вот ты и давай скриншоты, чего у тебя там масштабирование ломает. У меня все ок, скриншотить нечего.

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

Кому должен?

Здравому смыслу.

Считай, что это эталонная реализация от разработчиков протокола.

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

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

Ви так пишете, как Валентина Терешкова в «Литературной газете». WX офигенен, древен и удобен.

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

Да нет там никаких проблем, просто никто не сделал нормальное масштабирование. Передаёшь приложению множитель и всё, пускай рисует как пользователь попросил.

vbr ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.