我使用的是联想 x220i ThinkPad,运行 crunchbang Linux(使用 openbox 窗口管理器)。笔记本电脑侧面有 DP 和 VGA 插头。
连接 DP 和 VGA 电缆并运行xrandr
,我注意到以下输出可用/处于活动状态:
VGA1
DP1
LVDS1 <- the laptop screen
如果我尝试启用 2 个以上(使用任意组合),则会出现错误“无法找到 [VGA1/DP1/LVDS1] 输出的 crtc”
什么是 crtc?如何知道有多少可用?是否可以通过软件或 PCI 卡添加更多?
谢谢。
答案1
CRTC 代表“阴极射线管控制器”,但维基百科更喜欢“视频显示控制器“。
它们仍然通常被称为 CRTC - 技术术语有时变化可能很慢。
总有更复杂的解释,但一个充分的总结是,每个 CRTC 对应于视频卡上的一个注定要输出的视频缓冲区。我选择了这个特定的措辞来强调一些细微差别:
- 软件屏幕(例如用于无头 VNC 服务器的屏幕)将使用 RAM 作为视频内存,与视频卡无关,也不会从视频卡获得任何硬件加速。不需要 CRTC,因为它不在视频卡上。
- 如果您使用视频卡渲染场景,然后将最终结果的缓冲区放回到内存/磁盘中,则不涉及 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 个与之关联的输出是否支持菊花链连接。
- ADVI-I 连接器可以将其拆分为数字和模拟组件,以运行每种类型的一个显示器。旧的偷懒解决方案是在硬件中克隆它们,但现在视频设备通常具有与此类端口关联的 DVI 和 VGA 输出。
- 笔记本电脑底座可以轻松将输出数量增加一倍,甚至更多,因为他们希望在底座上提供丰富的额外连接器的便利。
- 视频设备可能具有未实现的连接器,因为它被匆忙投入生产或者是因为它是另一个设备的重新实现,但省略了一些连接器。
是否可以通过软件或 PCI 卡添加更多 [CRTC]?
由于 CRTC 由 GPU 提供,因此拥有更多 CRTC 的唯一方法是添加一个可以与现有设备同时工作的视频设备。我知道这是可能的,并且存在许多限制,但仅此而已。你必须研究多个 GPU 设置看看这对你是否可行。
PS:我今天刚刚学到了很多这方面的内容,在自己的研究过程中偶然发现了你的问题。
答案2
crtc
代表阴极射线管控制器在古代,显示器使用的是CRT
(由玻璃制成的重型装置)而不是LCD
今天的显示器。
答案3
我担心这是显示设备的硬件限制。我遇到过类似的情况 - 笔记本电脑(t430)带扩展坞。我可以并行使用 3 个显示器 - 2*DP 和 LVDS 或 3*DP 或 LVDS 和 DP 和 HDMI。但启用任何显示器都会显示与您相同的错误。