O que é crtc e quantas saídas posso ativar usando o xrandr?

19

Estou usando um thinkpad Lenovo x220i, executando o crunchbang linux (que usa o gerenciador de janelas openbox). O laptop possui um plugue DP e VGA na lateral.

Ao conectar os cabos DP e VGA e em execução xrandr, percebo que as seguintes saídas estão disponíveis / ativas:

VGA1
DP1
LVDS1  <- the laptop screen

Se eu tentar habilitar mais que 2 (usando qualquer combinação), recebo o erro "Não é possível encontrar o CRTC para a saída para [VGA1 / DP1 / LVDS1]"

O que é crtc? Como descubro quantos estão disponíveis? É possível adicionar mais em software ou talvez através de uma placa PCI?

Obrigado.

neildaemond
fonte

Respostas:

30

CRTC significa "Cathode Ray Tube Controller", mas a Wikipedia prefere " Video Display Controller ".

Eles ainda são frequentemente chamados de CRTCs - os termos técnicos podem demorar a mudar algumas vezes.

Sempre há uma explicação mais complicada, mas um resumo adequado é que cada CRTC corresponde a um buffer de vídeo em uma placa de vídeo destinada à saída. Eu escolhi esta redação específica para destacar algumas nuances:

  • Uma tela de software, como a usada para um servidor VNC decapitado, usará RAM para memória de vídeo e não terá nada a ver com uma placa de vídeo, ou obterá alguma aceleração de hardware em uma. Não é necessário CRTCc porque não está na placa de vídeo.
  • Se você estiver usando uma placa de vídeo para renderizar uma cena e, em seguida, recuperar o buffer do resultado final na memória / disco, não há CRTC envolvido porque não está vinculado à saída, apesar de usar a memória da placa de vídeo.
  • Uma placa de vídeo pode suportar a saída de um CRTC para vários monitores. Eles devem ter a mesma resolução e podem ou não ter a mesma frequência. O simples uso das configurações de tela para "Mostrar a mesma tela" em duas ou mais telas provavelmente não tira proveito disso e reflete o buffer final em dois CRTCs. Certificar-me de que um único CRTC está sendo clonado em dois monitores está, até agora, além da minha capacidade técnica.

Então, para responder suas outras perguntas:

Como descubro quantos [CRTCs] estão disponíveis?

$ 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

Observe que, como você, eu tenho mais saídas do que CRTCs:, crtcs: 4 outputs: 10há boas razões para que as saídas sejam numerosas, principalmente em portas de vídeo com muita conveniência:

  • Um conector DisplayPort pode ter 2 ou 3 saídas associadas, se houver suporte para encadeamento em série .
  • Um conector DVI-I pode ser dividido em seus componentes digitais e analógicos para executar um monitor de cada tipo. A solução antiga e preguiçosa era cloná-los no hardware, mas agora é comum os dispositivos de vídeo terem uma saída DVI e VGA associada a essa porta.
  • Uma dock para laptop pode facilmente dobrar o número de saídas e mais algumas, porque elas oferecem a conveniência de abundantes conectores extras na dock.
  • Um dispositivo de vídeo pode ter conectores não implementados porque foi levado para produção ou porque é uma reimplementação de outro dispositivo, mas alguns conectores foram omitidos.

É possível adicionar mais [CRTCs] no software ou talvez através de uma placa PCI?

Como os CRTCs são fornecidos por uma GPU, a única maneira de obter mais é adicionar um dispositivo de vídeo que funcione simultaneamente com o que você já possui. Eu sei que isso é possível e que existem muitas limitações, mas nada mais. Você precisará pesquisar várias configurações de GPU para ver se isso é viável.


PS: Estou aprendendo muito disso hoje e deparei com sua pergunta durante minha própria pesquisa.

Vasiliy Sharapov
fonte
2

crtcsignifica controlador de tubo de raios catódicos . Nos tempos antigos, os monitores costumavam usar um CRT(os dispositivos pesados ​​de vidro) em vez da LCDtela de hoje.

Axel Kemper
fonte
2
+1 por saber sobre os 'tempos antigos'. No entanto, por que a mensagem de erro mencionada seria exibida se o crt estivesse realmente conectado? Só estou recebendo esta mensagem se estiver tentando ativar uma terceira saída. edit: whoops, preciso de 15 pontos para votar: /
neildaemond
1

Receio que seja uma limitação de hardware no seu dispositivo de exibição. Eu tenho situação semelhante - laptop (t430) com docking station. Posso usar em paralelo 3 monitores - 2 * DP e LVDS ou 3 * DP ou LVDS e DP e HDMI .. mas ativar qualquer monitor mais me mostra o mesmo erro que o seu.

indefinir
fonte