Что такое crtc и сколько выходов можно включить с помощью xrandr?

19

Я использую Lenovo X220i ThinkPad, работающий под управлением crunchbang Linux (который использует менеджер окон Openbox). Ноутбук имеет разъем DP и VGA на боковой панели.

Подсоединив кабели DP и VGA и запустив их xrandr, я заметил, что доступны следующие активные выходы:

VGA1
DP1
LVDS1  <- the laptop screen

Если я пытаюсь включить больше 2 (используя любую комбинацию), то я получаю сообщение об ошибке «не могу найти crtc для вывода для [VGA1 / DP1 / LVDS1]»

Что такое CRTC? Как узнать, сколько их доступно? Можно ли добавить больше программного обеспечения или, возможно, через карту PCI?

Благодарю.

neildaemond
источник

Ответы:

30

CRTC расшифровывается как «Cathode Ray Tube Controller», но википедия предпочитает « Video Display Controller ».

Их по-прежнему часто называют CRTC - технические термины могут иногда меняться медленно.

Всегда есть более сложное объяснение, но адекватное резюме заключается в том, что каждый CRTC соответствует видеобуферу на видеокарте, предназначенной для вывода. Я выбрал именно эту формулировку, чтобы выделить некоторые нюансы:

  • Экран программного обеспечения, например экран, используемый для безголового VNC-сервера, будет использовать оперативную память для видеопамяти и не иметь никакого отношения к видеокарте или получать какое-либо аппаратное ускорение от нее. Нет необходимости в CRTCc, потому что его нет на видеокарте.
  • Если вы используете видеокарту для рендеринга сцены и затем возвращаете буфер конечного результата обратно в память / диск, CRTC не задействуется, поскольку он не предназначен для вывода, несмотря на использование памяти видеокарты.
  • Видеокарта может поддерживать вывод одного CRTC на несколько дисплеев. Они должны иметь одинаковое разрешение и могут иметь или не иметь одинаковую частоту. Простое использование настроек дисплея для «Показывать один и тот же экран» на двух или более дисплеях, скорее всего, не позволит воспользоваться этим и будет отражать конечный буфер на двух CRTC. Убедиться, что один CRTC клонируется на два дисплея, пока что выше моих технических возможностей.

Итак, чтобы ответить на ваши другие вопросы:

Как узнать, сколько [CRTC] доступно?

$ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x4d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 10 associated providers: 0 name:Intel

Обратите внимание, что, как и у вас, у меня больше выходов, чем у CRTC: crtcs: 4 outputs: 10есть веские причины, по которым выходы многочисленны, в основном сводятся к видеопортам, которые очень удобны:

  • Разъем DisplayPort может иметь 2 или 3 выхода, связанных с ним, если поддерживается последовательное соединение .
  • Разъем DVI-I может быть разделен на его цифровые и аналоговые компоненты для запуска одного монитора каждого типа. Старое ленивое решение заключалось в том, чтобы клонировать их аппаратно, но теперь для видеоустройств характерно иметь DVI и VGA-выход, связанный с таким портом.
  • Док-станция для ноутбука может легко удвоить количество выходов, а затем и несколько, потому что они хотят предложить удобство дополнительных дополнительных разъемов на док-станции.
  • Видеоустройство может иметь нереализованные соединители, потому что оно было отправлено в производство или потому что это повторная реализация другого устройства, но некоторые соединители опущены.

Можно ли добавить больше [CRTC] в программное обеспечение или, возможно, через карту PCI?

Поскольку CRTC предоставляются GPU, единственный способ получить больше - добавить видеоустройство, которое будет работать одновременно с тем, которое у вас уже есть. Я знаю, что это возможно, и что есть много ограничений, но не более того. Вам придется исследовать несколько установок графического процессора, чтобы увидеть, возможно ли это для вас.


PS Я узнал многое из этого только сегодня и наткнулся на ваш вопрос во время моего собственного исследования.

Василий Шарапов
источник
2

crtcобозначает контроллер электронно-лучевой трубки . В древние времена мониторы использовали CRT(тяжелые устройства из стекла), а не LCDдисплей сегодня.

Аксель Кемпер
источник
2
+1 за знание о «древних временах». Тем не менее, почему упомянутое сообщение об ошибке появляется, если CRT действительно подключен? Я получаю это сообщение, только если пытаюсь активировать третий выход. изменить: упс, мне нужно 15 очков, чтобы upvote: /
neildaemond
1

Я уверен, что это аппаратное ограничение в вашем устройстве отображения. У меня аналогичная ситуация - ноутбук (t430) с док-станцией. Я могу использовать параллельно 3 монитора - 2 * DP и LVDS или 3 * DP или LVDS и DP и HDMI ... но включение любого другого монитора покажет мне ту же ошибку, что и у вас.

Undefine
источник