LINUX.ORG.RU
ФорумTalks

Спустя 15 лет индеец Зоркий Глаз заметил, что...

 , ,


3

6

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

Привет, ЛОР!

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

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

Протокол раз: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/247

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

Протокол два: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/249

Позволяет программам указывать «предпочтения» по местоположению: например, по центру, наверху, внизу и т.д. А всё потому что многим не понравился предыдущий протокол, ведь «что они себе позволяют атататат». Особенно сильно против выступают разработчики Weston, мнение которых должно кого-то волновать^W^W^W^W^W^Wкоторый внезапно используется в каком-то эмбеддеде в автомобилях.

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

Так глядишь, ещё через 15 лет Wayland всё-таки сможет заменить это гнилые иксы. Так держать, товарищи!

★★★★★

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

Это просто никс говно. В нормальных дистрибутивах ptrace не может цепляться к чужим процессам вне своей группы.

Причём тут ptrace? Я про запуск strace из шелла. У него suid или capability стоит, яхз. Можно без проблем цепляться к любому процессу юзера.

Ну и про ядро, учитывая что там CVE стабильно каждую пятницу, ты сам понял.

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

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

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

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

не сломает. у меня есть специальный LD_PRELOAD, который отрубает XGrab* для того, что не умеет это делать по опции и нчиего не ломается. единственное - попапы не закрываются при щелчку по другим клиентом у некоторых клиентов. Причём у qt5 такой побочки нет - отн обрабатывает потерю фокуса и тоже скрывает всё.

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

Ух, пропустил ты эпоху, когда на дельфийскую Form1 все надрачивали....

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

Причём тут ptrace? Я про запуск strace из шелла.

Угадай через что strace работает.

Можно без проблем цепляться к любому процессу юзера.

В никсе. Потому что он говно.

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

Угадай через что strace работает.

Я в курсе.

В никсе. Потому что он говно.

Весь лялекс говно. Добро пожаловать.

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

Весь лялекс говно. Добро пожаловать.

Это славные традиции, нельзя их нарушать.

Мне нравится эпизод из начала 00-х, когда в libtool запили кривой код для IRIX-а, и когда человека спросили, зачем он это сделал, он ответил, что просто накидал код по описанию из email-а, а сам этот IRIX в глаза никогда не видел и не тестировал там ничего.

А потом этот баг не стали убирать, чтобы не ломать «обратную совместимость».

Аналогично в libtool из-за сраной опечатки (а может и специально, уже не докопаться) всю жизнь поломана совместимость с BSD, и бздуны всю жизнь подкладывают под неё костыли и патчи, чтобы собирать гнутый софт.

Багу не фиксят тоже для «обратной совместимости». (С чем, млять???)

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

Учитесь, как надо троллить))

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

При желании можно и selinux обмазать. Только вот ничего не поможет, когда у тебя любой процесс имеющий доступ к /dev/dri/renderD128 может устроить дедлок в ядре. В любом случае локальный пользователь на синглюзер системе это уже геймовер. Другое дело если речь идёт о серверном контейнере, но мы тут, кажется, ЛЯЛЕНД обсуждаем

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

libtool – это сраный позор всей индустрии. Libtool был сделан, чтобы можно было собирать библиотеки на 100500 разных юниксов из 80х. Прикол в том, что нынешние юниксы (все три) примерно одинаковые с точки зрения либтула, а на юниксах из 80х тупо не хватит ресурсов чтобы его запустить (16 мегабайт исходников лмао).

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

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

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

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

Возникает вопрос, а работала ли эта срань когда-нибудь вообще.

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

единственное более-менее реальное применение - докидывание зависимостей к статиклибам

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

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

Пытались сделать именно это. Я нигде не писал, что у них получилось.

Возникает вопрос, а работала ли эта срань когда-нибудь вообще.

¯\_(ツ)_/¯

На этом держится GNU))

Ящитаю, GNU должно сдохнуть уже. Ничего хорошего в этом всём нет.

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

непонятно, что вообще пытались сделать

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

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

Всё можно понять кроме ситуации с протокоами. Ладно, на гном всем насрать, но реакция остальных разработчиков в целом удурчает.
Я реально больше перспектив вижу вдобавлении float'ов в иксы, запиливании aiglx2 (вообще у opengl сервер-клиентская архитектура, просто не реализовано), и динамического DPI на уровне WM, чем дополнении wayland протоколов до вменяемого состояния и реализации композитинга под это дело.
wayland и правда прослрал все полимеры. Всё, что было преимуществом относительно вынь ды, когда я поставил первый раз linux в wayland считается ненужным.
Сетевая прозрачность? Да кому она нужна, всё равно нормально не работает! На деле же вполне работает и очень неплохо если приложение действительно иксами рисуется. В моём случае это весь TDE, wine, qt5 приложения. с браузером ситуация чуть хуже, он не такой плавный конечно когда запущен через интернет, но при отключенном 2д ускорении тоже вполне пригоден к использованию.
Оконный менеждер. Чуть ли не основная проблема винды это её грёбанные csd. Костыли, пытающиеся разблокировать окно зависшего процесса, срабатывающие с большой задержкой и тормозами (особенно если памяти мало). Да мало того, приложения не зависшие, а просто с модальным окном намертво блокируют кусок экрана. А тут - оконный менеждер работает отдельно, его можно заменить на другой по удобству, можно двигать заблокированные окна. Но нет же, НЕ НУЖНО. На, получай CSD в хлебало...
Пока у wayland только одно преимущество - это разная плотность экрана на разных мониторах. Пощупать её у меня толком не удалось, т.к на той конфигурации, где она была нужна, один из мониторов пордключен в другую видюху и такая конфигурация работает только в иксах, под wayland лишь рисуя мусор на этом мониторе

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

