SDL3 задерживает поддержку Wayland 

СДЛ

SDL — это набор библиотек, разработанных на языке программирования C, которые предоставляют базовые функции для выполнения мультимедийных операций (аудио и видео), а также для загрузки изображений и управления ими.

SDL — это библиотека предоставляет такие инструменты, как аппаратное ускорение вывода 2D- и 3D-графики, о чем мы уже неоднократно говорили здесь, в блоге (обычно в их новых выпусках), эта библиотека долгое время работала по умолчанию на X11, но с Wayland в качестве второго варианта.

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

Но похоже (по крайней мере пока), что ни то, ни другое не будет реализовано в SDL3 с недавнего времени. Был сделан запрос к разработчикам, что в основном заключался в отмене изменения, которое перевело ветку SDL3 на использование протокола Wayland. по умолчанию в средах, которые одновременно поддерживают Wayland и X11.

У Wayland есть большое количество нерешенных проблем, связанных с введением блокировки поверхностного сна и реализацией FIFO (vsync), которая фундаментально нарушена, что приводит к снижению производительности графического процессора.

Это не значит, что «мы должны исправить FIFO в Mesa/других драйверах», но это вообще невозможно исправить без дополнительного протокола, в данном случае fifo-v1. 1 .

Без этого протокола vkQueuePresent или glSwapBuffers должны останавливаться для обратного вызова «frame» после представления изображения. Единственная причина, по которой нам это может сойти с рук в SteamOS, заключается в том, что Gamescope реализует то, что по сути является fifo-v1, и мы используем его там...

У обычных игр и приложений, предпочитающих Wayland X11, нет никаких преимуществ, только несколько снижений производительности и непригодность к использованию на этом этапе.
Поэтому нам необходимо отменить это изменение до тех пор, пока не будут выпущены fifo-v1 и commit-timing-v1 и, по крайней мере, в стабильной версии для основных композиторов.

Несмотря на то, Запрос на включение рассмотрен и одобрен. создатель SDL, еще не включен в базу кода. Основная причина — существование нерешенных проблем в среде Wayland, связанных с блокировкой поверхности и реализацией FIFO (vsync), что приводит к снижению производительности. Эти проблемы невозможно полностью решить без реализации дополнительных протоколов fifo-v1 и commit-timing-v1.

Подчеркивается, что, Без решения этих проблем переход с X11 на Wayland не принесет существенных преимуществ. для обычных приложений и игр, но вызывает серьезное снижение производительности и возможный регресс. Поэтому предлагается пересмотреть возможность перехода с SDL на Wayland только после того, как протоколы fifo-v1 и commit-timing-v1 будут одобрены и реализованы в стабильных выпусках основных составных менеджеров.

Что касается дела, то важно отметить, что На данный момент прием заявки «отложен» Поскольку Сэм Лантинга, создатель SDL, упомянул о рассмотрении этого запроса, связанного с переходом на Wayland по умолчанию, он упоминает, что этот вопрос будет рассмотрен позже (ближе к окончательному выпуску SDL3), поскольку в настоящее время решено предоставить предпочтение решению вышеуказанных проблем, и к тому времени ситуация может быть нормализована. На данный момент Wayland остается включенным в тестовых версиях SDL 3 для лучшей оценки в средах на базе Wayland и для сбора отзывов пользователей.

Хотя На данный момент кажется, что все указывает на то, что Вейланд станет окончательным выбором.Если проблемы не будут решены и, прежде всего, не будет достигнута оптимальная производительность, задержка Wayland по умолчанию может стать реальностью.

На данный момент вы можете увидеть текущий статус разработки новой ветки SDL 3, который включает в себя модификации различных подсистем, изменения API, которые могут повлиять на совместимость, а также тщательную очистку устаревших функций. Например, в SDL 3 был полностью переработан код для работы со звуком, в API 2D рендеринга введен новый бэкенд для рендеринга через Vulkan API, расширена поддержка HDR, API для работы с прозрачными окнами и многое другое .

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