This article needs additional citations for verification. (July 2011) |
Xinerama — это расширение X Window System , позволяющее приложениям X и оконным менеджерам использовать два или более физических дисплея как один большой виртуальный дисплей.
Разработанное под названием PanoramiX Маделин Т. Асмус из группы Unix X Server Engineering Group корпорации Digital Equipment , программное обеспечение было передано в The Open Group для X11 Release 6.4 (X11R6.4) и переименовано в Xinerama. Затем оно было включено в выпуск XFree86 4.0 в 1998 году и выпуск Solaris 7 11/99. По словам руководителя проекта X Server Роба Лембри, название было навеяно широкоэкранным театральным процессом Cinerama . «Мы были разочарованы тем, что у нас были большие машины Alpha с несколькими дисплеями, и мы не могли перемещать приложения с одного на другой. Оно было разработано как из-за разочарования, так и из-за конкурентного преимущества». Преимущества Xinerama включают в себя возможность разворачивать окна только до размеров активного физического дисплея и разрешать новые всплывающие окна на активном физическом дисплее.
Когда Xinerama включена на X-сервере, несколько X-экранов могут быть объединены в единое рабочее пространство. Эта унифицированная рабочая область позволяет переносить окна между X-экранами.
Расширение Xinerama предоставляет клиентам информацию о расположении видовых экранов в едином рабочем пространстве. Его информация о смещении и размере позволяет клиентам принимать разумные решения о размещении окон, максимизации окон и других событиях взаимодействия с пользователем.
Архитектура клиент/сервер X-сервера позволяет серверу предоставлять информацию Xinerama клиенту независимо от того, активна ли инфраструктура Xinerama. RandR и TwinView от NVidia используют эту функцию для предоставления оконным менеджерам и клиентам информации о выходной компоновке относительно кадрового буфера.
Xinerama требует, чтобы все физические экраны имели одинаковую битовую глубину. Например, 8-битный экран не может быть объединен с 16-битным экраном.
В некоторых [ каких? ] реализациях прямой рендеринг OpenGL работает только на одном экране. Окна, которые должны показывать 3D-графику на других экранах, как правило, выглядят черными, проблема, которая чаще всего встречается в 3D-хранителях экрана. Реализация OpenGL для Solaris SPARC и проприетарные драйверы Linux от ATI и nVidia поддерживают аппаратно-ускоренный рендеринг всех экранов в режиме Xinerama.
Физические экраны нельзя добавлять или удалять динамически, и нет возможности изменить разрешение экрана. Это особенно сложно для пользователей мобильных компьютеров, которые могут использовать внешний физический дисплей в дополнение к встроенному экрану компьютера, но только в определенных местах. В таких случаях рекомендуется использовать метод RandR или ATI или nVidia с одним графическим процессором. Отсутствие поддержки Xinerama для добавления или удаления экранов вызывает несколько проблем:
Эти проблемы связаны с реализацией Xinerama, а не с ее дизайном, и могут быть исправлены в ходе дальнейшей разработки.
Некоторые [1] оконные менеджеры и среды рабочего стола имеют ограниченную осведомленность об отдельных физических экранах в Xinerama, так что рабочий стол просто растягивается на физические экраны, а не организован как один большой рабочий стол. Оконный менеджер может поместить новое окно на неожиданный экран, что может сбивать с толку и раздражать. Тем не менее, Xinerama предлагает преимущество в том, что окна можно перемещать между экранами.
Физические дисплеи не обязательно должны иметь одинаковое разрешение, а виртуальная область отображения не обязательно прямоугольная, если физические дисплеи компонентов не имеют одинакового размера. Некоторые менеджеры окон предполагают прямоугольную область отображения и обеспечивают это, создавая избыточное «мертвое пространство» по краям дисплея. Менеджеру окон необходимо знать о Xinerama, чтобы не размещать новые окна в этом мертвом пространстве.
Асмус, Мадлен Т. (декабрь 1995 г.) « Расширение PanoramiX » THE X RESOURCE 16: Практический журнал системы X Window. стр. 59–73 ISBN 1-56592-166-6 .