企鹅标志!:o) 说真的,帧缓冲设备的主要优点是它为所有平台提供了一个通用的接口。在 2.1.x 内核开发过程的后期之前,x86 平台的控制台驱动程序与其他平台的控制台驱动程序完全不同。随着 2.1.109 内核的引入,所有这些都变得更好了,并且在 x86 平台下引入了更统一的控制台处理,还在 x86 上首次引入了带有企鹅标志的真位图图形控制台,并允许代码在不同平台之间共享。请注意,2.0.x 内核不支持帧缓冲设备,但将来某天可能会有人将代码从 2.1.x 内核反向移植到 2.0.x 内核。但对于 m68k 平台的 0.9.x 内核端口来说,这个规则有一个例外,它确实包含了帧缓冲设备支持。
随着 2.2.x 内核的发布,帧缓冲设备支持非常稳定可靠。如果您使用的是 2.2.x 内核,并且您的显卡支持帧缓冲设备,则应该使用它。较旧的 2.0.x 内核不支持帧缓冲设备,至少在 x86 平台上是这样。
0.9.x - 引入了 m68k 帧缓冲设备。请注意,m68k 0.9.x 在功能上等同于 x86 1.0.9(加上 1.2.x 的增强功能)
2.1.107 - 引入了 x86 帧缓冲/新控制台设备,并添加了通用支持,但没有回滚缓冲区支持。
2.1.113 - 向 vgacon 添加了回滚缓冲区支持。
2.1.116 - 向 vesafb 添加了回滚缓冲区支持。
2.2.x - 包括 matroxfb (Matrox 显卡) 和 atyfb (ATI 显卡)。
帧缓冲设备有一些很酷的功能,您可以在启动时为内核提供通用选项,包括特定于特定帧缓冲设备的选项。这些是
video=xxx:off - 禁用探测特定的帧缓冲设备
video=map:八进制数 - 将虚拟控制台 (VC) 映射到帧缓冲 (FB) 设备
video=map:01 将 VC0 映射到 FB0,VC1 映射到 FB1,VC2 映射到 FB0,VC3 映射到 FB1...
video=map:0132 将 VC0 映射到 FB0,VC1 映射到 FB1,VC2 映射到 FB3,VC4 映射到 FB2,VC5 映射到 FB0...
通常,帧缓冲设备会按照内核中指定的顺序进行探测,但是通过指定 video=xxx 选项,您可以添加您想要在内核中指定的其他设备之前探测的特定帧缓冲设备。