LINUX.ORG.RU

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

 ,


35

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)
Ответ на: комментарий от Reset

fvwm работает только с окнами, он никак не решает проблем с запуском программ, с подключением устройств и сменных носителей,

У вас проблемы с запуском программ? Хотите об этом поговорить?

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

Тебе кажется. Всегда есть размен памяти на скорость.

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

Ответственно заявляю, что ваш бред не имеет с реальностью ничего общего и WM нужен для удобного управления окнами.

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

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

Это ужасающе неудобно. Именно поэтому в висте сделали меню с поиском и частыми программами, в убунте dash с «линзами», в восьмерке аналогично.

«Частые программы» — это издевательство на человеками. Каждый раз приходится этот список «частых программ» сознательно прочитывать, прежде чем запускать эту самую «частую программу».

dash действительно может сойти за инновацию, только вот обычный терминал с любым по вкусу командным интерпретатором этот поиск уделывает. Безусловно не каждый сферический в вакууме пользователь полезет в терминал, но он и в dash не полезет.

У меня _уже_ настроено как мне удобно.

Когда восьмёрочку максимальную устанавливал неужели ничего из настроек не поехало? Или ты себя заранее убедил, что всё так и должно быть?

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

отличие от тебя
сижу в линуксе @ огребаю проблемы

Иначе никак?

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

Эээ, а как таки на счёт сетевой прозрачности и fvwm? Тиринг меня слабо волнует — прямо не знаю почему.

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

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

Графический сервер не управляет окнами и запускает профессиональные инструменты. DE тоже не управляет окнами и не запускает профессиональные инструменты. О чём разговор?

Не, не, не Дэвид Блейн.

А постеров с Девидом Блейном у тебя дома нет? Ты так часто его на лоре упоминаешь, что у меня возникают смутные подозрения...

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

Эээ, а как таки на счёт сетевой прозрачности и fvwm?

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

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

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

После пары дней работы он статичен и прочитывать ничего не нужно.

с любым по вкусу командным интерпретатором этот поиск уделывает.

Терминал уже может искать программы, документы, пункты меню, делать поиск в интернете ... ? Если нет, то не уделывает ни разу.

Когда восьмёрочку максимальную устанавливал неужели ничего из настроек не поехало?

А чего должно было поехать при установки с нуля?

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

Без костылей? Прямо из коробки? Со всякими шифрованиями и прочим? Встраивание в уже имеющееся окружение?

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

Интересно, что за работа такая, которая заключается в управлении окнами? У меня месяцами одинаковые приложения (окна) запущены, всё в полном экране. Максимум что делаю это перемещаю их с монитора на монитор :)

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

После пары дней работы он статичен и прочитывать ничего не нужно.

А как там с переходом на другой компьютер? Или работаем принципиально за одним окошком? Ну и почему нельзя сразу же забить нужный список, а не ждать каждый раз пары дней?

Терминал уже может искать программы, документы, пункты меню, делать поиск в интернете ... ? Если нет, то не уделывает ни разу.

Программы очевидно умеет. Документы тоже. Про пункты меню немного не понял. Пункты меню где? Ну и в интернете через dash? IMHO это просто вредно.

А чего должно было поехать при установки с нуля?

То есть на переноски настроек официально было забито?

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

RDP — ога. Совершенно лишняя сущность. Ой, только не говорите мне, что от добавления дополнительной прослойки мне будет удобнее жить.

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

А как там с переходом на другой компьютер?

А почему за другим компьютером _вдруг_ должен оказаться настроенный fvwm?

Ну и почему нельзя сразу же забить нужный список

В восьмерке можно :)

Программы очевидно умеет.

Очевидно, нет. _Команда_ запуска почти всегда отличается от _названия_ программы.

Документы тоже.

Нет

Пункты меню где?

В запущенной программе.

Ну и в интернете через dash?

Через отдельную линзу, почему бы нет?

IMHO это просто вредно.

почему?

То есть на переноски настроек официально было забито?

Каких настроек? Моя настройка заключается в приведении панели «как в висте» это делается парой кликов. Всякие извраты с запуском приложения Y на десктопе 1337 в координатах x,y,w,h мне нафиг не нужно. Да, емакс у меня тоже работает, конфигурируется как ни странно тоже копированием файлика :)

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

Давайте не будем придумывать что мне не нужно.

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

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

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

Самый цимес в том, что обсуждая софт экосистемы линукса, старпёры... да вообще все дрочат именно на пресловутое «что его велосипед значительно быстрее»

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

X11 замечательно работает без этой дополнительной сущности — экспериментальный факт. Давайте не будем повторять всякого рода враки.

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

повторное использование кода

Почему этот код гвоздями прибит гуевой части.. так не должно быть, независимо от того кде это, или гном. Я уже приводил пример, что activerecord не прибит к rails, activesupport не прибит к rails, и т.д. Здесь же явно какая-то нездоровая ситуация.

он ведь не входит в семейство kde

И чем это плохо?

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

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

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

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

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

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

Работает старьё хорошо? Чего вопить по поводу появления новых вещей, особенно если умные люди, в случае чего, запилят новый дистр?

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

У меня месяцами одинаковые приложения (окна) запущены, всё в полном экране.

