LINUX.ORG.RU

Ситуация с Wayland: факты о X и Wayland.

 ,


32

7

Это вольный перевод статьи, намедни размещённой на phoronix. Оринальная статья — обзор недостатков, их исправлений и преимуществ между X и Wayland. Её написал Eric Griffith, при участии Daniel Stone, специально для ресурса phoronix. Работа собрана по кусочкам из презентаций Keith Packard, David Airlie, Kristian Høgsberg, из страниц про X11, X12, Wayland в вики и на freedesktop.org, из прямых интервью с разработчиками.

Оригинал выпущен под Creative Commons версия 3, с указанием авторства; перевод доступен на тех же условиях (с указанием на авторов оригинала, как мне кажется).

Недостатки X

Прежде всего автор думает, что преимущества Wayland лучше всего понятны через перспективу недостатков X11. Итак, начнём...

  1. Мы потратили последние десять лет на «исправление» X с помощью оборачивания его расширениями и плагинами. Однако, X имеет минимальную поддержку версионирования расширений.
    • Версионирование ведётся для одного клиента, а не для одного соединения с API расширения; если ваше приложение поддерживает одну версию расширения, а библиотеки — другую, вы не можете предсказать, какая версия расширения будет получена в итоге.
    • Мысленный эксперимент: Rekonq поддерживает Xinput 2.2, библиотеки KDE — Xinput 2.0, а плагин Flash — только базовый X11. Все они будут определять, какая версия подсистемы ввода поддерживается браузером Rekonq, и в результате будет отдана одна версия для работы со всем вводом... И это может быть не та версия, которая имеет всё необходимое.
    • Если вы счастливчик, вы получите минимальную поддерживаемую версию и приложение будет работать хорошо. Если вы не очень удачливый, вы получите максимальную версию и будете посылать бесполезные сообщения между клиентом и X.
  2. X имеет четыре подсистемы ввода: базовый протокол X11, Xinput 1.0, Xinput 2.0, Xinput 2.2. Xinput 1.0 канул в Лету, но оставшиеся три остаются взаимосвязанными. Daniel Stone описал это так: «Есть всего три человека, которые действительно понимают, как подсистемы ввода уживаются вместе... И я бы хотел не быть одним из них».
  3. Много лет назад у кого-то появилась идея «механизм, а не алгоритм». Фраза является отсылкой к тому, что X имеет свой уникальный API для рисования и собственную библиотеку вроде GTK+ или Qt. X определяет низкоуровневые понятия, такие как прямая линия, толстая прямая линия, дуга, окружность, неполноценные шрифты и другие элементы конструктора, бесполезные по отдельности. Примечание от Daniel: «Внешний вид толстых линий должен точно соответствовать спецификации, которая обязывает их выглядеть уродливо».
  4. X большой и тупой. Прежде чем мы (сообщество) начали выкидывать его компоненты и использовать обходные пути, X имел внутри почти полную ОС, включая свой сервер печати и свой бинарный транслятор для ELF, COFF и a.out.
  5. Композитинг и синхронизация окон. Разработчики научили X композитингу с помощью Composite Extension. Композитинг хорош для простых случаев, как то: рабочий стол, OpenGL. Но если вы захотите использовать hardware overlays (т.е видео), может случиться катастрофа. В том же браузере содержимое вкладки и окно flash-плагина обрабатываются отдельно и не синхронизируются, так что остаётся лишь скрестить пальцы в надежде. что разница во времени обработки не будет слишком большой. В результате при прокрутке страницы с играющим видео иногда возникают разрывы и артефакты.
  6. Шрифты. Разработчики пытались перенести шрифты под управление X-сервера с помощью расширения STSF, и предоставить клиентам достаточную информацию, чтобы те могли правильно определить расположение шрифтов на экране. Но количество информации, достаточной для выполнения данной задачи, превышало размер самих шрифтов. В итоге было решено предоставить клиентам полную свободу действий, избавившись от шрифтов на сервере.
  7. Протокол без состояний. Иными словами, X ничего не запоминает.
    • «Пожалуйста, создайте мне X.conf. Пожалуйста, используйте его для настройки.» Зачем?! Со временем это было исправлено: файл конфигурации используется для перезаписи параметров по умолчанию, а сами параметры по умолчанию подчищены и могут теперь определяться автоматически.
    • Многие имели проблемы с многомониторными конфигурациями в Linux, ну или хотя бы перенастраивали X после перезагрузки. Недостаток X в том, что он помнит эти конфигурации только после создания /etc/X11/xorg.conf.d/50-monitors.conf, который скорее всего придётся писать вручную.
    • Мы надеемся, что это было исправлено созданием libkscreen, обёртки над xrandr, которая наконец-то стала запоминать параметры мониторов, используя их уникальный EDID.
    • В течение длительного периода (а может быть и до сих пор) при подключении дополнительного монитора в Linux основной монитор имел композитинг, а дополнительный — нет. Это, возможно, исправлено в RandR1.4, но его автор не может найти убедительных доказательств.
  8. Бесполезная иерархия окон. В X каждое поле ввода и текстовая надпись имеют своё окно со своим родителем. Никто не знает, какую же функцию выполняет эта иерархия. Реальные библиотеки (т.е не основанные на компонентах протокола X11) уже давно выбросили весь этот мусор в окно.
  9. Отчасти придирка, отчасти разумное беспокойство... В X11 каждая из координат— 2-байтное число со знаком. То есть, на всех ваших дисплеях должно быть не более 32,768 пикселей. При 100dpi это даёт вам 8,3-метровый дисплей. Замечательно... Но вот факты для сравнения: Windows XP имеет 96 DPI, а мой телефон — 320+. Добавьте сюда растущие разрешения и несколько мониторов, и вы увидите, что проблема приближается очень даже быстро.
  10. Для X всё является окном, и разных типов окон с его точки зрения нет.
    • Скринсейвер — это окно, которое просит X расположить его поверх всех окон, сделать полноэкранным и отдать весь ввод.
    • Всплывающее окно просит X расположить его в заданной точке и отдать весь ввод.
    • Они конфликтуют: скринсейвер не будет активирован, пока показано всплывающее окно.
    • Наверняка ваши скринсейвер и скринлокер не прокинули хуки во все необходимые библиотеки, распознающие клавиши для управления медиа... Представьте, что вы слушали музыку, работая на ноутбуке, а затем закрыли крышку. Ноутбук уснул, скринсейвер стал активным окном. Как только вы откроете крышку, ноутбук проснётся и музыка загромыхает снова, так что снова закрыть крышку окажется проще, чем вбить проль, затем открыть плеер и поставить его на паузу либо выключить звук.
    • Разработчики пытались исправить проблему и сделали спецификацию нового расширения, которое в теории работало. Но когда его попытались реализовать, оказалось, что оно серьёзно ломает модель работы X-сервера. Так что проблема существовала 26 лет и продолжает существовать. Расслабьтесь и получайте удовольствие.
  11. «Но Eric, если X11 настолько плох, то почему бы не сделать X12 вместо нового протокола?». Ну, формально, это уже сделано. При сохранении его под знаменем X возникает практический недостаток: все, кто беспокоится о X, будут иметь право голоса в разработке следующей версии. С помощью названия «Wayland» этой проблемы можно избежать. Никого ничто не волнует. Это не связанный с X проект, разработчики могут творить с будущим дисплейным сервером всё, что душа пожелает, ну а те, кто беспокоится о X, могут пойти разрабатывать X12.

