LINUX.ORG.RU

Wayland это как?

 , ,


1

1

Решил накатить Wayland окружение на Gentoo, в связи с новостями о прекращении suid в xorg-server.

Установил Stage3-systemd, чтобы «по фен-шую». Началось…

Первая проблема - надо pam в sysemd (дока молчит).
Вторая - LLVM. Парни собрали «под всё», все платформы (rust-bin, zig и т.д.)
Третья - WM… В Wayland мире пока только три более-менее нормальных: DWL, Sway, River. Все развиваются, оверлеи старые. Тот же River стоит собирать из master ветки git. А Zig тянет LLVM v13 (в системе 14). Мейнтейнеры не шевелятся. Утилиты для WM разбросаны по оверлеям и тоже по большей части «протухли».
В четвёртых - Pipewire. Это такое кривое…

Плюнул на Gentoo и развернул Arch - «свежее, модно-молодёжное», куд-кудах.

Со звуком беда. MPV и Firefox прибиты к Pipewire-jack. Жрут проц и заикается звук. Многие пакеты из AUR (необходимые мне) тянут исходники из заблокированных площадок. Требуется вмешательство, бесит.

Steam… Тянет поиграть. И что? Под Wayland native - пока-пока. Только прослойка XWayland, и то криво.

И смысл всей затеи? Чтобы еле-еле дотянуть до функционала Xorg?
Навеяло - https://gitlab.freedesktop.org/wayland/wayland/-/issues/233


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

Аналоги Xlib и XCB в Wayland не имеют никакого смысла, ибо вся работа по 2D отрисовке ещё в середине нулевых ушла в тулкиты по причине того что иксы уже тогда протухли.

В Haiku и сейчас применяется векторная серверная графика. И её вполне можно аппаратно ускорить через Skia->Vulkan и т.п.

Смысл есть потому что это значительная экономия памяти (не надо создавать буферы для каждого окна) и возможность векторного удалённого рабочего стола.

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

GTK вроде концептуально близок к Motif со своей концепцией колбеков.

У меня есть такие hello world’ики на Xaw, Motif и GTK+1 и там насколько я могу судить везде прослеживается родство в плане методов обработки событий. Несомненно GTK+1 делался с оглядкой на существующие тогда иксовые тулкиты.

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

В Haiku и сейчас применяется векторная серверная графика. И её вполне можно аппаратно ускорить через Skia->Vulkan и т.п.

А используется ли она, если приложение написано на Qt? Я так понимаю что нет, ибо Qt всё отрисовку делает сам, а из Haiku API посредством QPA лишь подтягивает нужные ему параметры контролов и их оформления.

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

Я так понимаю что нет, ибо Qt всё отрисовку делает сам

Скорее всего потому что никто не заморачивался. Пока. WebPositive использует сервереую векторную графику.

а из Haiku API посредством QPA лишь подтягивает нужные ему параметры контролов и их оформления.

Само оформление контролов рисуется через серверную графику.

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

Скорее всего потому что никто не заморачивался. Пока. WebPositive использует сервереую векторную графику.

А это скорее всего трудно будет заморочиться, так как даже под Windows фреймворк Qt насколько я помню, тоже рисует всё самостоятельно, и полагается на WinAPI примерно так же, как это сделано в QPA для Haiku.

Пойнт-то в чём: в Haiku есть отличный системный графический тулкит, который развивается вместе с системой, как это делает тот же WinAPI. На заре десктопного Linux подобным тулкитом мог быть какой-нибудь Xaw, но как видишь, не срослось и из иксовой экосистемы выжил лишь оконный сервер и местами XRender (Qt, к примеру, скорее всего его тоже не использует).

Векторную и ускоренную серверную графику на той же Skia можно было бы запилить, если была бы есть общая база. В Haiku это её встроенный графический тулкит, а в Linux что? Тут каждый кто по дрова, кто по ягоды: GTK+ выбрал Cairo и Xlib, а Qt использует QPainter и XCB. Конечно, могли бы появиться какие-нибудь фэнтезийные проекты XRender => Skia, но это уже на грани фантастики.

Да и сейчас на Wayland-сеансах, рендеринг цепочки Gtk4 => Cairo и Qt5 => QPainter должен уходить в OpenGL или GL|ES.

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

Конечно, могли бы появиться какие-нибудь фэнтезийные проекты XRender => Skia, но это уже на грани фантастики.

XRender спроектирован слишком убого, так что только в морг.

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

Софт под винду написанный чуть ли не до выхода самой первой версии X11, запускается на современом HiDPI мониторе и имеет отличную поддержку современных фич: векторные шрифты c Grayscale-сглаживанием, корректная трансформация всех координат и… никакого мыла.

Только более современные виндовые программы тоже этим не пользуются, тулкиты сами рисуют. Получается User/GDI тоже не прошли проверку временем. Апгрейд старого софта, безусловно, заслуживает уважения, но в общем это не то что бы что-то сверхъестественное, достаточно оперировать более абстрактными понятиями. Программы на OpenGL или интерфейсы на html проапгрейдились не хуже.

