Назад | Перейти на главную страницу

Xinerama + композитинг

Я использую KUbuntu 9 и два монитора: CRT + DVI. TwinView от Nvidia работает нормально, но включение расширения Xinerama отключает композитинг в KDE.

Есть ли способ включить композитинг (эффекты рабочего стола) с помощью Xinerama? Почему это происходит?

Для компоновки требуются определенные графические расширения (чаще всего GLX), которые будут доступны на вашей видеокарте и включены на вашем X-сервере. Однако некоторые драйверы имеют одновременную поддержку технологий, которые управляют Xinerama и GLX - включение одного приводит к отключению другого.

Последние (GeForce 7 или около того и новее) карты Nvidia способны включение такой функции, если графические процессоры достаточно похоже. Если нет, официальный драйвер Nvidia отключит расширения GLX только на карте, которая не поддерживает Xinerama + GLX, а не отключит их на всех экранах. AFAIK, драйвер nv с открытым исходным кодом вообще не поддерживает Xinerama + GLX (или, если он поддерживает, на него распространяются те же ограничения, что и на официальный драйвер nvidia).

Если у вас нет абсолютно никакого способа заставить эти два нормально работать на вашем оборудовании, вы можете взглянуть на меса библиотека - это программный инструмент 3D-рендеринга, который заменяет аппаратный GLX и позволяет производить композитинг, хотя и с довольно большим падением производительности.

Вы, как правило не включите обычное расширение Xorg Xinerama при использовании TwinView, поскольку драйвер nVidia уже предоставляет расширение Xinerama, совместимое с TwinView.

От водителя ПРОЧТИ МЕНЯ:

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

Да. Драйвер NVIDIA X предоставляет расширение Xinerama, которое клиенты X (например, оконные менеджеры) могут использовать для обнаружения текущей конфигурации TwinView. Обратите внимание, что протокол Xinerama не предоставляет возможности уведомлять клиентов об изменении конфигурации, поэтому, если вы переключитесь на другой MetaMode, ваш оконный менеджер все равно будет думать, что у вас есть предыдущая конфигурация. Используя расширение Xinerama в сочетании с расширением XF86VidMode для получения событий переключения режимов, оконные менеджеры должны иметь возможность определять конфигурацию TwinView в любой момент времени.