Лекарство от Wayland (пронумерованы попарно с недостатками X).

  1. Весь протокол версионирован. Каждый слушатель получает именно ту версию, которую он поддерживает, и ничего поверх этого. Никаких случайностей.
  2. Подсистема ввода в Wayland очень похожа на Xinput 2.2, за вычетом всего старья и отношения Master/Slave между источниками ввода. Слушатель получит одну виртуальную клавиатуру, одну виртуальную мышь и один невиртуальный сенсорный ввод. Кошмар под названием «мультитач» в конце концов упорядочен. Примечание от Daniel: как один из авторов мультитача в X, я считаю себя достаточно компетентным, чтобы назвать его кошмарным.
  3. У Wayland нет API для рисования, в обход которого можно было бы работать. Wayland ожидает заполнения клиентом буфера рисования, и его не волнует способ заполнения, если не считать контроля за попытками задеть чужие буфера.
  4. Wayland минималистичен, он не хранит внутри себя псевдо-ОС ради контроля вывода графики. Клиенты принимают на себя этот удар, что хорошо — им не придётся заботиться о сверхдолгом сопровождении обратной совместимости. Qt5 избавилось от модуля qt3support. X всё ещё сопровождает то, что было написано 26 лет назад. Примечание от Daniel: кроме того, вызовы к вейланду — не блокирующие, рисование всего рабочего стола не остановится из-за зависания или очень дорогой операции на стороне одного из клиентов: остановится только этот клиент.
  5. В вейланде — принудительный композитинг. Это не означает, что везде должны быть 3D-эффекты или изгибающиеся окна. Под композитингом мы подразумеваем отсутствие разрывов, необновлённых кусков и проблесков. Лозунг вейланда — «каждый кадр будет идеальным». Каждый пиксель прорисован как должно и расположен где должно, и появляется, когда клиент того потребует.
  6. Шрифты отданы клиентам.
  7. Многомониторные конфигурации и гибридная графика (Optimus) отданы клиентам, вейланду нужен только буфер с пикселями и информация о том, где его расположить.
  8. В вейланде есть два вида окон: окна верхнего уровня и подповерхности (в основном для проигрывания видео). Причём, в отличие от X, они синхронизируются. При прокрутке страницы с видео в браузере у вас не будет ни разрывов, ни артефактов.
  9. С точки зрения клиентов, вейланд не оперирует глобальными координатами, предпочитая систему отсчёта поверхности для рисования. Счётчик координат 31-битный, то есть каждая поверхность может иметь 2,147,483,648 пикселей как в ширину, так и в высоту.
  10. Для обеспечения дополнительной безопасности, ваш скринсейвер и скринлокер являются частью композитора. Кроме того, композитор распознает клавиши управления медиа, так что даже при заблокированном экране можно выключить звук.

