Небольшое предисловие
В последнее время все больше и больше разработчиков заявляют о планах внедрения Wayland в свои дистрибутивы или рабочие среды.
Команда Fedora, например, планирует отказаться от X11 в KDE уже в ближайшем релизе Fedora 40.
https://www.opennet.ru/opennews/art.shtml?num=59751
В Cinnamon, с последним релизом, уже добавили экспериментальную поддержку протокола.
https://www.opennet.ru/opennews/art.shtml?num=60201
И даже в довольно консервативную Xfce уже готовятся внедрить Wayland.
https://9to5linux.com/xfce-4-20-desktop-environment-will-finally-bring-wayland-support
Даже по этим немногочисленным примерам можно заметить, какова тенденция. Поэтому я хочу разобраться, готов ли Wayland в начале 2024 года к повсеместному использованию. И стоит ли вообще игра свеч, так скажем.
«Иксы» и почему от них уходят
X Window System появилась на свет в 1984 году, как графическая система для UNIX-like операционных систем. В течение такого долгого времени существования, а точнее 40 лет, X сервер рос и преобразовывался. Он менял название, разработчиков, лицензию, и вообще история очень богата и разнообразна.
Давайте рассмотрим модель работы графической подсистемы:
Как мы видим, при вводе данных пользователь отправляет их в X сервер. Сервер связывается с программами, которые он отрисовывает, например: браузер, почтовый клиент и любое GUI ПО, и отправляет данные уже на монитор. Плюс такой системы в том, что по сути система берет на себя всю ответственность за отрисовку изображения, не скидывая некоторые задачи на других.
К слову, X.Org не определяет интерфейс пользователя, header-бары окон, их композицию и так далее. Все эти задачи выполняют оконные менеджеры, сами рабочие среды и так далее. Оконных менеджеров много, они подразделяются на разные подтипы, но не думаю, что сегодня речь о них.
Давайте рассмотрим минусы X Window System.
1. Любое изображение обрабатывается и проходит через сам сервер.
Как и писал выше, любое отображение, изменение изображения, в любом случае проходит через графический сервер. У этого есть огромный минус, так как возникают те или иные задержки, из-за которых появляются тиринг, разрывы картинки и прочие графические артефакты. Особенно это заметно в играх без включенной вертикальной синхронизации.
Частично эту проблему решает включение буферизации кадров, что позволяет держать картинку довольно плавной и отзывчивой. Однако некоторые проблемы в любом случае слегка заметны, что, честно говоря, не очень приятно при использовании.
2. Много legacy-кода и куча надстроек
X Window System действительно является довольно старой системой. Всё-таки 40 лет это много для любого программного продукта. Понятно, что X трансформировался, переписывался, но его основные принципы остаются примерно теми же. Для современных стандартов он, пожалуй, уже не подходит в чистом виде. Поэтому для корректной работы на современных системах к X Window System добавлялись дополнения и модификации.
К примеру:
Xinerama - для работы оконных менеджеров на многих дисплеях.
RandR - настройка, размещение мульти-мониторных систем.
Xf86-video-** - драйверы для 2D-акселерации с разными видеокартами.
XComposite - для композитинга, буферизации кадров. Была введена для решения проблем с тирингом.
Это далеко не все изменения, которые были внесены в иксы за время их разработки. Некоторые функции, как говорят "мувы", сделали код раздутым и менее подходящим для нового оборудования и железа.
Появление Wayland
В 2012 году миру был представлен Wayland, призванный заменить X.Org и стать новым стандартом в мире UNIX-like операционных систем. Давайте рассмотрим логику его работы.
Разительное отличие Wayland от X.Org заключается в том, что в Wayland отсутствует централизованный сервер. Когда пользователь вводит изменения, они сразу передаются в ядро, а затем напрямую в буфер видеокарты без посредничества сервера. Это решает проблемы с задержкой, тирингом и, в целом, многие из проблем, связанных с X.Org. Эта архитектура делает рабочий стол на Linux более плавным, быстрым и отзывчивым, так как обеспечивает более прямое и эффективное взаимодействие между пользовательскими приложениями и аппаратным обеспечением.
Что же мешало перейти на Wayland эти 12 лет?
1. Прежде всего - совместимость. Большая часть программного обеспечения, можно даже сказать, около 95%, была написана под иксы и сильно зависела от них. Перенос программного обеспечения на новый протокол занимало определенное время и усилия.
Для решения такой проблемы был создан XWayland, позволяющий принимать вызовы X-сервера и перенаправлять их в Wayland и оконный менеджер.
На данный момент XWayland достиг такого уровня, что любые программы запускаются без проблем с совместимостью, включая игры, графические редакторы и прочее. AMD с разработчиками Mesa смогли быстро реализовать графическое ускорение в XWayland, что позволило спокойно использовать любое программное обеспечение на открытых драйверах.
2. Nvidia...
Nvidia очень медленно внедряла поддержку Wayland в свои драйвера, и до сих пор этот процесс не завершен. Учитывая, что Nvidia имеет значительную долю рынка, отсутствие поддержки Wayland затрудняло переход других пользователей на эту технологию. Однако ситуация определенно улучшается. Например, в версии драйверов 550 сессия с Wayland практически готова к использованию.
Список изменений тут: https://www.nvidia.com/Download/driverResults.aspx/218119/en-us/
Эти две причины были основными факторами, которые не позволяли перейти на Wayland любому пользователю Linux. Однако, с каждым месяцем, ситуация быстро улучшается, что не может не радовать
Где вообще есть этот Wayland?
Самые большие и значимые рабочие окружения уже давно поддерживают Wayland. Я говорю про GNOME и KDE Plasma, естественно. В GNOME Wayland был экспериментально добавлен в 3.10, а в выпуске 3.13.1 выбран основным. KWin, кдешный оконник, полностью поддерживает Wayland с 2021 года.
Если вы хотите максимально безболезненный опыт, с минимумом манипуляций, то советую выбрать гном. Здесь протокол уже довели "до блеска" я бы сказал.
Все действительно работает намного плавнее и отзывчивее, чем на сессии с X.Org. Стоит отметить, что у меня видеокарта от AMD с драйверами Mesa 23.3.3, так что в целом логично, что у меня всё работает без проблем.
Если нравится KDE Plasma, то там с Wayland тоже всё отлично.
Однако из за некоторых GTK приколов, могут возникать небольшие ошибки. Тут правда не проблема кедов, а у уже разработчиков ПО. В любом случае, ошибки вообще не критичные и легко лечатся.
Если хотите в минимализм, то Hyprland, Sway вам в путь. Сам пробовал только Sway - опыт приятный, просто куда больше допила, чем в гноме или кедах.
Стоит ли вообще игра свеч?
Отвечу на вопрос в названии статьи. Для большинства, особенно владельцев AMD видеокарт, всё готово. Осталось дождаться, когда большая часть окружений допилят Wayland до конца и Nvidia домучает свои драйвера до нормального состояния.
Сам долго использовал иксы и исповедовал мнение "работает и пусть работает, допилят перейду". Однако стоило мне попробовать и меня зацепило. Понятно, что каких то кардинальных отличий нет, но более плавные анимации, отзывчивость интерфейса - привлекают. Стараюсь багрепортить ошибки которые возникают, например у меня Audacity очень зависает под XWayland. А так, интересный опыт, который советую всем заценить.
Спасибо за прочтение и удачного дня.
Комментарии
10:56
Именно. Ворчат только старые перхуны, пытающиеся в wayland-десктоп на всяком "стабильном" хламе, где тот же офис отстал на год, а для которого каждый патч выходят wayland-фиксы.
И попробывал бы hyprland - зацепило еще больше. Он заметно отзывчивей и gnome и plasma, речь естественно про wayland сессии.
14:48
14:55
15:30
- Чем лучше?
- Чем Plasma и Gnome!))
18:53
04:27
20:12
Причем тут это ваш бессмысленный picom с лагающим курсором, когда речь идет о wayland-сессиях?
21:01
P.S. Экспериментировал намедни с ними ...
23:08
04:32
15:55
16:01
16:09
Во-вторых, у вас устаревшие данные. Он был отключён год назад: https://fedoraproject.org/wiki/Changes/UnfilteredFlathub
В-третьих, я прав https://src.fedoraproject.org/rpms/gnome-software/blob/f39/f/gnome-software.spec#_42
16:22
02:54
При новой установки, когда вы откройте GNOME Software вам будет предложено включить глобальный список.
05:18
В общем хз, за что купил за то продал.
05:27
Правда пришлось вернуть Discover, т.к. я его снес сразу после установки. Сделал скриншот для вас и потом так же без проблем опять снес https://ibb.co/gzT2dF3
Кстати одно отличие все же есть. Несмотря на наличие всех трех источников, по-умолчанию теперь именно репозитории.
05:49
gsettings set org.gnome.software packaging-format-preference "['rpm', 'flatpak']"
05:51
В общем суть то всей ветки обсуждения:
1. Магазины Плазмы/Гнома не прибиты жестко к Flatpak.
2. Выбор источника остался.
3. Снести магазин без ущерба системе можно. Могу ради эксперимента чуть позже повторить с Gnome Software (https://ibb.co/8dv9gT6)
06:33
Для чистоты эксперимента попробуйте снести Flatpak, оставив GSC)) речь была об этом
06:39
13:43
2. Он был очень давно, просто сейчас есть нефильтрованный (глобальный) Flatpak
В совокупности это противоречит вашему первоначальному комментарию: "В Федоре по умолчанию тоже нет. Поддержка есть да из коробки, но софт ставится с реп приоритетно в графических утилитах. "
13:45
16:38
16:09
https://fedora.pkgs.org/39/fedora-x86_64/gnome-software-45.0-1.fc39.x86_64.rpm.html
См. раздел Requires
16:38
16:44
А откуда ставить - это и так понятно
16:50
03:12
"попробывал бы hyprland - зацепило еще больше. Он заметно отзывчивей и gnome и plasma" разве не предполагает наличие лагов в gnome и plasma? А откуда они там на wayland-сессии? Она же божественна, как и Arch)))
Любой из Вами перечисленных, конечно, лучше. Хоть Fedora, хоть Debian. Причем даже Debian Sid. Хотя при чем здесь flatpak, не ясно. Да и наши "пильщики" точно лучше, потому как они "тащат" у RH и Debian, как ни странно!)))
12:18
15:59
P.s. ваши пильщики пока не смогли не придумать ничего нового
16:14
Придумывает RH, а они, понятное дело, только тащат)) Но тащат годное, на том и живут) Представьте, они бы тащили у Manjaro)))) это было бы дно!) Хотя эти могут)
16:47
02:27
11:04
Сейчас я перешел на Nvidia и Wayland уже не кажется таким идеальным. Буду ждать 550 версию драйверов и можно будет делать какие-то выводы, насколько Nvidia готова к переходу на Wayland.
14:59
10:29
11:25
15:24
04:40
19:35
19:52
12:22
По-моему, эти слова я уже приводил …
О Wayland его создатель отзывается так:
Wayland — новый графический сервер, который выполняет только крошечную часть функций Х, которые мы действительно используем, когда запускаем композитный рабочий стол. Wayland, по сути, — буферный менеджер (подобно DRI2 для X.org), обработчик входных данных. Весь рендеринг выполняется на клиентской стороне — так, как сегодня работает OpenGL, а задание режимов и другие аппаратные установки выполняются в ядре. Такой подход значительно упрощает организацию сервера.
Т.е. за счёт "упрощения" граф.сервера, они вынудили значительно пожирнеть тулкиты. И если раньше была одна точка отказа - Х-ы, то теперь, при использовании прог с разными тулкитами, этих точек будет столько, сколько есть в системе тулкитов.
С облегчением нас.
13:03
04:43
Выкинуть прослойку между ядром и клиентом в виде монструозного х-сервера - это правильный шаг.
13:15
LabWC сегфолтился на ровном месте, плюс имел мало настроек и дурацкий оупенбоксный XMLный конфиг.
Я решил написать свой композитор, но для wlroots не нашёл тогда нормальной документации.
Скорее всего всё уже поменялось, потому что тесты я проводил больше года назад уже
18:56
16:11
14:42
https://github.com/StrataWM/strata
17:47
14:39
Х11 тоже далеко не "фонтан", но менять кривой X на еще более кривой W не намерен до последней возможности. К сожалению, квалификация современных кодеров не позволяет им понять и поправить иксы))) такие времена, поколение потребления. Понятно, что RH прекратил поддержку Xorg и он гарантированно загнется, но пока этого не случилось - сижу на иксах)))
P.S.: тирринга и прочих "бед" тут описанных не имею. Надеюсь, выкатят X12)))
19:27
01:12
...Все действительно работает намного плавнее и отзывчивее, чем на сессии с X.Org. Стоит отметить, что у меня видеокарта от AMD.
Так вот тоже амд и в мх под кедами проверял вертик. авто скроллинг pdf файлов - вэйланд проигрывает напрочь и по скорости и больше дергает изображение. Сижу на Х пока не вылижут свой вэй. В минте вэй вообще только для мазохистов сейчас.
04:47
23:39
04:49
05:16
05:24
Плазма 6 официально не будет иметь поддержки Xorg.
Пишу кстати из нее с ноута на встройке интел и Wayland. Тестирую на Fedora Rawhide. https://postimg.cc/5XhJSGW2
05:34
05:46
Зачем тем же Mutter/KWin еще одна прослойка до железа и ядра? Правильно - не зачем, поэтому и выпиливают Xorg.
06:37
А если бы в Linux были проф конструкторы, то выкатили бы протокол, дали бы стандартную реализацию и объявили о приеме предложений. Не можете реализацию дать сами - объявите конкурс. А так 16 лет херотой занимаются. И ещё 10 будут догонять до функционала Xorg и договариваться. Это контрпродуктивно! Не удивлюсь, если за весь этот банкет платит MS)
06:57
Вы все ругаете системд, но вот монстр хорг готовы расцеловать :)
07:02
08:31
13:16
2. SystemD внесла единообразие в Linux и дала возможность решать задачи одинаковым способом. Way делает всё наоборот. Сейчас это примерно как солянка с системами инициализации до SysD.
3. Xorg давно требует замены.
Снова все надежды на Корпорацию монстров)))
13:27
+
15:36
2. Wayland сделал ровно тоже (в хорошем смысле) - есть протокол, есть эталонная реализация. Дальше каждый пилит композитор под свои задачи, свой тулкит, свои подходы к оптимизации и т.д. и т.п. Я не вижу в этом противоречий. Привет сторонникам unix-way :().
3. В Хорг отвратно многое. Взять тот же убогий рендеринг шрифтов, задержки отрисовки (тиринг), отсутствие нормальной поддержки HiDPI и HDR и т.д. и т.п. Даже если кто-то взялся бы с нуля переписать Хорг и назвать его Хорг12 - это в итоге получился бы +/- Wayland.
17:20
У такого подхода есть как плюсы, так и минусы. Определенный минус, что каждый пилит свою реализацию и не факт, что она получится удачной. Тем не менее, тут если код кривой, то он и на иксах плохо работал бы :) Потому не вижу проблему в некой "децентрализации" графики. Она могла бы породить большую свободу, позволяя более детально настроить логику поведения.
Про 16 лет.... Часто вижу такой аргумент, дескать "раз вяленый так прекрасен, почему не стал стандартом?". Это довольно глубокая нора, признатся, и причин для такой ситуации довольно много. Несовместимость, драйвера, новый подход и прочее - останавливали большинство от перехода на вяленый.
Несмотря на это - сейчас всё реально гораздо лучше, чем даже пару лет назад. Помню, гонял убунту с гномом на интеловской встройке и, если честно, опыт на 18 год был довольно поганый.
Сейчас же на AMD никаких проблем не встретил, может просто свезло, не знаю.
Подводя небольшой итог - тенденция к Wayland видна, чуть ли не в каждой софтине любое обновление на "улучшение совместимости с Wayland". А потому мне кажется, в ближайшие пару лет, как минимум, гиганты в мире рабочих окружений окончательно на него перейдут. X11 нормальный, сам с ним проблем особо не имею, правда, более современная реализация явно поможет десктопу стать более свежим и гибким, я по крайней мере так считаю.
18:10
И я вполне осознаю, что Xorg в прошлом. Но я же говорю только за себя и сижу на иксах))
18:27
Я в вопрос не углублялся и не уверен, что надо.
Я выбираю, каким дистрибутивом пользоваться, и приму их выбор, т.е. что там будет, то и ладненько, ведь все они думают о совместимости и тенденциях.
RedHat, видимо, хочет не просто обрезать халявщиков, но ещё и организовать водораздел. Это резкие решения и посмотрим, что у них получится и каким будет сообщество вокруг них.
14:48
Рассказать про Xenocara (по сути сборка Xorg от openBSD)
16:23
нынешняя версия х-сервера избыточно тяжелая, много накопленного годами лишнего кода (который уже не актуален), но править его решили нецелесообразно, да возможно уже и некому... Концепция w - проще, многие задачи ложатся на плечи "композиторов", функционал которых это уже давно поддерживает. И, самое главное, за этим "красная шляпа", а куда она повернет - туда и другие.
19:56
12:46
10:24
Нашел на просторах, что надо включить каким то энвом поддержку wayland сессий, но не помогло.
По работе нужен рабочий слак, поэтому перелез обратно на иксы.
Для работы подходит что одно, что второе. Или у меня такая работа, что не встречаюсь с серьезной необходимостью переходан на wayland.
12:46
15:45
Проще посмотреть. В двух словах общее рабочее пространство.
12:13
13:02
( https://pingvinus.ru/note/systemd-review-adelie#c98337 )
Не играю в игры, видео смотрю редко, обычно в браузере.
"Тиринг ... и прочие графические артефакты " — не знаю, что это такое.
Если что-то долго работает, значит это сделано хорошо и качественно. Вероятно.
Мнение ленивого консерватора. Не более чем.
15:48
17:07
https://www.cnews.ru/news/top/2024-01-30_samoj_peredovoj_strane_evropy?ysclid=ls8ylupesp169835654
Только там речь идёт о том, что ребята используют ОС, поддержка и разработка которой прекращены.
Я же имел в виду, что ежели программа работает, и работает давно, то обязательно ли её выкидывать на свалку истории?
К примеру, openbox. Последняя версия 3.6.1. (1 июля 2015). Работает. Девять лет без обновлений.
Можно переписать (мелкомягкие переписывают что-то там на Rust), отшлифовать, доделать, добавить и т.д..
И в статье речь не о переписывании X.Org, а о новом Wayland.
А насчёт немцев...
Вряд ли это проявление консерватизма как такового, жд инфраструктура имеет критическое значение, работает — не трожь,
к тому же масштаб — менять если, то по всей стране (не так ли?), а это, вероятно, дорого.
Опять же, MS-DOS поддерживалась Microsoft до 2006-го года, Windows 3.11 получала обновления с 1992 по 2001.
Не так уж и давно окончена поддержка, учитывая, что поезда серии Intercity-Express были выпущены в 1991-м, т.е. эксплуатируются уже более 30 лет.
Также не могу не отметить, что обновления не везде и не всегда уместны и вообще нужны.
Грубо говоря, ОС (прошивка) в стиральной машине или в микроволновке будет также выполнять своё предназначение и через 30 и более лет после выпуска.
На поездах, как я понял, MS-DOS играет схожую роль.
Кстати, и MS-DOS и Windows 3.11 (возможно, UNIX) вероятно где-то до сих пор в ходу ещё, не только в немецких поездах.
И что в этом плохого, если оно работает?
Манера современная: сломать что-то старое, не сделав ничего нового.
В комментарии выше я обозначил свою приверженность консерватизму. Впрочем, у меня он не особо излишний.
P.S. Меня зовут не Карл. Моё имя: Lex, фамилия: D.
17:20
17:31
ОС ведь работает, выполняет свою функцию.
"давно подумать и начинать миграцию"
Вероятно, я не самый консервативный и медленный. Может, ещё и не самый жадный.
17:34
Я не понимаю честно таких консерваторов. Нет надо подождать еще 50 лет, чтобы все в один момент рухнуло... Ок
17:40
Работает — не трожь.
Предлагаю на этом закончить, ибо меня Вы не переубедите, а я — Вас.
Некоторые взгляды на некоторые вещи основаны на личном опыте.
17:41
13:30
Лет через 10-20 также накопится много ошибок, проблем, лишнего когда и тогда опять надо придумывать новое и стабильное, какой был размер системы и программ лет 30 назад, какой сейчас?
Я не против прогресса, когда будет стабильная работа и исправят ошибки, тогда пусть заменяют. На сайте была статья про систему BSD (извините лень искать), там сразу решили проблему, а почему не могут или не хотят также сделать в Linux?
15:52
Во-вторых это неизбежно и все обрастает костылями. По хорошему надо устанавливать для таких системно значимых продуктов предельный срок EOL и горизонт 15-20 лет выглядит вполне подходящим. Т.е. прошло 10 лет сделали код-ревью и начинаем думать в сторону рефакторинга.
16:40
16:53
17:43
16:42
17:46
09:24
anydesk - да, пока не поддерживает
Да, в этой части пока печалька...
09:34
Не взлетело... Сервер Plasma 5.27, клиент Plasma 5.93
09:37
С виду это что-то похожее на удаленный запуск приложений Xorg. Кто там просил функционал Xorg притащить в Wayland?
17:16
Это конечно хорошо, но оно не работает! С 20го года периодически тестирую.
И заработает оно нормально ещё лет через несколько, если вообще случится. Сейчас мои сотрудники работают на Xpra, всё как часы. Никакими vnc это пока не заменить.
17:33
11:19
Что это за программа?
11:38
11:50
12:05
12:43
19:30
13:48
14:56
14:52
11:56
Wayland не в состоянии заменить весь функционал иксов, банально нет X утилит и межпроцессорного взаимодействия и многие разработчики ПО предпочитают забросить свои продукты, нежели полностью переписывать их под "вяленого". Причём, процентов 70 необходимых мне программ не работают нормально в Wayland.
Наверное, придётся сидеть на Fedora 39, пока она совсем не перестанет нормально работать. Так уже было, когда Fedora перешла на неработоспособный KDE4, пару лет сидел на KDE3, пока её не допилили до рабочего состояния.
09:51