在 Linux 源代码中,特别是在 中linux/drivers/video/console/vgacon.c
,有一个用于光标形状的 switch case 块。这些形状中的每一个都是具有相同宽度和不同高度的矩形。显然,Linux 处理光标的高度,但是它处理宽度吗? Linux 决定宽度,还是 GPU 决定?这在其他*.con
s 之间是否有所不同(其中一些具有游标的切换情况)?
答案1
在 中vgacon
,硬件选择宽度,并且它始终是字符单元的完整宽度 - 这就是VGA 支持的所有内容。mdacon
是相似的,出于同样的原因。
其他带有光标大小处理的控制台实现可以通过以下方式找到寻找CUR_UNDERLINE
。其中一些,例如fbcon
,理论上也可以支持不同宽度的光标,但它们都与原始 Linux 控制台(VGA 控制台)的行为相匹配并使用固定宽度。