Некоторые заблуждения в плане X и Wayland.

  1. «X — это юниксвейно». X обрабатывает печать, управление буферами для рисования, имел свой тулкит, обрабатывал шрифты, имел бинарный транслятор — и всё это помимо других задач.
  2. «В X есть сетевая прозрачность» — её нет. Базовый протокол X и DRI-1 имели сетевую прозрачность, но никто не использует ни то, ни другое. Shared-memory, DRI2 и DRI-3000 не имеют сетевой прозрачности и не работают по сети. В наше время X превратился в синхронный, плохо сделанный VNC. Если бы он был плохо сделанным асинхронным VNC, то может быть мы бы и заставили его работать. Но он не такой: XLib синхронная, а переход на XCB медленный, что делает передачу по сети настоящим кошмаром.
  3. «Разработчики Wayland наступают на те же грабли, что и X11, потому что не знают его» — неверно, потому что большинство разработчиков Wayland являются бывшими разработчиками X11.
  4. «Вейланд требует 3D.» — неверно, он требует только композитинга, так что есть даже бекенд на pixman для программной отрисовки.
  5. «Вейланд не умеет в удалённый доступ» — умеет, и должен справиться с этой задачей лучше чем X, отчасти из-за асинхронности протокола. Скорее всего Wayland станет высокопроизводительной версией VNC, и прототип уже есть. Причём мы ещё ни разу не давали идей по его улучшению, и скорее всего сможем сделать его лучше, если приложим усилия.
  6. «Вейланд нарушает обратную совместимость» — с тех пор как XWayland закончен и принят в основную ветку, у нас должна появиться почти совершенная обратная совместимость, потому что каждое приложение, использующее X, получает маленький X-сервер для дальнейшей работы с ним. Нам известно одно препятствие — трансформации окна, ведь приложение думает, что оно расположено в верхнем правом углу экрана, оттого, что клиентский X-сервер приведён к размерам клиентского окна.

