LINUX.ORG.RU

Sway 1.0 alpha 1 с новой библиотекой композитора wlroots

 , , , ,


2

5

Благодаря хакатону и успеху кампании по сбору средств для разработки новой библиотеки композитора, проект Sway (совместимый с i3 фреймовый оконный менеджер для Wayland) получил возможность ускорить своё развитие и уже сегодня запустить alpha-тестирование версии 1.0. Основные нововведения:

  • Переход от библиотеки композитора wlc к собственной wlroots (с поддержкой Wayland и X11 в качестве backend, с описанием процесса разработки в блоге в трёх частях).
  • Настройки вывода: поворот, масштабирование, HiDPI.
  • Профили для схем комбинирования различных устройств ввода при их одновременном использовании.
  • Многопользовательское мультитерминальное решение для организации на базе одного компьютера несколько независимых рабочих мест.
  • Расширенные возможности Wayland: объекты типа «изображение», базовый протокол GTK для выделения, протокол для экранных клавиатур, протокол для скриншотов.
  • Улучшена производительность.
  • Полностью удалена поддержка проприетарного драйвера nvidia (поддерживается nouveau).

После предыдущего выпуска Sway 0.15 в основной код проекта были приняты 624 изменения от 5 разработчиков, в то же время в библиотеку wlroots были приняты 2329 изменения от 39 разработчиков.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: atsym (всего исправлений: 51)
Ответ на: комментарий от eternal_sorrow

как это понять? это как в обычном DE типа кед или той же винды, панелька с о списком окон? или как?

Вот так, и так (это в xmonad).

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

Конечно имеет! Только когда возникает вопрос, почему лялексом на десктопах никто не пользуется, все верещат про гадкий и мерзкий Microsoft, а не про аутистов-разработчиков, которые вот уже 10 лет пытаются из кучки фекалий породить новый графический стек.

Я напомню, между релизами Windows ME и Windows 7 прошло и то меньше времени.

hateyoufeel ★★★★★
()

В чем приемущество вяленого перед иксами, кроме того, что оконный менеджер объединили с дислейным сервером?

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

а что ж не преедешь, если так страдаешь?)

Да есть пока весомые причины, и кроме поддержки OpenCL. Банально пока нет денег на апгрейд. Брать подержанную - тоже лотерея, ибо можно нарваться на оверклокнутую, проработавшую не один месяц в майнинг-ферме. Жду когда рынок видеокарт устаканится хоть немного.

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

Wayland и есть протокол. Его сделали маленьким и гибким, для того чтобы можно было без проблем написать плагин для чего угодно, и не лепить его на скотч, а использовать как, ну, как например модуль в ядре. Есть базовый протокол, есть десктопное расширение xdg-shell, которое понятное дело ты не будешь использовать в мобильных и автомобильных системах. А значит его можно не реализовывать/не включать в композитор. В свою очередь для xdg-shell есть не менее прекрасные дополнения, такие как xdg-output, xdg-foreign, в общем всё сугубо десктопоспецифичное. При этом базовый протокол чист, лёгок в разработке и сопровождении, а также имеет очень продуманную систему версионирования и стабильное API/ABI, не ломающееся между версиями. Даже эти ваши иксы таким похвастаться не могут, что не релиз - то поломка ABI. Так что Wayland - это изящное и элегантное решение. А критику лучше сводить к его реализации в DE. Это будет правильно и мудро.

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

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

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

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

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

Зачем?

это ты мне скажи, почему тебя так волнует процент линукса на декстопах

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

что Wayland не позволяет приложениям пережить крах композитора

Позволяет https://www.phoronix.com/scan.php?page=news_item&px=Wayland-XDG-Session-M...

сделать скриншот без костылей

Выше давал ссылку на стандартизированный фридесктопом протокол. Это без костылей, согласно дизайну. Да ёмаё, там протокол на 4 строчки. Остальное - копирайты.

Или глобальные хоткеи

Решается очень просто через Dbus. И опять же - это не работа Wayland. Wayland не отвечает за это. Его задача - рулить буферами изображений и компоновать из них картинку. На этом его полномочия всё.

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

Позволяет https://www.phoronix.com/scan.php?page=news_item&px=Wayland-XDG-Session-M...
Samsung Proposes