«Я знаю эту девочку. Она до сих пор бегает в каске и максимизирует все окна, до которых дотянется».

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

Где это будет в вейланде?

Где-где... В винде!

Прастому пользывателю эта ни нада.

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

А почему за другим компьютером _вдруг_ должен оказаться настроенный fvwm?

А потому что для работы за другим компьютером внезапно я завожусь как отдельный пользователь и внезапно я просто копирую config и внезапно всё оказывается настроенным.

В восьмерке можно :)

Тогда почему же пресловутые два дня «терпежа»? Тот же Раскин пальцем тыкал в недопустимость динамического изменения меню.

Очевидно, нет. _Команда_ запуска почти всегда отличается от _названия_ программы.

Да ладно. То есть ищут фeрефокс? И что находят?

Нет

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

В запущенной программе.

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

почему?

Вы вот так готовы без опаски открыть любой документ, который вытащите из сети? А что если ваш штатный антивирус вышел покурить? Кстати, как он ресурсов не еcт?

Каких настроек? Моя настройка заключается в приведении панели «как в висте» это делается парой кликов

То есть вас уже приучили к «истинному интерфейсу»? Забавно наблюдать индивидов которых нагибают под нужды компьютера.

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

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

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

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

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

Вот это меня и восхищает: а давайте всё, что сломаем, будем считать не недостатками, достоинствами. Круто, чо.

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

А потому что для работы за другим компьютером внезапно я завожусь как отдельный пользователь и внезапно я просто копирую config и внезапно всё

Если так парит, то сделай экспорт/импорт ветви реестра.

То есть ищут фeрефокс? И что находят?

Найди мне «Табличный процессор»

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

То есть вместо того, чтобы написать «табличный»->enter ты вынуждаешь делать find и locate ? Молодец, чё.

До чего же люди любят создавать проблемы, а затем их героически решать.

Ога, первыми эту проблему создали и решили разрабы emacs'а.

Вы вот так готовы без опаски открыть любой документ, который вытащите из сети?

А в браузере нет опаски открыть документ?

То есть вас уже приучили к «истинному интерфейсу»? Забавно наблюдать индивидов которых нагибают под нужды компьютера.

А в чем заключается «инвалидность» и «неистинность»? Только не надо очередной раз нести красноглазый бред про то, что это сделано в микрософт и поэтому автоматически «неистинно» и «криво».

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

Не придираюсь, такое решение действительно мягко говоря не оч. Но видятся следующие возможные ситуации:
1. Тулкит не поддерживает высокий dpi и не знает про масштабирование (например, это wayland-клиент старой версии). Для такого клиента выполняется масштабирование с определенным коэффициентом (автодетектится или задается в конфиге).
2. Тулкит не поддерживает высокий dpi, но знает про масштабирование. Он говорит композитору, с каким масштабом его отрисовать на экране.
3. Тулкит поддерживает высокий dpi и рисует себя с учетом конкретного dpi. Масштабирование ему не нужно.

Если я не сильно путаю (поправь, если не так), то дело остается за тулкитами, использующими (или не использующими) возможности масштабирования

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

Почему этот код гвоздями прибит гуевой части

потому что это часть DE, цель которого предоставить юзерам целостный взаимноинтегрированный workspace

И чем это плохо?

ничем. это просто объясняет отсутствие завязки на kde.

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

Работает старьё хорошо? Чего вопить по поводу появления новых вещей, особенно если умные люди, в случае чего, запилят новый дистр?

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

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

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

Прокси и для Xов есть вообще-то — я как-то раз даже попробовал. Но я тебя понимаю — тяжела жизнь с плохим интернетом и с отсутствием альтернативы.

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

Вот это меня и восхищает: а давайте всё, что сломаем, будем считать не недостатками, достоинствами. Круто, чо.

Что сломали-то? Старые проекты не трогают - пилят новые.

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

O'k, модифицирую утверждение: а давайте всё, чего у нас нет, будем считать не недостатками, достоинствами. Круто, чо.

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

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

А люди не опасаются, что свободный софт сдохнет, так как мало приносит денег/ надоела благотворительность?

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

Евгений тут про Emacs/fwvm. Какие тулкиты?

anonymous
()

bla-bla-bla

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

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

Нет, пусть решения тянут либы с четким функционалом, ибо UNIXWAY. Дабы не было более кде, гнома, X, systemd... В руби как раз так.

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

Ты редкостный дурак. Специально было сделано модульным до чего дотянулись, а не костыльным, для того что бы прокси втыкать куда хочется. И эти любители вяленого вместо разламывания всего и вся могли уже nx туда втащить - открытый пяток лет назад. Перетащить отрисовку примитивов из гтк-кутешной дряни на уровень иксов. Не, они ппосто всё разломали и сказали так жить нельзя.

Очень сильно желаю что бы наконец все побежали на хтмл5 пилить весь софт. Тогда все эти тулкиты улетят в трубу вместе с вяленым. И будет простой вебкит поверх какого-нибудь директфб.

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

Гхмм, живёт вообще-то. Я же не сказал, что пользуюсь — я просто проверял работоспособность. А тебя я понимаю — тяжело ходить исключительно на костылях.

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