Парочка характерных преимуществ Wayland

  1. «Каждый кадр будет идеальным». Каждый кадр будет представлен в правильном порядке (возможен сброс лишних кадров, но вы не получите кадр 199, затем 205, а затем 200 оттого, что сервер извлёк их в произвольном порядке. Каждый кадр имеет свой timestamp.)
  2. Минималистичный! Мы способствуем славному будущему Wayland путём уменьшения пространства для возможных ошибок.
  3. Бекенды, специфичные для оборудования. Думается, некоторые люди заметили появление бекенда Wayland, предназначенного для Rasberry Pi — он позволяет использовать все особенности этой платформы. Такой подход используется не везде, многие вещи не потребуют бекенда для конкретного оборудования, но неплохо бы иметь возможность сделать доработку, когда потребуется.

P.S. От переводчика: заметно, что в статье мало технических деталей или же ссылок, а лозунги я наоборот вырезал. К слову, о минималистичности: для вейланда уже есть композитор, способный отображать окна в 3d-пространстве на манер quake, но что-то я сомневаюсь в правильной обработке звука в таком 3d. Для игр есть OpenAL, который имеет 3d-координаты, соответствующие координатам OpenGL (синхронизация позиций источников звука и слушателя с позициями объектов и камеры производится программистом). Для вейланда нет ничего подобного OpenAL.

Если же кто-то имеет вопросы к авторам статьи — он может задать их на Phoronix.

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

★★★★

Проверено: maxcom ()
Последнее исправление: Aceler (всего исправлений: 16)

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

вся могли уже nx туда втащить - открытый пяток лет назад. Перетащить отрисовку примитивов из гтк-кутешной дряни на уровень иксов. Не, они ппосто всё разломали и сказали так жить нельзя.

Чтобы это сделать надо разломать всё и запилить _новый_ протокол X12. Почему решили назвать это не X12, а wayland написано в теме.

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

все побежали на хтмл5 пилить весь софт

о боже...

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

а давайте всё, чего у нас нет, будем считать не недостатками, достоинствами. Круто, чо.

У нас появляются две системы, что уменьшает количество того, что у нас нет.

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

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

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

Почему решили назвать это не X12, а wayland написано в теме.

Гнилое объяснение.

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

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

linux vs BSD

vim vs Emacs

Java vs C++

PHP vs python vs Perl

KDE vs GNOME

Firefox vs Chrome

fvwm vs Enlightenment

И т. д.

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

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

Ну да, Komodo использует XUL. Который умеет неплохо взаимодействовать с Gtk(в результате мы имеем практический нативный внешний вид и поведение контроллов). Да и Swing(а так-же SWT) тоже почему-то умеют прилично выглядеть в Gtk окружении. И очень плохо смотрятся в окружении программ на Qt... Что касается приложений на Qt, то у меня в любимцах два приложения: Krita и qBittorrent.

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

Intel и Red Hat - достаточно крупный бизнес?

Какая связь?

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

Фотошоп не работает в Linux, поэтому не в счёт... Dolphin и Krusader меня не впечатлили... Я люблю ПО с минималистичным интерфейсом. Kate ничуть не лучше Gedit. Clementine хорош, действительно хорош... Что касается Okular, то ничего революционного в данной читалке я не обнаружил. Ну открывает она PDF, DjVu и ещё пару форматов. Так и Evince тоже так умеет. Мне интересно, как phpstorm выглядит в KDE? По умолчанию Swing-приложения выглядят в KDE не очень... Что-то Swing с Qt не поделили, раз до сих пор Swing мимикрировать под Qt не научился...