Правда позволяет? И все полтора десятка композиторов это уже запилили?

Выше давал ссылку на стандартизированный фридесктопом протокол. Это без костылей, согласно дизайну. Да ёмаё, там протокол на 4 строчки. Остальное - копирайты.

Опять же, все композиторы это запилили? Идиотское решение вместо одного стандартного расширяемого композитора пилить десяток своих выльется в фрагментацию этого всего карнавала.

Решается очень просто через Dbus.

Решается кем? Где? Я пока не вижу.

И опять же - это не работа Wayland. Wayland не отвечает за это.

В Wayland композитор не отвечает за передачу событий ввода приложениям? Здесь (https://jan.newmarch.name/Wayland/Input/) написано обратное.

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

Это, конечно, безумно круто, только от графического стека в современных ОС требуется чуть больше.

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

И все полтора десятка композиторов это уже запилили?

Проведу аналогию. Есть OpenGL, открытый стандарт. У него нет какой-то одной реализации, каждый производитель драйвера сам реализовывает нужные расширения, описанные в стандарте. Что-то никто не жалуется. Wayland - это тот же самый OpenGL, только для организации графического окружения. Есть Weston, но создан он с целью дать пример кода для других композиторов. Все с этим согласны. Я имею ввиду тех, кто занимается разработкой чего-то графического в Линуксе. У Wayland также есть тесты соответствия (Conformance Tests)

В Wayland композитор не отвечает за передачу событий вводе приложениям?

Так ты о композиторе или протоколе спрашивал?

только от графического стека в современных ОС требуется чуть больше.

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

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

Автор неадекват, sway не нужен, если есть i3. Как бы тайловом режиме никаких бонусов от композитинга нету. На работе i3 без композитинга шикарно работет, ресурсы не жрутся.

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

i3, только для Wayland

я не вижу в этом смысла. Зачем оно надо? Для тайлинга иксов с головой хватает.

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

Есть OpenGL, открытый стандарт. У него нет какой-то одной реализации, каждый производитель драйвера сам реализовывает нужные расширения, описанные в стандарте. Что-то никто не жалуется.

Чувак, ты с какой планеты упал? В половине игровых движков есть отдельные костыли под AMD и под Nvidia. У каждого вендора свои специфичные расширения. OpenGL — это просто феерический анал карнавал. Если разработчики Wayland именно им вдохновлялись, то я не удивлён, что его уже десять лет пилят.

Так ты о композиторе или протоколе спрашивал?

С точки зрения пользователя есть разница, хочешь сказать?

Остальное решают тулкиты. Отрисовка ведётся ими.

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

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

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

«мама, мама, сматри как я траллю!»

проследуй в биореактор, хлебушек

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

Чувак, ты с какой планеты упал? В половине игровых движков есть отдельные костыли под AMD и под Nvidia. У каждого вендора свои специфичные расширения. OpenGL — это просто феерический анал карнавал. Если разработчики Wayland именно им вдохновлялись, то я не удивлён, что его уже десять лет пилят.

Так и у каждого композитора есть пара-тройка DE-специфичных протоколов. Ведь ты же не скажешь, что в иксах все WM одинаковые? У каждого есть что-то, чего нет у другого. Тут также.

С точки зрения пользователя есть разница, хочешь сказать?

Есть Wayland, это протокол. Есть его реализация, например KWin, Mutter и так далее. Поэтому я и вопрос задал такой - где конкретно нельзя просто так сделать глобальные хоткеи?

Тулкиты, например, не могут сами задавать координаты окна на экране

Насчёт координат окна не вспомню, но для всплывающих окон есть xdg-positioner.

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

Есть и такое, как например серверные/клиентские декорации окон. Автор Sway, совместно с разрабами Mir и KDE создал протокол, решающий эту проблему. Сейчас лежит на ревью в рассылке. Хотя у кед есть Server-Decorations, который решал схожие проблемы, собственно это замена для него. Всё остальное, что касается Wayland - также реализовывается в тулкитах. Каждый тулкит должен реализовать поддержку тех или иных дополнительных протоколов, для того чтобы это не пришлось делать в приложении. Если приложение не использует какой либо тулкит - то тут да, нужно эти протоколы реализовывать в нём. Примеры: mpv, Kodi. wlroots призван решить эту проблему.

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

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

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

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

А есть примеры реальных эксплуатаций, которые нельзя было бы провернуть через strace? :) А то уже десять лет пилят, никак не запилят, а меня никто так и не поломао через небезопасные иксы.

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

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

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

