什么是crtc?我可以使用xrandr启用多少输出?


19

我使用的是Lenovo x220i ThinkPad,它运行crunchbang linux(使用openbox窗口管理器)。笔记本电脑的侧面有DP和VGA插头。

连接DP和VGA电缆并运行xrandr,我注意到以下输出可用/活动:

VGA1
DP1
LVDS1  <- the laptop screen

如果我尝试启用大于2的值(使用任何组合),则会出现错误“找不到[VGA1 / DP1 / LVDS1]的输出的crtc”

什么是crtc?我如何找出可用的数量?是否可以在软件中或通过PCI卡添加更多内容?

谢谢。

Answers:


30

CRTC代表“阴极射线管控制器”,但维基百科更喜欢“ 视频显示控制器 ”。

它们仍然经常被称为CRTC-技术术语有时变化缓慢。

总是会有一个更复杂的解释,但有足够的摘要是,每个CRTC都对应于要输出的视频卡上的视频缓冲区。我选择以下特定措辞来突出一些细微差别:

  • 一个软件屏幕(例如,用于无头VNC服务器的屏幕)将使用RAM作为视频内存,而与视频卡无关,也不会从中获得任何硬件加速。不需要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

请注意,像您一样,我的输出要比CRTCs多:crtcs: 4 outputs: 10,这是有充分原因的,原因是输出很多,主要归结于具有很多便利性的视频端口:

  • 如果支持菊花链, DisplayPort连接器可能具有2或3个与之关联的输出。
  • DVI-I连接器可被划分成其数字和模拟组件来运行每种类型的一个监视器。过去的懒惰解决方案是将它们克隆到硬件中,但现在视频设备通常具有与此类端口相关联的DVI和VGA输出。
  • 笔记本电脑扩展坞可以轻松将输出数量增加一倍,然后再增加一些,因为它们希望为扩展坞上的大量额外连接器提供便利。
  • 视频设备可能有未实现的连接器,因为它已被紧急投入生产或因为它是另一设备的重新实现,但省略了一些连接器。

是否可以在软件中或通过PCI卡添加更多[CRTC]?

由于CRTC是由GPU提供的,因此拥有更多功能的唯一方法是添加可与您现有的视频设备同时工作的视频设备。我知道这是可能的,并且有很多限制,但仅此而已。您必须研究多种GPU设置,以查看这是否对您来说也是可行的。


PS:我今天才学到很多,在我自己的研究中偶然发现了你的问题。


2

crtc代表阴极射线管控制器。在远古时代,监视器过去使用的是CRT(玻璃制成的重型设备),而不是LCD今天的显示器。


2
+1了解“古代”。但是,如果实际连接crt,为什么会出现上述错误消息?仅在尝试激活第三输出时才收到此消息。编辑:糟糕,我需要15分才能
投票

1

我确信这是显示设备中的硬件限制。我的情况很类似-带有扩展坞的笔记本电脑(t430)。我可以并行使用3台显示器-2 * DP和LVDS或3 * DP或LVDS和DP和HDMI ..但启用任何显示器都会向我显示与您相同的错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.