lucentcode ★★★★★
()
Ответ на: комментарий от special-k

ну так оно и есть же - если приложению kwallet (шифрованное хранилище) не нужен, тянуть оно его не будет. ну по крайней мере в KDE так.

а тут еще kdelibs в qt переезжает, а там их либы тщательно на модули дробить собираются... в общем, в kde\qt всё хорошо. настолько хорошо, что даже unity переписали на Qt.

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

Я люблю ПО с минималистичным интерфейсом

в krusader тащемта ничего лишнего и нет, а dolphin настраивается в ооочень больших диапазонах. в отличии от этих ваших gtk-огрызков

Gedit

оно умеет sftp и интеграцию с фм?

как phpstorm выглядит в KDE?

также, как на форточках. не нативно, но жить можно.

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

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

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

Поживём - увидим как Mir приживётся. Интересно, как они работу иксовых приложений обеспечат в своём дисплейном сервере? Дёрнут наработки вяленого, или свой велосипед с нуля начнут изобретать?

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

В крупных компаниях думают о будущем, поэтому

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

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

Интересно, как они работу иксовых приложений обеспечат в своём дисплейном сервере?

XMir уже существует и работает.

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

Так и Qt не младенец. Gtk создали из-за не кошерной лицензии на Qt. И вендоры, которые хотели обезопасить себя от рисков, связанных с проприетарной либой, выбирали менее функциональное, но лицензионно более чистое решение.

Я в курсе. И Gtk был более лицензионно чистым только в те далёкие времена. Да и качество API Qt3 и инструментов под него было сравнимо с Gtk, чего не скажешь о Gtk современном.

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

Поживём - увидим как Mir приживётся. Интересно, как они работу иксовых приложений обеспечат в своём дисплейном сервере? Дёрнут наработки вяленого, или свой велосипед с нуля начнут изобретать?

Свой с нуля, называется vladmir.

quiet_readonly ★★★★
() автор топика

Принципиальный вопрос вообще по графике в Юниксах: есть «иксы» с приложениями, этому симбиозу много лет и кому надо - его юзают. В свете последних лет ясно, что графику куда удобнее юзать локальную, благо ускорители дают на сдачу в палатках. Сам вопрос: почему бы не разработать чисто клиентский «графический сервер»?? Без мудистики типа «сетевой прозрачности» или «клиентов с разным разрешением мониторов». Вот тупо дисплей/два, окна, сообщения, контролы... Типа Винды 3.1, но гораздо лучше.
Такой сервер:
1. Проще проектировать
2. Покрывает 100% потребностей «админов локалхоста»
3. Даёт полные возможности для игр
4. Ввиду размера и архитектуры будет проще переносить под другие железки
5. Не интерферирует с Хэ-проектами ввиду полной изолированности, т.е. сразу отсекаются нытики «чо они МНЕ там в иксах поломали!».
6. Может даже упростит портирование драйверов.

Другими словами, в век «локальной графики» как-то совсем глупо выглядят иксовые убожества, да ещё тормозящие, будто каждый пиксель передаётся по сети.
Финальный вопрос: нет ли ЕЩЁ каких-то соображений, препятствующих отказу от иксов на десктопах?

PS
Не забывайте перед ответом: ваши иксы НИКТО НЕ ТРОГАЕТ, они остаются как есть со всеми написанными приложениями. Речь идёт о принципиально новом проекте, способном расшевелить попахивающий мир «линукса, побеждающего десктоп».

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

По умолчанию Swing-приложения выглядят в KDE не очень... Что-то Swing с Qt не поделили, раз до сих пор Swing мимикрировать под Qt не научился...

А он вообще где-то нормально выглядеть умеет на онтопике?

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

Не забывайте перед ответом: ваши иксы НИКТО НЕ ТРОГАЕТ

