当帧缓冲设备抽象层构建到内核中时,会使用 `video=' 参数(在 v2.0 内核中不可用)。如果这听起来很复杂,实际上并没有那么糟糕。它基本上意味着,内核会为每种品牌的显卡内置驱动程序,并为视频程序导出一个统一的接口,这样就只需要一个 X11R6 服务器 (XF86_FBDev),而不是为每种品牌的显卡(例如 XF86_S3, XF86_SVGA, ...)配备不同的视频程序(X11R6 服务器)。这类似于现在的网络工作方式 - 内核为每种品牌的网卡都提供了驱动程序,并导出一个统一的网络接口,这样,无论底层网卡品牌如何,只需一个版本的网络程序(如 Netscape)就可以在所有系统上工作。
此参数的典型格式为 `video=name:option1,option2,...`,其中 `name` 是通用选项或帧缓冲驱动程序的名称。 `video=` 选项从 `linux/init/main.c` 传递到 `linux/drivers/video/fbmem.c` 以进行进一步处理。在这里,它首先检查一些通用选项,然后再尝试匹配已知的驱动程序名称。一旦驱动程序名称匹配成功,逗号分隔的选项列表将被传递到该特定驱动程序以进行最终处理。有效的驱动程序名称列表可以通过查看上述 `fbmem.c` 文件中的 `fb_drivers` 数组找到。
关于每个驱动程序支持的选项的信息最终将在 `linux/Documentation/fb/` 中找到,但目前 (v2.2) 只有少数选项在那里被描述。不幸的是,视频驱动程序的数量以及每个驱动程序的选项数量本身就是另一份文档的内容,因此在此处列出太多了。
如果没有针对您的显卡的文档文件,您将需要直接从驱动程序中获取选项信息。请转到 `linux/drivers/video/` 目录,并在相应的 `???fb.c` 文件(??? 将基于显卡名称)中查找。在其中,搜索名称中带有 `_setup` 的函数,您应该会看到驱动程序尝试匹配的选项,例如 `font` 或 `mode` 或...
此选项用于设置/覆盖控制台到帧缓冲设备的映射。用逗号分隔的数字列表设置映射,选项 N 的值被视为控制台 N 的帧缓冲设备号。
冒号后的数字将设置用于回滚缓冲区的内存大小。(使用 Shift 和 Page Up 或 Page Down 键滚动。)数字后跟后缀 `k` 或 `K` 将表示该数字应解释为千字节而不是字节。
一个数字或一个数字范围(例如 `video=vc:2-5`)将指定第一个或第一个和最后一个帧缓冲虚拟控制台。使用此选项还会将帧缓冲控制台设置为非默认控制台。