Qu'est-ce que crtc et combien de sorties puis-je activer en utilisant xrandr?

19

J'utilise un thinkpad Lenovo x220i, exécutant crunchbang linux (qui utilise le gestionnaire de fenêtres openbox). L'ordinateur portable a une prise DP et VGA sur le côté.

En connectant les câbles DP et VGA et en cours d'exécution xrandr, je remarque que les sorties suivantes sont disponibles / actives:

VGA1
DP1
LVDS1  <- the laptop screen

Si j'essaie d'activer plus de 2 (en utilisant n'importe quelle combinaison), j'obtiens l'erreur "impossible de trouver crtc pour la sortie pour [VGA1 / DP1 / LVDS1]"

Qu'est-ce que le CRTC? Comment savoir combien sont disponibles? Est-il possible d'ajouter plus de logiciels ou peut-être via une carte PCI?

Merci.

neildaemond
la source

Réponses:

30

CRTC signifie "Cathode Ray Tube Controller" mais wikipedia préfère " Video Display Controller ".

Ils sont encore souvent appelés CRTC - les termes techniques peuvent parfois tarder à changer.

Il y a toujours une explication plus compliquée, mais un résumé adéquat est que chaque CRTC correspond à un tampon vidéo sur une carte vidéo qui est destiné à être sorti. J'ai choisi cette formulation spécifique pour mettre en évidence certaines nuances:

  • Un écran logiciel, tel que celui utilisé pour un serveur VNC sans tête, utilisera de la RAM pour la mémoire vidéo et n'aura rien à voir avec une carte vidéo, ou n'obtiendra aucune accélération matérielle d'une carte. Aucun CRTCc nécessaire car il n'est pas sur la carte vidéo.
  • Si vous utilisez une carte vidéo pour rendre une scène et que vous récupérez ensuite le tampon du résultat final dans la mémoire / le disque, aucun CRTC n'est impliqué car il n'est pas destiné à la sortie, malgré l'utilisation de la mémoire de la carte vidéo.
  • Une carte vidéo peut prendre en charge la sortie d'un CRTC sur plusieurs écrans. Ils doivent avoir la même résolution et peuvent ou non avoir la même fréquence. Le simple fait d'utiliser les paramètres d'affichage pour «Afficher le même écran» sur deux écrans ou plus est susceptible de ne pas en profiter et de refléter le tampon final sur deux CRTC. S'assurer qu'un seul CRTC est cloné sur deux écrans est, jusqu'à présent, au-delà de mes capacités techniques.

Alors pour répondre à vos autres questions:

Comment savoir combien de [CRTC] sont disponibles?

$ 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

Notez que, comme vous, j'ai plus de sorties que de CRTC:, crtcs: 4 outputs: 10il y a de bonnes raisons que les sorties soient nombreuses, principalement sur les ports vidéo avec beaucoup de confort:

  • Un connecteur DisplayPort peut être associé à 2 ou 3 sorties si la connexion en série est prise en charge .
  • Un connecteur DVI-I peut être divisé en ses composants numériques et analogiques pour exécuter un moniteur de chaque type. L'ancienne solution paresseuse consistait à les cloner dans le matériel, mais il est désormais courant pour les périphériques vidéo d'avoir un DVI et une sortie VGA associés à un tel port.
  • Une station d'accueil pour ordinateur portable peut facilement doubler le nombre de sorties, puis certaines, car elles veulent offrir la commodité de nombreux connecteurs supplémentaires sur la station d'accueil.
  • Un périphérique vidéo peut avoir des connecteurs non implémentés car il a été précipité en production ou parce qu'il s'agit d'une réimplémentation d'un autre périphérique, mais certains connecteurs ont été omis.

Est-il possible d'ajouter plus de [CRTC] dans le logiciel ou peut-être via une carte PCI?

Étant donné que les CRTC sont fournis par un GPU, la seule façon d'en avoir plus est d'ajouter un appareil vidéo qui fonctionnera simultanément avec celui que vous avez déjà. Je sais que cela est possible et qu'il existe de nombreuses limitations, mais rien de plus. Vous devrez rechercher plusieurs configurations de GPU pour voir si cela est même possible pour vous.


PS J'apprends beaucoup de ceci juste aujourd'hui et suis tombé sur votre question pendant mes propres recherches.

Vasiliy Sharapov
la source
2

crtcsignifie contrôleur de tube à rayons cathodiques . Dans les temps anciens, les moniteurs utilisaient un CRT(les appareils lourds en verre) plutôt que l' LCDaffichage d'aujourd'hui.

Axel Kemper
la source
2
+1 pour connaître les «temps anciens». Cependant, pourquoi le message d'erreur mentionné apparaîtrait-il si le crt est réellement connecté? Je ne reçois ce message que si j'essaie d'activer une 3e sortie. edit: whoops, j'ai besoin de 15 points pour voter: /
neildaemond
1

Je suis convaincu que c'est la limitation matérielle de votre périphérique d'affichage. J'ai une situation similaire - ordinateur portable (t430) avec station d'accueil. Je peux utiliser en parallèle 3 moniteurs - 2 * DP et LVDS ou 3 * DP ou LVDS et DP et HDMI .. mais en activant n'importe quel moniteur, montrez-moi la même erreur que la vôtre.

indéfinir
la source