Проблема в том, что трогает. Если в твоём дистрибутиве GTK и Qt будут собраны только с поддержкой Wayland или Mir, под иксами программы на этих тулкитах запускаться уже не будут.

Отсюда весь вопрос.

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

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

Если в результате этого линукс окончательно пропадет с десктопа, — туда ему и дорога.

note173 ★★★★★
()
Ответ на: комментарий от no-dashi

У тебя кто-то отнимает иксы? А инит? Бедный, покажи мне этого человека, я его отругаю.

Серьезно, называя что-то «ублюдочным», ты показываешь уровень своей компетентности в вопросе и неспособность воспринимать новые веяния индустрии, что означает - свой век айтишника ты отжил.

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

свой век айтишника ты отжил

Вы такой интеллигент. Могли бы ведь просто сказать: «у тебя ФГМ, убейся» :)

fragmentor
()
Ответ на: комментарий от no-dashi

Кстати, из Linux всегда, вообще всегда безо всякого сожаления выкидывали устаревшие технологии, твоя концентрация на «здесь и сейчас» в решении своих задач это подтверждает - судьба индустрии тебя больше не волнует, тебя волнует, что придется переучиваться для зарабатывания на хлеб с маслом. Ну, как ты к ней, так и она у тебе, и удивляться не стоит.

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

Принципиальный вопрос вообще по графике в Юниксах: есть «иксы» с приложениями

В единственном дожившем до наших дней настоящем сертифицированном юниксе иксы используются только для запуска всякого legacy.

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

Reset, ...

... а где можно посмотреть на «настоящий сертифицированный юникс»? Точнее что Вы под этим подразумеваете? Перед ответом посмотрите кому принадлежат права на «UNIX» как слово.

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

Ой, правда?...

... а где это прямо и чётко сказано что макось есть «UNIX»? Кем проводилась сертификация? Или это Ваши домыслы и догадки?

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

geekless, ...

... да уже давно понятно что этим парням надо принять разупорин. Впрочем, это такой модный тренд современного айти-сообщества — быть немноо поттерингом... =)))

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

В единственном дожившем до наших дней настоящем сертифицированном юниксе
Mac OS X

повеселили :)

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

Невзирая на твой ник, известный анекдот применяется прямо противоположным образом.

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

Что там тебе не понравилось?

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

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

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

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

Читаю я твои посты и у меня 2 предположения:

* либо ты долбоящер эпической криворукости * либо просто неудачник

Потом что создать проблемы в местах, где оно работает со времён царя гороха - это надо постараться.

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

Константа прибита на гвозди через опцию компиляции. В лучших традициях гнома, лол.

if test x$enable_xwayland = xyes; then
  PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcursor cairo-xcb)
  AC_DEFINE([BUILD_XWAYLAND], [1], [Build the X server launcher])

  AC_ARG_WITH(xserver-path, AS_HELP_STRING([--with-xserver-path=PATH],
              [Path to X server]), [XSERVER_PATH="$withval"],
              [XSERVER_PATH="$bindir/Xorg"])
  AC_SUBST([XSERVER_PATH])
  if test x$enable_xwayland_test = xyes; then
    PKG_CHECK_MODULES([XWAYLAND_TEST], xcb xcb-dri2 libdrm)
  fi
fi

Ну хоть спасибо, что не прямо в сишный код засунута.

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

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

В разных секциях же!

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

Берем adsl, берем firefox, запускаем через сетевую «прозрачность» иксов, наблюдаем адово слайдшоу. Но оно «работает», ога.

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

А что вообще настройки эмулятора терминала забыли в конфиге композитного менеджера?

(Ну да, это по сути демка на данном этапе развития. Но это еще и будущий полноценный дисплейный сервер. Неужели сразу нельзя писать нормально, не коммитя говнокоды в релиз?)

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

И за что только тебе 5 звёзд дали?

То что ты описываешь - это своеобразный «дуалбут».

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