Опубликован релиз пакета wayland-protocols 1.27, содержащего набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений...Подробнее: https://www.opennet.me/opennews/art.shtml?num=57895
Такое впечатление, что это тот случай, когда сначала пишется, а потом проектируется.
по списку протоколов видно, что до иксов ещё - как на тараканах до Луны.
А тем временем сколько там лет уже проекту 14?
Лет 9, с момента, когда перестало быть идеей изначального автора и началась хоть какая-то работа.
Написанное все в xml. Как это в человеческий текст перевести, не совсем понятно.
Пора переходить на JSON, а они всё в xml капашатся
> Пора переходить на JSON, а они всё в xml капашатсяЭто у них просто размеченный текст. Почему именно размеченный xml, непонятно. Для их целей достаточно вообще голого текста -- RFC же как-то живут без разметки и это никому никаких неудобств не создает.
А есть аналог xdotool для сабжа? Это моя самая любимая программа на свете, благодаря ей можно тривиально делать такие вещи, которые иначе было бы осуществить весьма и весьма проблематично.
Грубо говоря, wayland придуман для того, чтобы сделать аналог xdotool невозможным
А что взамен?
что взамен шебуршария диском A:\ при заходе на веб-странички? действительно. Я тут сижу изучаю, как отучить иксы делать скриншоты, чтоб пресечь возможность шпионажа со стороны проприетарщины, которую я вынужден запускать. А тут оказывается люди добровольно хотят вернуть всё взад.
> возможность шпионажа со стороны проприетарщиныЕсли не доверяешь программе - не запускай её на хосте в одной сессии с чувствительными данными. Тебя что, не учили, что линух - многопользовательская система?
Разрешение на доступ к функциям скриншота выглядит лучше чем постоянное переключение между пользователями или виртуалики. Удобство, знаете такое слово?
Тебя андроид покусал, что ли?
Это которое авторы софта, работающего под вяленым, вынуждены костылить кто во что горазд? Потому что в вяленом нет стандартного способа настроить эти разрешения?
>Удобство, знаете такое слово?Знаем. А ещё знаем, что для всех оно разное.
Правильно, давайте чинить поломанную безопасность ОС переключением kvm-свича.
Когда к вяленому пытались прикрутить фичи иксов - всплыли кучи дыр. Так что kvm вместо вяленого - это нормальная идея.
> отучить иксы делать скриншотыСкорее всего, никак. Максимум можно запускать каждое приложение в отдельном X-сервере (Xpra). Но если оно требует графического ускорения (как, например, каждая программа на Qt), то толку от этого будет немного.
man virgl_test_server
> как отучить иксы делать скриншотыС помощью xauth клиентов можно поделить на trusted и untrusted. Trusted-клиентам будет можно делать всё, а у untrusted будет отобран доступ к большинству расширений X11, благодаря чему большая часть современных программ не сможет работать.
man xephyr + apparmor/firejail
Взамен ожидалось, что Аноним напишет, опенсорс же. Но основная масса экспертов пока только комментарии осилила писать, а самые продвинутые рисуют трендовые иконки в свеженькую Розу.
Это что то вроде открывания cd, двигания мышкой, прожигания CRT монитора ничего не подозревающего пользователя? Не нужно.
Ну, последнее, что я сделал с сабжем, это извлёк (через иксовый буфер выделения, ага) перечень живых наименований из клиента и закрытие тысяч окон с ошибками при запуске клиента (изначально было 0.5 секунды ожидания, но это много, если ждать 0.02с и добивать по 0.5с только последнюю сотню, то намного быстрее). С диска эти данные непонятно как извлечь, потому что не ясно, как выяснить, повреждены они, или нет, и их там тысячи и тысячи.А так, иногда привязываю полезные вещи через xbindkeys. Весьма удобно и я просто не представляю с помощью чего ещё бы можно было повесить действие на нажатие. Разве что прошитые макросы мышки и клавиатуры могут быть альтернативой, но у них нет доступа к исполнению кода. И на линуксе их нечем редактировать. Твои вероятные применения какие-то странноватые.
ydotool
а теперь поставь им мышку относительно окна...
wtype
это вообще только ввод текста непонятно куда.
ydotool
Лучший протокол!
Нет лучший это 1.28 =) А это просто неплохой =)
Там писали что есть два вида вещей - протокол важнее механизма и механизм важнее протокола. И что в вяленом мало что можно сделать, если нет для этого протокола, а протоколы плодятся. И с таким дизайном придётся вводить протокол иконок на рабочем столе.
А в иксах не нужно столько протоколов потому что они гибкие.
Может связано с безопасностью, но всё равно.
Такое большое количество протоколов говорит о том что нужен протокол протоколов для протоколов
Любой опеннет эксперт экспертов и программист программистов это подтвердит
> нужен протокол протоколов для протоколовТссс! Не подсказывай им.
Кому им? Опеннет экспертам экспертов или опеннет программистам программистов?
Не смотря на все проблемы и недоработки wayland в играх он дает офигенно плавную картинку без любых намеков на тиринг
Не только в играх. Помню в иксах у меня была проблема когда хватаешь мышкой окно и начинаешь двигать его окно отставало и отрисовывалось с задержкой по сравнению с указателем мышки, причем ничто другое не тормозило, видео, игры и прочее. Может конечно это специфичные для конкретного железа проблемы отрисовки, но с переходом на вайланд этой проблемы нет.
Если в иксах правильно настроить композитинг, то и там тоже будет всё плавно. У меня Compiz на NVIDIA, я выключил VSync в nvidia-settings, добавил в автозагрузку "nvidia-settings --load-config-only", чтобы данное изменение применялось при загрузке, до старта Compiz. А в самом компизе, открыл ccsm, выставил 60 Гц, отключил "автоматическое определение частоты обновления экрана", и включил VSync. Итог - всё плавно. Также следует внимательно относиться к выбору рамочки окна. Я выбрал рамочку, которая не отбрасывает тень ни в каком виде. И она быстро отрисовывается и ресайзится.
Вы не видите вышеописанную проблему, поскольку окна перерисовываются слишком медленно, либо сами плавно их двигаете, либо не с чем сравнивать.Вот я делал для тестирования:
Wayland -- https://github.com/STrusov/foxhunt/releases/download/v0.21/f...
X11 --https://github.com/STrusov/foxhunt/releases/download/v0.21/f...Цепляете угол окна мышкой и двигаете туда-сюда. В первом случае всё плавно, а во втором пропускает 2-3 кадра.
foxhunt действительно меняет размер чуть плавнее чем foxhunt_xcb, зато не имеет графических багов!В foxhunt_xcb что под X11 (специально для эксперимента запустился в режиме "Gnome на X11", чтобы исключить wayland), что под Wayland указатели мышки правильные. А в foxhunt они половинного размера. Просто наводишь мышку на приложение и все курсоры (обычный, изменения размера и тп) уменьшаются в два раза.
Ни в одной другой программе, нативной под вэйленд (все утилиты gnome, firefox и тп) такого бага нет. Gnome 42.4 (Fedora 36), GPU Intel, DPI scale 200%.
Имхо: уж лучше пусть лагает малек, чем рисовать курсоры так, что их почти не видно...
$ wayland-info
interface: 'wl_compositor', version: 5, name: 1
interface: 'wl_drm', version: 2, name: 2
interface: 'wl_shm', version: 1, name: 3
formats: 'XB4H'(0x48344258) 'AB4H'(0x48344241) 'XR4H'(0x48345258) 'AR4H'(0x48345241) 'XB30'(0x30334258) 'AB30'(0x30334241) 'XR30'(0x30335258) 'AR30'(0x30335241) RGB565 'XB24'(0x34324258) 'AB24'(0x34324241) XRGB8888 ARGB8888
interface: 'wl_output', version: 2, name: 4
x: 0, y: 0, scale: 2,
physical_width: 340 mm, physical_height: 190 mm,
make: 'AUO', model: '0x32eb',
subpixel_orientation: unknown, output_transform: normal,
mode:
width: 3840 px, height: 2160 px, refresh: 60.002 Hz,
flags: current preferred
scale: 2, как видно.
Спасибо. На самом деле, проблема с курсорами не в Воланде, он же протокол™ :)) а потому что я не доделал. То есть следовало зарегистрировать wl_output_listener и ловить событие scale. Пользователь ведь может перекинуть окно между мониторами с различным масштабированием. Но лень тогда победила.В Qt тоже есть проблема с размерами курсоров https://bugreports.qt.io/browse/QTBUG-67579. Кто запускал KDE в Wayland, тот помнит, что одно время там курсор был больше обычного (как сейчас, не знаю). Раньше предлагался протокол для курсоров https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m... где композитор сообщал размер. Сейчас от него отказались.
Тогда в качестве простого костыля я сделал получение размера из XCURSOR_SIZE. В Qt примерно так же решают https://codereview.qt-project.org/c/qt/qtbase/+/389408 но пока не приняли.
Не знаю, почему Gnome не задаёт XCURSOR_SIZE. Вот здесь https://github.com/telegramdesktop/tdesktop/issues/16920#iss... ilya-fedin пишет, что KDE & sway это делают. По-моему, это очень похоже на вендор-лок.
Сейчас вот так должно выбрать двойной размер для курсора:
XCURSOR_SIZE=48 ./foxhunt
> Не знаю, почему Gnome не задаёт XCURSOR_SIZE. Вот здесь https://github.com/telegramdesktop/tdesktop/issues/16920#iss...
> ilya-fedin пишет, что KDE & sway это делают. По-моему, это очень
> похоже на вендор-лок.
> Сейчас вот так должно выбрать двойной размер для курсора:
> XCURSOR_SIZE=48 ./foxhuntПочему не задает это я не знаю :) Но ни в одном другом приложении такой проблемы нет, хоть нативные Wayland, хоть через Xwayland. Разные приложения гнома, сторонние типа firefox, alacritty, mpv, scribus (qt5), telegram (qt6) и тп - все нативные под wayland и везде курсор правильный без махинаций с переменными окружения :) Ну то есть явно кроме foxhunt никому не требуется XCURSOR_SIZE.
А Вы telegram запускали с QT_QPA_PLATFORM=wayland? Иначе Qt через XWayland работает. По вышеприведённой ссылке на большой курсор при запуске клиента Телеграм в Гноме про это есть.Sad to hear :( Lets see what the future will bring us. Closing this issue for these reasons below:
1 Official ways to distribute Telegram don't encourage to use Wayland yet.
2 The cursor issue only appears when you opt-in with QT_QPA_PLATFORM=wayland which isn't the default behavior.If someone from the future reads this a workaround is to use the XCURSOR_SIZE variable e.g. XCURSOR_SIZE=24 for default GNOME cursor size.
https://github.com/telegramdesktop/tdesktop/issues/16920#iss...
Кстати, если учесть scale, а пользователь задаст свой размер курсора в настройках Гнома, опять будет несоответствие.
> А Вы telegram запускали с QT_QPA_PLATFORM=wayland?Нет, это не нужно. Но ради хохмы запустил и так, никакой разницы
> Иначе Qt через XWayland работает. По
Нет.. Может это Qt в федоре поправлен? Приложения qt5 и qt6 (которым является телеграм) работают нативно. Т.е. не появляются в списке xlsclients, на них не реагирует xeyes, xwininfo не меняет курсор и тп. Телеграм (telegram-desktop 4.1.1 с qt6 6.3.1) нативый безо всяких левых переменных
В доках написано, что чтобы под wayland запустить Qt приложения не используя wayland, надо явно ставить "export QT_QPA_PLATFORM=xcb", иначе будут нативные. https://fedoraproject.org/wiki/Changes/Qt_Wayland_By_Default... уже 3 года как закрыт и интегрирован.
> вышеприведённой ссылке на большой курсор при запуске клиента Телеграм в Гноме
> про это есть.Ни в каких нативных приложениях, которые я проверил (пачку разных qt и без) нет бага с курсором. Только foxhunt :)
> https://github.com/telegramdesktop/tdesktop/issues/16920#iss...
Этот баг про qt5 (и там упоминаются вещи, типа вот мы завязаны на qt5..). Почему вы думаете, что в qt6 не сделали нормально размер курсора без переменных? Текущий телеграм уже qt6.
Но qt5 приложения, например scribus, тоже не имеют багов с курсором у меня. И да, оно нативное
> Кстати, если учесть scale, а пользователь задаст свой размер курсора в настройках
> Гнома, опять будет несоответствие.Не очень понятно. Сейчас сделал
gsettings set org.gnome.desktop.interface cursor-size 64(дорогая ошибка - файрфокс упал от такой операции )))
И теперь во всех gnome, qt5 и qt6 wayland приложениях курсор большой, никаких визуально багов нет.
Может потому что в федоре из коробки стоит qgnomeplatform (https://github.com/FedoraQt/QGnomePlatform) ?
>> А Вы telegram запускали с QT_QPA_PLATFORM=wayland?
> Нет, это не нужно. Но ради хохмы запустил и так, никакой разницы
>> Иначе Qt через XWayland работает. По
> Нет.. Может это Qt в федоре поправлен? Приложения qt5 и qt6 (которым
> является телеграм) работают нативно. Т.е. не появляются в списке xlsclients, на
> них не реагирует xeyes, xwininfo не меняет курсор и тп. Телеграм
> (telegram-desktop 4.1.1 с qt6 6.3.1) нативый безо всяких левых переменных
> В доках написано, что чтобы под wayland запустить Qt приложения не используя
> wayland, надо явно ставить "export QT_QPA_PLATFORM=xcb", иначе будут нативные. https://fedoraproject.org/wiki/Changes/Qt_Wayland_By_Default...
> уже 3 года как закрыт и интегрирован.Да вот по ссылке написано, что Qt модифицировано:
To make Qt applications run natively on Wayland we need to modify Qt 5, specifically qt5-qtbase module, where we allow the Wayland plugin to be used also for Gnome sessions.
>> вышеприведённой ссылке на большой курсор при запуске клиента Телеграм в Гноме
>> про это есть.
> Ни в каких нативных приложениях, которые я проверил (пачку разных qt и
> без) нет бага с курсором. Только foxhunt :)Я понимаю, что у меня косяк и следует это доделывать. Объяснял, почему так получилось, когда делал.
>> https://github.com/telegramdesktop/tdesktop/issues/16920#iss...
> Этот баг про qt5 (и там упоминаются вещи, типа вот мы завязаны
> на qt5..). Почему вы думаете, что в qt6 не сделали нормально
> размер курсора без переменных? Текущий телеграм уже qt6.Потому что по ссылке https://codereview.qt-project.org/c/qt/qtbase/+/389408 прочитал Pick-to: 6.2 и merge Conflict
А если и приняли, то там как раз XCURSOR_SIZE и задаётся:
/* Set XCURSOR_SIZE and XCURSOR_THEME for Wayland sessions */
if (QGuiApplication::platformName().startsWith(QStringLiteral("wayland"))) {
const int cursorSize = gtkSetting<gint>("gtk-cursor-theme-size");
const char* cursorTheme = gtkSetting<char*>("gtk-cursor-theme-name");
qputenv("XCURSOR_SIZE", QString::number(cursorSize).toUtf8());
qputenv("XCURSOR_THEME", cursorTheme);
}> Но qt5 приложения, например scribus, тоже не имеют багов с курсором у
> меня. И да, оно нативное
>> Кстати, если учесть scale, а пользователь задаст свой размер курсора в настройках
>> Гнома, опять будет несоответствие.
> Не очень понятно. Сейчас сделал
> gsettings set org.gnome.desktop.interface cursor-size 64
> (дорогая ошибка - файрфокс упал от такой операции )))
> И теперь во всех gnome, qt5 и qt6 wayland приложениях курсор большой,
> никаких визуально багов нет.Я имел ввиду, что если в foxhunt брать масштабирование курсора из scale, а пользователь задаст своё, то такое решение не годится. Похоже, придётся как-то подружиться с этим "gtk-cursor-theme-size", да и "gtk-cursor-theme-name" читать заодно.
> Может потому что в федоре из коробки стоит qgnomeplatform (https://github.com/FedoraQt/QGnomePlatform)
> ?Ну это как бы логично -- с точки зрения Федоры другие дистрибутивы не очень нужны. :) У себя вопрос с Qt они решили. Другие дистрибутивы, насколько понимаю, так же могли бы сделать свой плагин для Qt. Во всяком случае, через него настраивается, вызывать ли контекстное меню по нажатию ПКМ или по отпусканию (в KDE с их 100500 настройками такого нет.).
"протоколы, разрабатываемые в ветке "unstable": "
Вещи которые должны быть в Wayland изначально находятся в нестабильных расширениях.
Грустно
С 2008-го... Это ж уже 14 лет пилят... И всё ещё базовые вещи у них - unstable.
В 08 там игрушка была. Пилят примерно с 14
И это только протокол...
fullscreen-shell - unstable
input-method - unstable
idle-inhibit - unstable
primary-selection - unstable
text-input - unstableа что они все эти долгие годы делали?!
Постили на опеннете рекламу.
А полный захват экрана через какой интерфейс работает? Есть какой-то аналог XRDP сервера?
да никак не работает... даже в списках "унстейбл" нету.
Захват экрана работает через xdg-desktop-portal, который не является частью протокола, но реализован большинством композиторов, т.к. нужен для flatpak. Только толку от него мало, т.к. протокол для имитации ввода с физической клавиатуры еще никто даже не начинал разрабатывать.
> Захват экрана ... нужен для flatpakэто для чего?!
Есть, через Pipewire
https://github.com/GNOME/gnome-remote-desktop/blob/master/sr...
В Weston есть rdp
Можно ли сделать технику формирования API в Wayland вынести в отдельную библиотеку? Что бы бы аналог COM и DCOM в Linux уже реализовать?
Это что-ли - https://github.com/solarkraft/awesome-wlroots
Что Вы понимаете под COM? Если таблицу виртуальных функций и IUnknown с поиском GUID-ов в реестре, то зачем оно надо? Если некую гарантию, что поддержка старых версий API сохраняется при появлений новых, так это есть.
Кто знает как включить вейланд в убунте? Придурки не написали никакой инструкции
Если пользуешься графическим входом в систему то для начала надо менеджер входа в систему иметь помимо установленного вейланда (SDDM от плазмы или GDM от гнома (единственный графические менеджер входа полноценно грузящий гном, который бывает единственным рабочим решением в некоторых ситуациях, но обычно он крайне неудобен и такие ситуации весьма специфичны)). Наверняка ты найдешь как поставить wayland wlroots xorg-server-xwayland sway waybar. Названия из Void Linux, так что может быть там пакет просто xwayland.
Ну если тебе для тривиальных вещей нужна иструкция, тебе не в эту ОС. Винда например для тебя, или мак.
>Ну если тебе для тривиальных вещей нужна иструкцияЗапуск Вяленого НЕ тривиальная вещь.
Там подводных камней овердофига.
На яблоке практически всё нетривиально, что нормально под линухом или виндой, даже относительно нормально
Например, на яблоке видеокарту пробросить в гостевую ОСь... никак. Просто берёшь и не пробрасываешь ибо нхй и сидишь на прогрмамной отрисовке
поставить gnome-shell и изменить строчку в файле, после чего появляется опция на экране входа. ставил посмотреть - на моем компе работает. апосля удалил тяжелый интерфейс при отсутствии какихлибо плюсов. вернулся на текущую lxqt.
инструкция гулится на раз-два-три.
Надеюсь primary-selection выкинут из вейланда.
протоколы вейландских мудрецов, тьху
Я думаю пора заморозить развитие этого протокола, а то разжирнеет как X.org.Пусть остальной функционал пишут разработчики DE и WM.
Один сустемд, одна федора, один гноме
У него даже server side decorations это нестабильное расширение. Что замораживать если Wayland не умеет ничего?
Wayland должен отрисывывать границы окон. Больше от него ничего не требуется. Пусть остальный функционал пишут программисты библиотек и тулкитов.
> Wayland должен отрисывывать границы окон. Больше от него ничего не требуется. Пусть
> остальный функционал пишут программисты библиотек и тулкитов.Этот сра^W обмен мнениями CSD vs. SSD длится дольше, чем существует wayland. Есть мнение, что к единому мнению не придут никогда, потому что в каждом варианте есть и плюсы и минусы.
Мистер вяленд, так когда вы начнёте поддерживать мультипоинтер и паннинг?
Надеюсь никогда его надо замораживать.