Стоит ли использовать композитный менеджер и какой выбрать?
xcompmgr и compton не предлагать, с ними были проблемы.
Kwin же. Проблем с ним нет.
А других и нет. Только cairo-compmgr, но он намного хуже этих двух.
А что за проблемы с compton?
Возьми компиз и прикрути сбоку тайлинг.
При воспроизведении видео сильные тормоза и большая загрузка процессора.
При воспроизведении видео сильные тормоза и большая загрузка процессора.
Проблема не с комптоном, очевидно же.
А лучше него — нет.
Проблема не с комптоном, очевидно же.
Проблема была именно с комптоном. Когда я его отключил, всё стало нормально.
cairo-compmgr есть ещё.
это убогое поделие.
Стоит ли использовать композитный менеджер?
А для чего он нужен?
Попробуй Compiz Fusion и Metisse.
Чем он лучше компиза?
В awesome, мне кажется, композитный менеджер не нужен, другое дело в *box’ах.
Например, чтобы включить прозрачность в conky.
А выбора то у тебя тогда и не остаётся никакого. Всё остальное — композитные WM’ы, которые, собственно, будут _вместо_ осома, а не вместо с ним. Тогда уже к ним как-то пытаться прикручивать тайлинг.
И неизвестно ещё, что прощё, устроить вменяемый тайлинг в мышевозном вм’е, или поставить нормальные драйвера для видео:)
Псевдопрозрачность в conky и без композита прекрасно работает, Когда через них обоина просвечивает. А это покрывает 99% случаев использования conky, когда они просто лежат себе на рабочем столе, не перекрывая никакие окна.
При воспроизведении видео сильные тормоза и большая загрузка процессора.
Проблема была именно с комптоном. Когда я его отключил, всё стало нормально.
Какая видеокарта? У меня такая же фигня была с xcompmgr. Кроме видео, ещё и OpenGL тормозил. Как я понял, композит монопольно занимает аппаратный ускоритель видяхи, и видео ничего не остаётся, как раскодироваться софтово. Кстати, то же самое происходит и при запуске двух видеоплейеров одновременно. Видеокарта intel. На композит забил.
Источник
Window manager (Русский)
Оконный менеджер (WM) — программа, которая управляет отображением окон в оконной системе графического интерфейса пользователя (GUI). Он может являться частью среды рабочего стола или работать отдельно.
Оконные менедежры есть только в Xorg. Эквивалент оконных менеджеров в Wayland называется композиторы, потому что они также работают как композитные менеджеры окон.
Contents
Обзор
Оконные менеджеры работают в роли клиентов оконной системы X, которые управляют внешним видом и поведением прямоугольных фреймов («окон»), где отображаются элементы интерфейса графических программ. Они добавляют фрейму рамку, панель заголовка, возможность изменять его размер и т. д., а также часто предоставляют дополнительную функциональность — например, создают специальные области на экране для «приклеивания» виджетов (dockapps), как Window Maker, или позволяют объединить несколько приложений в одном окне, переключаясь между ними с помощью вкладок, как Fluxbox. Некоторые оконные менеджеры даже включают в свой набор простые утилиты вроде меню запуска программ или графического инструмента для настройки самого менеджера.
Спецификация Extended Window Manager Hints от X Desktop Group создана и используется для того, чтобы позволить разным оконным менеджерам единообразно взаимодействовать с сервером X и другими клиентами.
Некоторые оконные менеджеры разрабатываются в рамках более крупных проектов сред рабочего стола, и, как правило, они теснее интегрируются в среду, создавая более полноценное рабочее окружение, дополненное значками рабочего стола, шрифтами, разнообразными панелями, нескучными обоями и виджетами рабочего стола.
Другие оконные менеджеры предназначены для независимого использования, что даёт пользователю полную свободу выбора других приложений, которые будут использоваться. Это позволяет пользователю создавать более легкую и настраиваемую среду, адаптированную для их собственных нужд. «Дополнения» (значки, панели и т.п.) при необходимости добавляются сторонними приложениями.
Некоторые независимые оконные менеджеры можно использовать для замены стандартного оконного менеджера в среде рабочего стола; аналогично, некоторые DE-ориентированные оконные менеджеры можно использовать независимо.
Перед установкой оконного менеджера необходимо установить и настроить сервер X. Подробную информацию вы сможете получить на странице Xorg.
- Стековые (также плавающие) оконные менеджеры следуют традиционной метафоре рабочего стола, которая используется в коммерческих операционных системах вроде Windows и macOS. Окна отображаются подобно листкам бумаги на столе, накладываясь и перекрывая друг друга. Список статей о стековых оконных менеджерах смотрите на странице стековые оконные менеджеры.
- Фреймовые (тайловые) оконные менеджеры располагают окна на экране в виде плиток (фреймов) так, что они не перекрывают друг друга. Как правило, фреймовые оконные менеджеры подразумевают активное использование клавиатуры для управления окнами, и имеют слабую поддержку мыши (либо не имеют ее вовсе). Фреймовые оконные менеджеры могут предлагать набор стандартных расположений фреймов или позволять задавать их вручную. Список статей о фреймовых оконных менеджерах смотрите на странице фреймовые оконные менеджеры.
- Динамические оконные менеджеры позволяют динамически переключаться между двумя режимами — стековым и фреймовым. Список статей о динамических оконных менеджерах смотрите на странице динамические оконные менеджеры.
Сравнение популярных оконных менеджеров вы можете найти на страницах Сравнение тайловых оконных менеджеров и Wikipedia:Comparison of X window managers.
Источник
Зачем нужны композитные оконные менеджеры?
Есть ли в них какая-нибудь реальная польза или это просто гламурная свистоперделка? Просто непонятно, зачем их пихают в большинство дистрибутивов?
это просто гламурная свистоперделка
Есть ли в них какая-нибудь реальная польза
Эм. сравнить производительность открытых и закрытых драйверов для видео карт?
зачем их пихают в большинство дистрибутивов?
Хотят перетянуть пользователей с Win и Os-X где эти эфекты уже 10 лет(или больше) выбешивают появляются при каждом клике.
В отличие от ранних оконных менеджеров, которые делали каждую индивидуальную программу ответственной за предоставление своего окна непосредственно в кадровом буфере, композитный менеджер обеспечивает приложениям вне экрана буфер памяти окна и композитов окна в изображение, представляющее экран и пишет результат в кадровом буфере.
Свистеть, пердеть, падать.
А они и ненужны.
Нужен обычный оконный менеджер + compton.
Это гламурная свистулька, однако я выбираю именно ее, потому что с ней приятнее работать. А суровые джедаи используют фреймбуфер, да.
Там из коробки когда мышкой область раб.стола выделяешь появляется прикольный синий (у compiz) квадратик
Провоцирует красноглазие. Я больше получаса еще никогда не выдерживал с прозрачностью и анимированным раскрытием окнами/меню.
Никакой полезной функции они не несут, но с тенями окна выглядят и вправду приятнее глазу (даже не смотря на темный фон — нет режущей глаза резкости от окна консоли к фону стола), и я бы оставил xcompmgr только ради теней, но, к сожалению оно жрет процессор. Заметно так жрет, поэтому не нужно.
А эффекты можно прикрутить всякие, как например
Прозрачное окно при перемещении или изменении размера
Источник
Блог начинающего линуксоида.
советы, руководства, инструкции.
Страницы
пятница, 19 августа 2016 г.
Подробный обзор оконных менеджеров в популярных графических окружениях
Приветствую! Копаясь в черновиках, я обнаружил старую заготовку для статьи, которую собирался написать несколько месяцев назад. К сожалению жизненные (и не только) обстоятельства не позволили это сделать вовремя. Но сейчас я наконец нашёл время, и сегодня мы поговорим о нескольких оконных менеджерах в популярных графических окружениях для Linux. Я подробно рассмотрю функции оконного менеджера, функционал, напишу о так называемых композитных оконных менеджерах и так далее. Надеюсь будет интересно всем. Начнём.
Оконный менеджер — это программа, которая управляет окнами приложений в системе. А именно: осуществляет позиционирование окон на экране, отвечает за изменение их размера, фокусировку и прочее. При этом оконный менеджер работает поверх существующей оконной системы. В простейшем случае, оконный менеджер просто управляет окнами и взаимодействием с ним оборудования ввода, и не делает с ними ничего другого. При этом нагрузка за отрисовку ложится на центральный процессор (так называемая программная отрисовка). Некоторые оконные менеджеры, помимо управления окном, могут отрисовывать тени на его гранях, добавлять различные анимации, плавности, полупрозрачности и так далее. В этом случае, оконный менеджер является композитным. Одной из важнейших (но необязательных) функций композитного оконного менеджера является задействование для отрисовки окна возможностей видеокарты, как правило посредством OpenGL. Тем самым увеличивая качество отрисовки и значительно снижая нагрузку на центральный процессор. Функционал композитного менеджера может быть как встроенным в оконный менеджер, так и являться отдельной программой. Часто отрисовку окна через композитный оконный менеджер называют просто — композитингом. Если вы хорошо знакомы с Windows, то вот пример из Windows 7: когда в ней отключены эффекты Aero, отрисовка ведётся силами центрального процессора. Нагрузка на видеокарту меньше, однако при воспроизведении видео на экране появляются артефакты, известные как тиринг (когда кадры меняются слишком быстро и посередине видно прозрачную мерцающую полосу).
Когда эффекты Aero включены — отрисовка ведётся силами видеокарты. Что становится очевидным, так как появляются анимации появления и сворачивания окна, полупрозрачности и так далее.
Однако, композитинг имеет и обратную сторону. При отрисовке рабочего стола силами видеокарты, частота кадров в секунду синхронизируется с частотой монитора (как правило 60 кадров в секунду, что соответствует стандартным 60 герцовым мониторам), поэтому в играх частота будет несколько ниже, так как будет идти двойная синхронизация кадра. В тяжёлых случаях — производительность игры может упасть вдвое. Поэтому часто можно встретить рекомендации отключать графические эффекты при запуске игр (к примеру выключать тот же Aero в Windows 7). Вернёмся непосредственно к Линуксу. В данный момент доминирующей графической подсистемой в Линуксе является Xorg (иксы). И работа оконного менеджера в ней точно такая, какой я описал её выше. При этом функционал композитинга не был изначально в Xorg, и его реализовали значительно позже, потому композитный менеджер работает там как-бы сбоку. В общем случае, получается весьма толстый бутерброд различных слоёв, через который происходит отрисовка картинки.
В большинстве случаев для пользователя это не важно. Но вот в играх это даёт ощутимые ограничения. Сейчас же на смену Xorg идут две графические подсистемы — Wayland и Mir. Первый не привязан к какому-либо дистрибутиву или графической оболочке, в то время как второй разрабатывается для Ubuntu и её графической оболочки Unity, и уже работает в мобильной редакции Ubuntu. О Mir поговорим в отдельной статье. Что же касается Wayland — в нём отсутствуют привычные понятия оконного и композитного менеджера. В нём есть только композитор, который и производит все операции над окнами, без лишних прослоек. Отрисовка приложения при этом ложится на программный инструмент (тулкит), на котором оно написано. Например Qt, или GTK. Это так называемая отрисовка на стороне клиента. В случае же если отрисовка окна идёт непосредственно в Wayland-композиторе, то это называется отрисовкой на стороне сервера. В случае отрисовки на стороне клиента, заголовок окна приложения, его внешний вид и прочее целиком ложится на разработчика приложения. В результате может случиться так называемый «эффект Windows»: если в приложение не заложен функционал изменения размера окна, то окно приложения будет всегда фиксированного размера. Пример окна с декорацией заголовка на стороне клиента (обратите внимание на кнопки управления приложением в заголовке окна):
Этот функционал реализован в GNOME. В KDE же используется отрисовка на стороне сервера, в результате все окна будут иметь одинаковый заголовок и легко меняться в размере:
Кстати, если запустить приложение с CSD (Client-Side Decorations) в оконном менеджере, не поддерживающем отрисовку на стороне клиента — приложение получит два заголовка:
CSD кстати говоря, оказался довольно удачным решением. Настолько удачным, что его взяла к себе сама Apple:
Wayland уже работает в автомобильных ОС, в мобильных операционках Tizen и SailfishOS, и много где ещё. Философия Wayland — «Каждый выводимый кадр должен быть идеальным». И это действительно так. Отрисовка в Wayland по качеству превосходит таковую в Xorg (к примеру в Wayland в принципе невозможен тиринг), плюс ко всему — в Wayland сильно затруднено создание кейлоггеров (перехватчиков клавиатурных нажатий), что положительно сказывается на безопасности. Однако Wayland пока не поддерживается фирменными проприетарными драйверами Nvidia и AMD, что сильно затрудняет его введение по умолчанию в дистрибутивах Linux. К вопросу поддержки его Линуксовыми графическими оболочками мы вернёмся чуть позже. Говорить на эту тему можно очень долго, потому предлагаю перейти непосредственно к обзору оконных менеджеров в популярных графических окружениях в Linux.
Metacity — оконный менеджер ныне покойной графической среды GNOME 2. Пришёл на замену использовавшимся там Sawfish и Enlightenment. Отличается весьма скромным потреблением ресурсов. Поддерживает простой программный композитинг (отбрасываемые тени, прозрачности, предпросмотр окон). Изначально был написан на GTK+ 2, позже был переписан на GTK+ 3, что сделало возможным его использование в GNOME 3.0-3.8. В настоящее время является частью проекта GNOME Flashback, ипользуется в графической среде Cinnamon для запуска на оборудовании, не поддерживающим аппаратное ускорение графики, а также поставляется в качестве опции в Linux Mint MATE и UbuntuMATE.
Mutter — дальнейшее развитие Metacity для GNOME 3. Mutter является полностью композитным менеджером, для отрисовки 2D задействует высокопроизводительную библиотеку векторной графики Cairo, а для отрисовки 3D — Clutter, который использует для ускорения OpenGL. Работа оболочки GNOME Shell реализована в виде плагина для Mutter, в результате чего задействуются все возможности этого оконного менеджера во всём функционале GNOME 3. Начиная с GNOME 3.10, работа среды без Mutter невозможна. Mutter также является оконным менджером с наиболее полной и законченной поддержкой Wayland, отрисовка ведётся на стороне клиента (клиентом выступает библиотека GTK+ 3). Функциональность Mutter может расширяться с помощью плагинов. Mutter нельзя назвать легковесным оконным менеджером, и он абсолютно не годится для старого и слабого оборудования.
Muffin — форк Mutter от разработчиков графического окружения Cinnamon. Разрабатывается командой разработчиков Linux Mint. Muffin унаследовал многие функции Mutter, для отрисовки также задействует Cairo и Clutter. Однако не имеет поддержки Wayland (разработчики пока не считают его готовым для применения), а также абстрагируется от возможностей GTK+ (если релизы Mutter привязаны к релизам GTK+, то Muffin может собираться с любой версией GTK+, не ниже минимально поддерживаемой). В отличии от Mutter, Muffin почти вдвое меньше потребляет оперативной памяти, а также меньше нагружает видеоподсистему, что делает применение Cinnamon идеальным для бюджетных ноутбуков. Функционал также расширяем за счёт плагинов.
Marco — форк Metacity от разработчиков графического окружения MATE. Использует те же принципы отрисовки окон, программный композитинг и так далее. Может быть заменён на Metacity или Compiz.
Compiz — один из первых полностью композитных оконных менеджеров с большим функционалом и поддержкой расширений. Первоначально, Compiz работал только с 3D аппаратурой поддерживаемой Xgl: большей частью видеокарт NVIDIA и ATI. Но с 22 мая 2006 года Compiz стал работать на стандартном X.org Server используя AIGLX. Кроме видеокарт Intel GMA, AIGLX поддерживает видеокарты AMD (начиная с R300) при использовании открытых драйверов. Знаменит Кубом рабочих столов, и прочими плагинами-украшалками. В паре с декоратором окон Emerald, в своё время, являлся наиболее популярным способом показать графические возможности Linux (очень многие эффекты, создаваемые им, были не доступны в других операционных системах того времени, а некоторые были скопированы именно из Compiz). Compiz может применяться как полностью самостоятельный оконный менеджер, отрисовка полностью аппаратная, посредством OpenGL. Оконные менеджеры Metacity, Marco и Xfwm4 очень часто заменяются на Compiz, в первую очередь — для избавления от тиринга. В настоящее время, официальная разработка Compiz закрыта. Ветка 0.8 поддерживается энтузиастами, а 0.9 — разработчиками Ubuntu, для графической оболочки Unity 7, которая как и GNOME Shell для Mutter, является плагином для Compiz. Также Compiz поставляется как опция в Linux Mint MATE и UbuntuMATE.
Xfwm4 — стандартный оконный менеджер графической среды Xfce. С версии 4.2 обзавёлся программным композитингом. Данный оконный менеджер весьма легковесный, простой и может применяться не только в Xfce, но и, например, в MATE. В настоящее время разработчики портируют его на GTK+ 3, а также реализуют поддержку отрисовки через OpenGL. Может быть заменён на Compiz, Metacity или Marco.
Kwin — один из самых полнофункциональных, стабильных и гибких оконных менеджеров в Linux. Является стандартным для графической среды KDE. Начиная с KDE 4, стал полностью композитным, поддерживает многие эффекты из Compiz, может задействовать для отрисовки OpenGL 2.0, 3.1, OpenGL ES или отрисовку через расширение Xrender, способен блокироваться полноэкранным приложением (например игрой, увеличивая тем самым производительность), имеет широкие возможности настройки эффектов, анимации, а с версии 5 — имеет поддержку Wayland, отрисовки через расширения EGL (вместо стандартного интерфейса GLX), и многое другое. В KDE 4 может быть без проблем заменён на Compiz. Kwin написан на Qt, и задействует многие возможности этого фреймворка. Но если GNOME практически прибит гвоздями к GTK+ 3, разработчики которого всё время ломают его API с новыми релизами, то в Qt ситуация во много раз лучше, и выпуски KDE не привязаны жёстко к выпускам Qt. В аварийных ситуациях, Kwin показывает потрясающую стабильность — он будет автоматически переключать режимы отрисовки, в случае проблем с видеодрайвером, будет перезапускаться, но не прекратит отрисовку. Также Kwin, при всём своём функционале, весьма легковесен (в сравнении с Mutter и отчасти Muffin), что делает его пригодным к применению на слабых ноутбуках, нетбуках и подобном.
Compton — композитный менеджер, форк Xcompmgr. Не является оконным менеджером, а просто дополняет существующий функционалом композитного. Часто применяется в паре с Openbox, Metacity и Marco. Эффектами не богат, но наиболее популярные, такие как прозрачности, тени, анимации, плавные переходы и, конечно же, отрисовка через OpenGL, реализованы в полной мере. Также поставляется как опция в Linux Mint MATE и UbuntuMATE.
Openbox — популярный суперлегковесный оконный менеджер. Не имеет в себе функционала композитного, даже программно. Является стандартным оконным менеджером в окружениях LXDE и LXQt. Может быть заменён на любой другой, как и использоваться для замены во многих окружениях, например MATE и Xfce.
Разумеется это далеко не все доступный в Linux оконные менеджеры. И в будущем я напишу как создать своё собственное графическое окружение из разных компонентов. Некого монстра Франкенштейна, сшитого из разных кусков 🙂 Если есть пожелания — пишите в комментариях.
Источник