khrundel ★★★★
()

В удивительное время мы живем!

Пользователи ОС от Microsoft, Apple используют их и даже не задумываются об их устройстве. Захотел новый вон тот браузер - установил в один клик, захотел вот этот софт, а не тот - клик и уже работаешь в нем. И не надо думать, знать какая там графическая система, какие там зависимости как и кто что делает.

Зато в Linux всё стабильно - постоянно грызня vim или emacs, X или wayland, systemd или инит_имя, постоянно что-то на что-то переписывают, на выходе очередное что-то сырое.

Через 10-15 лет новое поколение ЛОР’ев будет обсуждать, что wayland, systemd, gnome пережиток прошлого, сборка костылей, и что это нужно срочно переписывать на новое чего-то там, а текущее поколение встанет на защиту всего вышеперечисленного.

Вот за это мы и любим наш Linux)

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

Apple используют их и даже не задумываются об их устройстве.

Не совсем. Что-то похожее с переходом с x86 на ARM

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

Вот за это мы и любим наш Linux)

Ты тут не обобщай.

Пользователи ОС от Microsoft, Apple используют их и даже не задумываются об их устройстве.

Эта песня уже скучна.

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

наброшу дальше ответом на новость, помещённую в phoronix:

But isn’t on *BSD stll X11 the standard?
So dropping (future) GTK+ for X11 means also dropping (future) GTK+ for *BSD.

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

Пользователи *BSD некоторое время переждут на Qt, а что дальше? Видимо, пользовательская база будет сильно уменьшена, если к тому моменту проект не исчезнет.

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

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

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

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

Мне Linux больше напоминает стадо овечек, которым управляет пастух и его верные спутники - сторожевые собаки. Вывели стадо на луг, вроде как каждая овечка кушает траву, ходит то там, то тут, но в пределах дозволенного луга. Чуть в сторону и собаки отбившуюся овечку погонят обратно в стадо. Не в обиду сказано. Сам использую только Linux, Android.

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

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

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

В OpenBSD свой велосипед Xenocara есть. Вроде как пока не форк, но кто его знает как дальше будет.

В общем с десктопом в *BSD всё и так печально, а будет ещё хуже.

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

Правда EXL был замечен…

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

EXL ★★★★★
()

Со звуком беда. MPV и Firefox прибиты к Pipewire-jack

чтоа? От таких заявлений попахивает (да что там, даже несет) какими-то самописными костылями, выдающимися за баги апстрима

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

В OpenBSD свой велосипед Xenocara есть. Вроде как пока не форк, но кто его знает как дальше будет.

Как это не форк? Это уже ведь форк X.Org или нет? Я сильно сомневась, что ребята из проекта OpenBSD могут тянуть самостоятельную имплементацию X11 отдельно от его эталонной реализации.

Ну собственно, да:

Xenocara is the OpenBSD build infrastructure for the project’s customised X.Org Server that utilises a dedicated _x11 user by default to drop privileges and perform privilege separation in accordance to OpenBSD’s «least privilege» policy.


В общем с десктопом в *BSD всё и так печально, а будет ещё хуже.

У них были неплохие начинания, Lumina Desktop, например. Но разрабатывать десктоп видимо «нет сырья и кадров».

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

Установи со свежего ISO, удивишься

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

Не понимаю, почему в вейланде нет очевидной концепции прав приложений, как в том же андроиде. Если приложению нужно абсолютное позиционирование - оно запросит разрешение у юзера, если приложение этим правом злоупотребляет - юзер в любой момент это право отзовет. Неужели это так сложно?

ты абсолютно прав чем линух хорош:

  • если ты хочешь запретить приложению читать файл запрещаешь,
  • если хочешь прочитать-удалить файл входишь под root и без вопросов читаешь-удаляешь
  • под root можно смотреть память приложения открытые файлы (до сих пор MS не обяснило зачем их skype в файл passwd лезет)

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

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

лучшим решение было бы обычным приложениям нельзя, а с выставленными правами пожалуйста все как вы и предложили, wine-obs-студия из коробки бы заработали xdottools аналог замутить можно было бы, а то приходится хаки костыли ставить-мутить чтобы obs работала

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

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

лучшим решение было бы обычным приложениям нельзя, а с выставленными правами пожалуйста все как вы и предложили, wine-obs-студия из коробки бы заработали xdottools аналог замутить можно было бы, а то приходится хаки костыли ставить-мутить чтобы obs работала

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

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

В общем с десктопом в *BSD всё и так печально, а будет ещё хуже.

Видимо он имел ввиду использование *BSD-систем в качестве рабочего стола. Не всем дано осилить подобное, особенно если основное время уходит на танчики или майнкрафт.))) =)

У них были неплохие начинания, Lumina Desktop, например. Но разрабатывать десктоп видимо «нет сырья и кадров».