Ведь ты же не скажешь, что в иксах все WM одинаковые?

Я скажу, что в иксах все иксы одинаковые.

Поэтому я и вопрос задал такой - где конкретно нельзя просто так сделать глобальные хоткеи?

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

Насчёт координат окна не вспомню, но для всплывающих окон есть xdg-positioner.

Могу напомнить: это одна из причин, почему под Wayland не будет нативного Wine.

One problem is for example that a program can not specify the location of a newly created window. This doesn't sound very problematic at first, until you notice that drop-down / popup menus are also just normal windows on Windows. The solution that Wayland provides for this is not really compatible with the Win32 API. I therefore talked with some Wayland developers and there is no chance of fixing this in the future. It is part of their concept that applications should not have control over the window position and similar settings.

Отсюда: https://bugs.winehq.org/show_bug.cgi?id=42284

Всё остальное, что касается Wayland - также реализовывается в тулкитах.

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

wlroots призван решить эту проблему.

Ну это круто, что он призван. Только проблема создана на абсолютно ровном месте, потому что разработчики Wayland вообразили себя мегаархитекторами и решили позапиливать свои мега песочные замки. Вместо замков, почему-то, получаются фекальные куличики. Я рад, что разработчики Wayland не сдаются, только более юзабельным всё это не становится.

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

Это небезопасно. А Wayland спроектирован быть безопасным в плане доступа к содержимому окна.

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

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

Я скажу, что в иксах все иксы одинаковые.

Не шлангуй.

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

Пример можно? А то у меня в Гноме на вяленом всё как-то работает.

Могу напомнить: это одна из причин, почему под Wayland не будет нативного Wine.

Тем не менее, Wayland есть в их роадмапе

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

Ты так говоришь, будто до Wayland те же GTK и Qt были одинаковыми как близнецы. О какой ты фрагментации? Я уже сказал - есть стандартные протоколы. Их реализации, где бы они ни были, будут совместимы друг с другом.

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

Ничего страшного, любая проблема решаема. Без регресса не бывает прогресса.

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

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

Пруф давай

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

Не шлангуй.

В штанах у тебя нешлангуй.

Пример можно? А то у меня в Гноме на вяленом всё как-то работает.

Что всё у тебя работает? Программа может читать клавиатуру, будучи не в фокусе?

Тем не менее, Wayland есть в их роадмапе

Конечно есть. В роадмап записать что-то — дело нехитрое. Только сравнительно бесшовной интеграции в рабочий стол не будет. В текущей ситуации можно только виртуальный рабочий стол отрисовывать.

Ты так говоришь, будто до Wayland те же GTK и Qt были одинаковыми как близнецы.

Нет, но Wayland не то чтоб помогает тут.

Я уже сказал - есть стандартные протоколы.

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

Ничего страшного, любая проблема решаема.

И поэтому надо насоздавать побольше новых проблем. Чтоб было что порешать.

Без регресса не бывает прогресса.

Не, чувак, вот тут тебя жёстко обманули.

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

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

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

Программа может читать клавиатуру, будучи не в фокусе?

Какая например программа?

Нет, но Wayland не то чтоб помогает тут.

А с чего он должен помогать тут?

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

Касаемо нестабильных протоколов - возможно. Но такого пока не случалось. А баги в реализации никто нигде не отменял. Они есть. Например в Qt не закрыто, по-моему 3 бага, связанных с xdg-shell.

И поэтому надо насоздавать побольше новых проблем. Чтоб было что порешать.

Проблемы создаются или всплывают всегда, при разработке чего-то нового.

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

Вот я и прошу нормальный пруф чтобы прочитать про этот дизайн. Мало ли что там можно с strace сделать. Да и конкретных инструкций я не увидел.

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

Вот я и прошу нормальный пруф чтобы прочитать про этот дизайн. Мало ли что там можно с strace сделать. Да и конкретных инструкций я не увидел.

О господи...

$ strace -fp $(pgrep firefox)

Читай до просветления.

P.S. И эти люди мне тут про безопасность втирают. LOL.

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.