Только вот ничего не поможет, когда у тебя любой процесс имеющий доступ к /dev/dri/renderD128 может устроить дедлок в ядре.

DoS локалхоста? Да и насрать.

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

это называется сетевые шакалы, к сетевой прозрачности они не имеют никакого отношения

Это позволяет запустить приложение на удаленной машине, а окно рисовать на локальной. Покрывает 100% функциональности сетевой прозрачности.

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

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

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

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

DoS? Вирусов? Что ты несешь.

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

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

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

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

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

Сетевая прозрачность же позволяет нормально этому окну интегрироваться как нативное и рисоваться на сервере, а не клиенте.

Она это позволяла делать в 80-х. Сейчас клиенты рендерят напрямую в видеокарту (D в DRI значит Direct, если что), что в случае с прозрачными иксами вырождает в передачу всего говна по сети. Точь-в-точь как waypipe.

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

Ого, снежинка, не видевшая реального мира.

Снежинка не понимающая как дедлок связан с вирусами.

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

Она это позволяла делать в 80-х.

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

Сейчас клиенты рендерят напрямую в видеокарту

Видать на гытыка какие-то ненастоящие клиенты.

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

Смари:

$ gnome-font-viewer&!
$ doas ls -l /proc/$!/fd | grep dri
lrwx------ 1 cumvillain cumvillain 64 Oct 24 20:56 11 -> /dev/dri/renderD128
lrwx------ 1 cumvillain cumvillain 64 Oct 24 20:56 12 -> /dev/dri/renderD128
lrwx------ 1 cumvillain cumvillain 64 Oct 24 20:56 13 -> /dev/dri/renderD128
lrwx------ 1 cumvillain cumvillain 64 Oct 24 20:56 14 -> /dev/dri/renderD128

Видишь DRI ноды? Туда рисует GTK.

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

Это четвёртый GTK. А в третьем и втором активно используется XRender, что делает работу через сетевую прозрачность иксов терпимой. С GTK 4 теперь уже только битмапы.

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

Это четвёртый GTK. А в третьем и втором активно используется XRender, что делает работу через сетевую прозрачность иксов терпимой. С GTK 4 теперь уже только битмапы.

Второй и третий да, но на втором софта уже нет, третий сдохнет в течении года.

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

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

Мне эти DoS лялекс сам по себе устраивает без вирусов. В основном потому что драйверы от AMD для последнего поколения карт сырые.

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

Изучай.

Я верю что abiword может ренедрить через XRender. Только вот все что использует GPU будет рендерить в ноды напрямую, включая просмотрщик PDF, либреофис и wireshark.

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

но на втором софта уже нет

Куда делся, не подскажешь? А то у меня 80 пакетов от gtk2 зависит на локалхосте, а и не знал, что их нет.

третий сдохнет в течении года.

Ага, и софт на нём тоже сдохнет типа geany или гимпа. Сказочник.

Хотя в целом ты прав, что тулкит сдохнет. Будущее за Qt.

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

Полно.

Не, не полно. Его из репозиториев в основном из-за гимпа не выкидывают.

Твои фантазии.

Сомневаюсь.

В течение.

Спасибо.

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

Это рута требует, лол

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

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

Куда делся, не подскажешь? А то у меня 80 пакетов от gtk2 зависит на локалхосте, а и не знал, что их нет.

Сдох.

Ага, и софт на нём тоже сдохнет типа geany или гимпа. Сказочник.

geany портируют на четвертый, гимп будет и дальше дрочить, им не привыкать. Графический редактор не умеющий в HiDPI это просто лол какой-то.

cumvillain
()
Ответ на: комментарий от i-rinat

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

Да, так я про это и говорил, что чтобы его выключить нужен рут. В Арче тоже включили забор по дефолту.

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

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

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

Сдох.

Тулкит сдох, а софт работает. Удивительная реальность.

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

Который делают не шизики, это самое главное.

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

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

Это база.

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

Его из репозиториев в основном из-за гимпа не выкидывают

Его единственная цель быть тулкитом для гимпа. На секундочку GTK расшифровывается как Gimp Toolkit.

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