Compiz ( / k ɒ m p ɪ z / ) — это композитный оконный менеджер для X Window System , использующий 3D-графическое оборудование для создания быстрых композитных эффектов рабочего стола для управления окнами. Эффекты, такие как анимация минимизации или рабочее пространство куба, реализованы в виде загружаемых плагинов. Поскольку он соответствует соглашениям ICCCM , Compiz можно использовать в качестве замены Mutter или Metacity по умолчанию при использовании панели GNOME или KWin в рабочих пространствах KDE Plasma . Внутренне Compiz использует библиотеку OpenGL в качестве интерфейса к графическому оборудованию.
Первоначально Compiz работал только с 3D-оборудованием, поддерживаемым Xgl . Известно, что большинство видеокарт NVIDIA и AMD работают с Compiz на Xgl. С 22 мая 2006 года Compiz работает на стандартном сервере X.Org , используя AIGLX . Помимо видеокарт Intel GMA , AIGLX также поддерживает использование видеокарт AMD (включая R300 и более новые карты) с использованием драйвера Radeon с открытым исходным кодом , который поддерживает GLX_EXT_texture_from_pixmap с осени 2006 года.
Двоичные драйверы NVIDIA (начиная с версии 1.0-9629 [2] ) поддерживают GLX_EXT_texture_from_pixmap на стандартном сервере X.Org; бинарные драйверы AMD поддерживают ее с версии 8.42. [ 3]
К началу 2000-х годов драйверы ATI и Nvidia стали все более распространенными на Linux . Расширенная разработка OpenGL больше не ограничивалась дорогими рабочими станциями UNIX . Примерно в то же время Xgl , Xegl и AIGLX дали Xorg возможность использовать OpenGL для преобразования и эффектов на поверхностях Windows.
Наконец, когда фундамент был готов, xcompmgr стал пионером в области функций композитного оконного менеджера .
Проект под названием Luminocity был начат некоторыми разработчиками GNOME с целью использования последних разработок. [4] В марте 2005 года проект Luminocity уже включал такие эффекты, как «шатающиеся окна», «физические модели для перемещения окон», «переключатель рабочего пространства с обновлением в реальном времени» и «альфа-композицию». [5]
Поскольку Luminocity был в основном прототипом, его разработка вскоре была прекращена, но некоторые из его эффектов и поведений были позже реализованы Compiz.
Первая версия Compiz была выпущена как свободное программное обеспечение Novell ( SUSE ) не позднее февраля 2006 года [6] вслед за (также новым) Xgl . Это был один из самых ранних композитных оконных менеджеров для X.
В марте 2006 года компания Red Hat перенесла Compiz на AIGLX . [7]
Beryl — название проекта для ответвления quinnstorm Compiz, анонсированного 19 сентября 2006 года после того, как разработчик Compiz Куинн Шторм и команда разработчиков решили, что форк зашёл слишком далеко от оригинального Compiz, начатого Novell ( compiz - vanilla ). После того, как команда Novell XGL/Compiz (в основном Дэвид Ревеман) отказалась от предложения объединить изменения Quinnstorm с compiz-vanilla, было принято решение провести настоящую дифференциацию. [8]
Среди отличий от Compiz следует отметить, что в Beryl появился новый декоратор окон Emerald на основе cgwd, а также менеджер тем emerald-theme-manager , использовался бэкэнд в виде плоского файла вместо gconf и не было зависимостей от GNOME .
30 марта 2007 года обсуждения между сообществами Beryl и Compiz привели к слиянию двух сообществ, в результате чего появились два новых пакета программного обеспечения:
Результаты включают планы по финансированию комиссии по проверке кода, состоящей из лучших разработчиков из каждого сообщества, которые будут следить за тем, чтобы любой код, включенный в пакет релиза, соответствовал самым высоким стандартам и подходил для распространения в официально поддерживаемом пакете. [10] [11] [12]
В четвертом квартале 2008 года были созданы две отдельные ветви Compiz: compiz++ и NOMAD ; compiz++ был ориентирован на разделение слоев композитинга и OpenGL для рендеринга оконного менеджера без эффектов композитинга и портирования с языка программирования C на C++ . [13] NOMAD был ориентирован на улучшение производительности удаленного рабочего стола для установок Compiz. [14]
2 февраля 2009 года состоялась телефонная конференция между разработчиками Compiz , Compiz++ , NOMAD и Compiz Fusion , на которой было принято решение объединить проекты в единый проект, названный просто Compiz, с единой дорожной картой. [15] [16] [17]
4 июля 2010 года Сэм Спилсбери, ведущий разработчик Compiz, объявил о выпуске Compiz 0.9.0 с новым API, переписанным на C++. [18]
Canonical Ltd. наняла Spilsbury для дальнейшей разработки Compiz для Ubuntu в октябре 2010 года. [19] С тех пор разработка Compiz в основном совпадает с разработкой Ubuntu. Основная разработка переместилась в сервис Canonical Launchpad . [20] Версии 0.9.x до 0.9.5 считались нестабильным/ бета-программным обеспечением . [21] Пока версия 0.9.6 находилась в разработке, Canonical наняла разработчика Дэниела ван Вугта для работы над Compiz на постоянной основе. Хотя версия 0.9.6 официально не выпускалась, [22] Compiz 0.9.7.0 был выпущен на месяц раньше корпоративной версии Ubuntu 12.04 LTS ( с долгосрочной поддержкой ) и объявлен стабильным. [23] За несколько дней до официального выпуска Ubuntu 12.04 была создана новая ветка разработки, 0.9.8, [24] в рамках подготовки к Ubuntu 12.10 . [25] Для версии Compiz 0.9.8 разработка перенесена на новую страницу Launchpad. [26]
В ноябре 2012 года Спилсбери объявил, что он покинул Canonical [27] и заявил, что у него нет планов портировать Compiz на Wayland . Небольшая команда продолжает работать над Compiz, и по состоянию на июль 2016 года в центре внимания находится версия 0.9.13. [28]
Группа [29] разделила кодовую базу серии Compiz 0.8, модернизировала ее и поддерживает по состоянию на 2019 год. [30]
Почти все доступные функции Compiz, за исключением полупрозрачности, затемнения и обесцвечивания, реализуются с помощью плагинов.
Плагины Compiz включают кубический эффект, переключение приложений Alt-Tab с предпросмотром в реальном времени или значками, а также функцию, похожую на Mission Control в macOS . Используется расширение Composite для X, а также расширение OpenGL GLX_EXT_texture_from_pixmap . [31]
Проект Compiz классифицирует плагины на четыре основные группы: основные, [32] дополнительные, [33] неподдерживаемые, [34] и экспериментальные. [35]
Менеджеры окон используют программу, называемую декоратором окон , чтобы обеспечить границы окон обычными кнопками минимизации, максимизации и закрытия. В отличие от многих менеджеров окон, которые имеют только один декоратор окон, пользователи Compiz могут выбирать из трех:
Compiz или Beryl обычно развертываются на Linux и других Unix-подобных платформах на базе X11 вместе с GNOME 2 и KDE 3. Однако, начиная с версии 4.2, собственный KWin от KDE поставляется с возможностями, аналогичными Compiz. [37] Поэтому Compiz обычно не развертывается с последними версиями Plasma Workspaces .
GNOME версии 3.0 использует GNOME Shell , который создан как плагин для оконного менеджера Mutter . [38] Это означает, что Compiz нельзя использовать вместе с GNOME Shell. [39]
Ссылаясь на отсутствие поддержки со стороны разработчиков Compiz, Fedora удалила Compiz из репозиториев Fedora, начиная с Fedora 17; [40] [41] однако Compiz был восстановлен в репозиториях Fedora, начиная с Fedora 18. [42] Официальная сборка MATE , включающая Compiz, доступна с Fedora 19. [43] [44]
Compiz был исключен из репозиториев Debian , начиная с Debian 7 (Wheezy) в августе 2013 года из-за неисправных пакетов и отсутствия разработки со стороны разработчиков Compiz. [45] [46] [47] Compiz был повторно представлен в Debian в декабре 2016 года командой Hypra.fr. [48]
Compiz был исключён из репозиториев Arch Linux в мае 2013 года. [49] Compiz по-прежнему можно установить из пакетов, доступных в пользовательском репозитории Arch .
Ubuntu 6.06 LTS и более поздние версии включали Compiz в репозиторий universe . Ограниченная версия была включена по умолчанию как «Desktop Effects» в Ubuntu 7.04. Начиная с Ubuntu 7.10, Compiz был включен по умолчанию. [50] В 2010 году Canonical выпустили свой интерфейс Unity , который написан как плагин для Compiz. [51] [52]
Ранние обзоры Compiz были в основном благоприятными, хвалили его производительность, [53] красоту [54] и новизну. [55] Он был включен в репозитории Ubuntu 6.06 для упрощения установки и, по состоянию на 2021 год, это был единственный случай, когда выпуск Ubuntu был отложен.
Другие проекты, такие как Metisse и Project Looking Glass, были разработаны примерно в то же время, но ни один из них не стал таким известным или широко распространенным, как Compiz. Другие оконные менеджеры, такие как GNOME Shell и KWin, позже также реализовали эффекты композитинга. Внешний вид и поведение Windows частично имитировали самый популярный внешний вид и поведение Compiz в следующем большом выпуске ( Vista ).
Разработка Wayland около 2010 года объединила функции композитора и графического сервера в одной программе, что в конечном итоге привело к устареванию отдельных оконных менеджеров и композиторов. Дистрибутивы, которые все еще включали его по умолчанию, обычно включали только несколько полезных плагинов и отключали более «шикарные». Кроме того, дистрибутивы все чаще стали включать KDE и GNOME в свои оконные менеджеры по умолчанию. Последней версией Ubuntu, включавшей Compiz для реализации своего менеджера рабочего стола Unity, была Ubuntu 16.04 . После этого ее разработка в основном застопорилась.
…Меня также наняла Canonical Ltd.…
стабильная версия Compiz — 0.8.8. Переписывание C++ было анонсировано 24 декабря 2009 г. и теперь выпущено как бета-версия (0.9.5.x).
Сегодня был мой последний день в Canonical.
gnome-shell настроен как плагин Mutter, который в основном написан на JavaScript
Версия Unity, которая выйдет в 11.04, определенно реализована как плагин(ы) в Compiz.