Среди *BSD-систем есть готовые десктопные системы, ты какую конкретно имел ввиду? Lumina – это кроссплатформенное DE со свободной лицензией, которое доступно во многих операционных системах, в том числе и linux.

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

Lumina – это кроссплатформенное DE со свободной лицензией, которое доступно во многих операционных системах, в том числе и linux.

Lumina — свободная среда рабочего стола для UNIX-подобных операционных систем, развиваемая проектом PC-BSD, в первую очередь для TrueOS (бывший PC-BSD)[3] и FreeBSD[4].

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

Ну вот Роб Тафер (Rob Tougher), например, в статье 2002 года приводил пример простенькой плюсовой обёртки над xlib. Скриншоты в статье скромные (максимум окно и кнопка), но куда более симпатичные, чем твой.

Похоже, иксовые либы всё-таки позволяют это настраивать без особого красноглазия.

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

в первую очередь для TrueOS (бывший PC-BSD)[3] и FreeBSD[4].

Вообще-то Разработан для лучшей работы с TrueOS® и Project Trident® (Напомню, что с января 2020 года Trident как настольный дистрибутив начал выходить уже на базе Void Linux).

После заката Project Trident нет никакой первой очереди. Поскольку Lumina является кроссплатформенной, слишком сложно сделать так, чтобы она правильно и чисто работала в Linux и во всех BSD.

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

чем чревато абсолютное позиционирование?

В общем-то ничем. Баннер «Вы смотрели порно с пингвинами, переведите денег, чтобы разблокировать рабочий стол»? Других проблем от злоупотребления позиционированием я придумать не могу. Но решать эту проблему через запрет позиционирования это странно. Полноэкранные приложения ведь никуда не делись? А как насчёт злоупотребления полноэкранностью? Лучше сделать, чтобы любое окно можно было подвинуть (кстати, сразу вспоминается спор CSD vs SSD) и закрыть (где аналог xkill?). Кроме того, если уже запустился такой зловред, то он и без позиционирования проблем создаст.

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

Других проблем от злоупотребления позиционированием я придумать не могу.

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

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

Нет, если он запустился из песочницы.

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

Это не обрезанность протокола, а официальная позиция разработчиков, патчь с изменениями не примут. Суть проблемы: реально на Sway реализовали свой аналог xdottools, но он только для Sway под Gnome, KDE не работает.

s-warus ★★★
()
Ответ на: комментарий от khrundel

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

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

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 1)

это как «любовь» - одни страдания и разочарование

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

ставь изкоробочные дистры с вялендом: Manjaro/Fedora для Plasma и Gnome

Нет там не в дистре дело, а в Gnome/KDE. Gnome по-умолчанию использует сессию Wayland. И ее нужно первым делом отрубить, если хочется в игоря подолбиться или доп монитор юзать на ноуте

tz4678_2
()
Ответ на: комментарий от s-warus

Так абсолютное позиционирование, оно всем нужно. Любой комбобокс на тот момент был завязан на абсолютное позиционирование. Контекстное меню аналогично. Ты же не хочешь, чтоб попап открывался далеко от места или чтоб он выходил за пределы экрана? Соответственно каждый тулкит бы просто предлагал запросить эту функцию, чисто чтоб попапы работали. Соответственно зловред, требующий такое, не вызывал бы никаких подозрений.

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

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

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

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

теоретически - да. На практике - браузер всегда развёрнут на полный экран.

khrundel ★★★★
()
Ответ на: комментарий от s-warus

Это не обрезанность протокола, а официальная позиция разработчиков, патчь с изменениями не примут.

Ссылку.

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

Ну вот Роб Тафер (Rob Tougher), например, в статье 2002 года приводил пример простенькой плюсовой обёртки над xlib. Скриншоты в статье скромные (максимум окно и кнопка), но куда более симпатичные, чем твой.

Похоже, иксовые либы всё-таки позволяют это настраивать без особого красноглазия.

Заметь: вместо того, чтобы использовать какой-нибудь XPushButton, он отрисовавает кнопочку линиями самостоятельно. А так-то в 2002 году уже были Qt, GTK+ и постепенно закапывался Motif. Xaw это более ранний тулкит.

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

Древние версии маргинального DE – Enlightenment.

EXL ★★★★★
()

Исключил Wayland из всех зависимостей приложений и либ, до которых дотянулась рука на FreeBSD (осталась жёстко прописанная зависимость в Chromium). Пересобрал приложения с зависимостью только от X11. И… ничего не изменилось. Зачем нужен Wayland?

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

But isn’t on *BSD stll X11 the standard?

Не имеет значения, что там «the standard». Wayland поддерживается на *BSD – значит, рано или поздно перекатятся.

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

Там нет тиринга!!!!!111 адын адын

Ты опять обезьянничаешь?

Нет тиринга, легкий протокол, расширения, изоляция, независимость, порталы…

Siborgium ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.