Перевод документации драйвера NVIDIA для Linux, часть 6
Глава 15. Организация нескольких экранов Х-интерфейса на одной видеокарте
Графические процессоры с поддержкой TwinView (см. Главу 13) также могут быть настроены на использование каждого дисплея как отдельного экрана Х-интерфейса.
Хотя такой способ использования мультимониторности несколько проигрывает по сравнению с TwinView (например, окна не могут перетаскиваться между экранами, приложения OpenGL с аппаратным ускорением не могут быть развернуты на оба экрана), имеются и некоторые преимущества над TwinView:
- если на каждый дисплей выводится свой экран Х-интерфейса, то характеристики изображения, могущие быть различными для экранов Х-интерфейса, могут различаться и для дисплеев (глубина цвета, размер корневого окна и т.д.);
- возможности оборудования, могущие быть использованными только на одном дисплее в один момент времени (видеоналожения, аппаратные RGB наложения), и недоступные в целом в режиме TwinView, могут быть использованы на первом экране Х-интерфейса, когда каждый дисплей имеет свой экран Х-интерфейса;
- TwinView является недавно появившейся технологией, исторически в Х-интерфейсе использовалось по отдельному экрану для каждого дисплея.
Для создания двух экранов Х-интерфейса на одной видеокарте, необходимо выполнить следующую последовательность действий:
Во-первых, создать две отдельных секции Device, каждая перечисляющая идентификатор шины BusID используемой совместно видеокарты, и драйвер как "nvidia", и настроить в каждой секции свой экран:
Section "Device"
Identifier "nvidia0"
Driver "nvidia"
# введите идентификатор BusID, описывающий размещение видеокарты
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Device"
Identifier "nvidia1"
Driver "nvidia"
# введите идентификатор BusID, описывающий размещение видеокарты
BusId "PCI:2:0:0"
Screen 1
EndSection
Затем, создайте две секции Screen, используя в каждой идентификатор одной из секций Device:
Section "Screen"
Identifier "Screen0"
Device "nvidia0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
EndSection
Section "Screen"
Identifier "Screen1"
Device "nvidia1"
Monitor "Monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
EndSection
(Учтите, что вам понадобится также создать вторую секцию Monitor).
В конце, измените секцию ServerLayout для использования и взаимного позиционирования обоих секций Screen:
Section "ServerLayout"
...
Screen 0 "Screen0"
Screen 1 "Screen1" leftOf "Screen0"
...
EndSection
За дополнительной информацией обратитесь к страницам руководства XF86Config(5x) или xorg.conf(5x).
Глава 16. Настройка ТВ-выхода
Видеокарты, основанные на графических процессорах NVIDIA и оснащенные ТВ-выходом, могут использовать телевизор как дисплей наравне с прочими, как то электронно-лучевыми или цифровыми плоскими мониторами. Телевизор может использоваться как сам по себе, так и совместно с другими дисплеями в режиме TwinView или с несколькими экранами Х-интерфейса. Если телевизор – единственное подключенное к видеокарте устройство, он будет использоваться как основной дисплей при загрузке системы (т.е., консоль будет появляться на телевизоре точно так же, как и на электронно-лучевом мониторе). Драйвер Х-интерфейса NVIDIA создает список видеорежимов для телевизора с использованием всех разрешений, которые поддерживаются в выбранном стандарте ТВ-сигнала и установленным контроллером ТВ-выхода видеокарты. Видеорежимы получают названия на основе их разрешения, например «800x600».
Поскольку видеорежимы телевизора зависят лишь от стандарта ТВ-сигнала и возможностей контроллера ТВ-выхода, они не проходят обычную процедуру проверки доступности видеорежима. Опции конфигурации X-интерфейса
HorizSync и VertRefresh не используются для проверки видеорежимов телевизора. В дополнение драйвер NVIDIA содержит готовый список видеорежимов, могущих быть использованными при любом стандарте ТВ-сигнала и любом контроллере ТВ-выхода. Так что заданные вручную в файле конфигурации X-интерфейса видеорежимы игнорируются для телевизора.
Для настройки использования телевизора Х-интерфейсом имеется несколько опций конфигурации:
Опция "Modes" в секции Screen файла конфигурации Х-интерфейса может быть использована для установки любого видеорежима из списка, созданного драйвером Х-интерфейса для текущего сочетания стандарта ТВ-сигнала и контроллера ТВ-выхода. Например, "640x480" и "800x600". Если они не подошли, воспользуйтесь "nvidia-auto-select".
Опция "TVStandard" должна быть добавлена в секцию Screen; допустимыми значениями являются:
Стандарт ТВ-сигнала | Описание |
"PAL-B" | используется в Бельгии, Дании, Финляндии, Германии, Гвинее, Гонконге, Индии, Индонезии, Италии, Малайзии, Голландии, Норвегии, Португалии, Сингапуре, Испании, Швеции и Швейцарии |
"PAL-D" | используется в Китае и Северной Корее |
"PAL-G" | используется в Дании, Финляндии, Германии, Италии, Малайзии, Голландии, Норвегии, Португалии, Испании, Швеции и Швейцарии |
"PAL-H" | используется в Бельгии |
"PAL-I" | используется в Гонконге и Великобритании |
"PAL-K1" | используется в Гвинее |
"PAL-M" | используется в Бразилии |
"PAL-N" | используется во Франции, Парагвае и Уругвае |
"PAL-NC" | используется в Аргентине |
"NTSC-J" | используется в Японии |
"NTSC-M" | используется в Канаде, Чили, Колумбии, Коста-Рике, Эквадоре, Гаити, Гондурасе, Мексике, Панаме, Пуэрто-Рико, Южной Корее, Тайване, США и Венесуэле |
"HD480i" | чересстрочный режим с 480 строками |
"HD480p" | построчный режим с 480 строками |
"HD720p" | построчный режим с 720 строками |
"HD1080i" | чересстрочный режим с 1080 строками |
"HD1080p" | построчный режим с 1080 строками |
"HD576i" | чересстрочный режим с 576 строками |
"HD576p" | построчный режим с 576 строками |
Строка в файле конфигурации Х-интерфейса должна выглядеть примерно как:
Option "TVStandard" "NTSC-M"
Если вы не указали стандарт ТВ-сигнала или указали неправильное значение, будет использоваться значение по умолчанию "NTSC-M". Если вашей страны нет в вышеприведенном списке, выберите ближайшую к вашей страну.
Опция "UseDisplayDevice" может быть использована в случае, когда подключено несколько дисплеев и вы хотите использовать именно телевизор, а не подключенные мониторы. Например:
Option "UseDisplayDevice" "TV"
Рекомендуется использовать опцию "UseDisplayDevice", а не опцию "ConnectedMonitor".
Опция "TVOutFormat" может быть использована для указания формата выводимого сигнала. Когда опция не используется, драйвер автоматически определяет формат сигнала. К сожалению, это не всегда дает правильный результат. Формат сигнала может быть задан принудительно в данной опции, возможные значения:
Значение | Описание | Поддерживаемые стандарты ТВ-сигнала |
"AUTOSELECT" | драйвер определяет формат автоматически (значение по умолчанию) | PAL, NTSC, HD |
"COMPOSITE" | композитный сигнал | PAL, NTSC |
"SVIDEO" | сигнал S-Video | PAL, NTSC |
"COMPONENT" | компонентный сигнал, также известен как YPbPr | HD |
"SCART" | Сигнал Scart, также известен как Peritel | PAL, NTSC |
Строка в файле конфигурации Х-интерфейса должна выглядеть примерно как:
Option "TVOutFormat" "SVIDEO"
Опция "TVOverScan" может использоваться для задействования пересканирования (масштабирования), если поддерживается контроллером ТВ-выхода. Допустимые значения – десятичные дроби в диапазоне от 1.0 (максимально возможное пересканирование, изображение максимального размера) до 0.0 (отключение пересканирования, изображение минимального размера). По умолчанию пересканирование отключено (0.0).
Драйвер Х-интерфейса NVIDIA может не восстанавливать изображение консоли с версиями Х-интерфейса XFree86 меньше 4.3, когда консоль выведена на телевизор. Это вызвано несовместимостью между модулями XFree86 обработки прерывания int10. Если вы используете телевизор для отображения консоли, рекомендуется обновить версию Х-интерфейса до XFree86 4.3 или более новой.
Глава 17. Использование XRandR-расширения Х-интерфейса
Х-интерфейс X.org версии X11R6.8.1 поддерживает компонент расширения XRandR, отвечающий за вращение изображения. Он позволяет поворачивать изображение экрана с шагом 90°.
Драйвер поддерживает вращение с использованием этого расширения после включения опции "RandRRotation" в файле конфигурации Х-интерфейса.
Наложения RGB или с индексированной палитрой цвета работают с меньшей производительностью, и видеоналожение недоступно при включенной опции RandRRotation.
Вы можете проверить доступные углы поворота используя интерфейс командной строки xrandr расширения ХRandR выполнив:
xrandr -q
Вы можете задать направление поворота экрана выполнив:
xrandr -o left (влево)
xrandr -o right (вправо)
xrandr -o inverted (переворот)
xrandr -o normal (обычное положение)
Поворот может быть также сделан из утилиты «nvidia-settings», на закладке «Rotation Settings».
Поворот экрана и SLI несовместимы. Функция поворота будет отключена при включении SLI.
Режим TwinView и поворот могут использоваться вместе, но эффект поворота будет распространен на весь рабочий стол. Это означает, что изображение повернется на обоих дисплеях из пары TwinView. Также будет применена опция "TwinViewOrientation" перед поворотом. Например, если у вас два дисплея рядом и вы хотите повернуть их, вам надо присвоить опции "TwinViewOrientation" значение "Above" (выше) или "Below" (ниже).
Глава 18. Настройка для ноутбуков
18А. Установка и настройка
Установка и настройка драйвера NVIDIA для Linux на ноутбук аналогична установке на настольный компьютер, с небольшими дополнениями, рассмотренными ниже.
18B. Управление энергопотреблением
Все графические процессоры NVIDIA, предназначенные для ноутбуков, поддерживают управление энергопотреблением, как режим S3 (также известный как «Standby» или «Suspend to RAM»), так и режим S4 (также известный как «Hibernate», «Suspend to Disk» или «SWSUSP»). Управление энергопотреблением сильно зависит от конкретной системы, всех ее составляющих, в некоторых системах могут возникнуть проблемы при использовании, в то время как в других они не возникают.
Новые графические процессоры NVIDIA для ноутбуков также поддерживают технологию PowerMizer, наблюдающую за загрузкой графической системы приложениями и подстраивающей параметры для достижения оптимального баланса между производительностью и временем работы от батарей. Однако, по-умолчанию технология PowerMizer задействована лишь в некоторых ноутбуках. Обратитесь к списку известных проблем ниже за дополнительной информацией.
18С. Переключение между дисплеями по нажатию «горячей» клавиши
Мобильные графические процессоры NVIDIA также имеют возможность реагировать переключением дисплеев по нажатию «горячей» клавиши, с переключением между каждым устройством в отдельности и возможными комбинациями дисплеев (обратите внимание, что только два дисплея могут использоваться одновременно).
Нажатие «горячей» клавиши динамически изменяет конфигурацию TwinView; полученный сигнал от «горячей» клавиши определяет комбинацию дисплеев, которую следует использовать, и все метарежимы, заданные для экрана X-интерфейса, будут обновлены для использования новой конфигурации дисплеев. Другое важное замечание к функционированию «горячих» клавиш – вы можете динамически подключать и отключать дисплеи к ноутбуку и использовать «горячие» клавиши для их активации и деактивации без перезапуска Х-интерфейса.
Обратите внимание, что существует два способа реализации поддержки «горячих» клавиш: отслеживание событий ACPI и опрос.
Новые ноутбуки используют события ACPI для уведомления драйвера видеокарты системным BIOS. Это предпочтительный способ, но он все еще имеет статус новой функции для большинства систем UNIX и может не всегда осуществляться корректно.
Способ опроса требует проверки изменения статуса «горячей» клавиши в период гашения вертикальной развертки. Это старый механизм обработки «горячих» клавиш, поэтому не поддерживается всеми ноутбуками и не проверяется на работоспособность производителями ноутбуков. Он также не всегда обеспечивает идентичность определения заданной комбинации дисплеев в сравнении с данными от обработки «горячих» клавиш через ACPI.
Драйвер NVIDIA для Linux пытается использовать события ACPI, когда возможно. В случае, если поддержка событий ACPI недоступна, драйвер начинает использовать способ опроса состояния «горячих» клавиш. Если ноутбук не поддерживает опрос состояния «горячих» клавиш, клавиши не будут работать. Обратитесь к списку известных проблем ниже за дополнительной информацией.
При переключении с Х-интерфейса в виртуальный терминал, графическая консоль всегда восстанавливается на том дисплее, на котором она была при запуске Х-интерфейса. Аналогично, при переключении обратно в Х-интерфейс, используется та же конфигурация дисплеев, вне зависимости от нажатия «горячих» клавиш во время работы виртуального терминала.
18D. Присоединение ноутбука к док-станции
Все графические процессоры NVIDIA для ноутбуков корректно обрабатывают события, связанные с присоединением ноутбука к док-станции, однако поддержка может быть ограничена в конкретном ноутбуке или операционной системе. Различаются присоединение к док-станции включенного и работающего ноутбука, ноутбука в режиме энергосбережения и выключенного ноутбука. Драйвер NVIDIA распознает присоединение к док-станции лишь если ноутбук был выключен или находился в режиме энергосбережения.
18E. TWINVIEW
Все мобильные графические процессоры поддерживают TwinView. Технология TwinView на ноутбуке может быть настроена тем же способом, что и на настольном компьютере (обратитесь к Главе 13); учтите, что в конфигурациях TwinView, использующих встроенный дисплей и внешний электронно-лучевой монитор, внешний монитор является основным дисплеем (задайте диапазоны частот в опциях HorizSync и VertRefresh в секции Monitor файла конфигурации Х-интерфейса), а интегрированный дисплей – дополнительным (задайте диапазоны частот вертикальной и горизонтальной синхронизации в опциях SecondMonitorHorizSync и SecondMonitorVertRefresh).
Опция "UseEdidFreqs" конфигурации Х-интерфейса включена по-умолчанию, так что обычно нет нужды в редактировании опций "SecondMonitorHorizSync" и "SecondMonitorVertRefresh". Обратитесь к описанию опции UseEdidFreqs в приложении B за дополнительной информацией.
18F. Известные проблемы с ноутбуками
Существует несколько известных проблем с ноутбуками:
- Переключение между дисплеями по нажатию «горячей» клавиши поддерживается не во всех ноутбуках. В некоторых случаях, конкретная реализация ACPI не поддерживается в полном объеме драйвером NVIDIA для Linux. Драйвер дорабатывается для улучшения работы в данной области. Имеются проблемы с ноутбуками Toshiba и Lenovo;
- Изменение конфигурации дисплеев по нажатию «горячих» клавиш через ACPI не поддерживается серверами Х-интерфейса X.Org версий до 1.2.0; обратитесь к описанию опции EnableACPIHotkeys в приложении B за дополнительной информацией;
- Во многих случаях не удается перейти в режим энергосбережения или выйти из него. Как упоминалось выше, эта проблема сильно зависит от особенностей конкретной системы. Все еще остается достаточно много причин для подобных проблем. Ниже следуют некоторые советы, могущие помочь;
- В ряде случаев переход в спящий режим негативно влияет на тактовую частоту шины PCI-Express, приводя к зависанию. Проблема все еще находится в стадии исследования, известным способом избежать проблемы является оставить запущенным приложение OpenGL перед переходом в спящий режим;
- В ноутбуках, оснащенных небольшим объемом оперативной памяти, повторный переход в спящий режим может не удастся из-за нехватки свободной оперативной памяти. Для предотвращения проблемы выполните команду echo 0 > /sys/power/image_size, уменьшающую объем информации, сохраняемый при переходе в спящий режим;
- В некоторых дистрибутивах Linux применяется утилита «vbetool» для сохранения и восстановления состояния графической системы VGA. Эта утилита несовместима с видеоBIOS графических процессоров NVIDIA и приводит к проблемам с восстановлением состояния графического процессора. Отключение вызовов к данной утилите из скриптов запуска вашего дистрибутива может повысить стабильность работы режимов энергосбережения;
- В некоторых ноутбуках технология PowerMizer не задействована по-умолчанию. Проблема все еще исследуется, в настоящее время отсутствуют способы ее решения;
- Для графических процессоров GeForce серий 6 и 7 видеоналожение работает только для первого дисплея, на котором загружался Х-интерфейс. Например, если Х-интерфейс был запущен на встроенном дисплее, запущено приложение воспроизведения видео, использующее видеоналожение (через возможность «Video Overlay» расширения XV), а затем по нажатию «горячей» клавиши включается второй дисплей, видео не появится на втором дисплее. В качестве обходной меры вы можете или настроить приложение воспроизведения видео на использование возможности «Video Blitter» расширения XV (эта возможность всегда доступна), или переключиться по «горячей» клавише на дисплей, на котором вы бы хотели смотреть видео, перед запуском Х-интерфейса.