什么是 efifb?

这是一个适用于带有 UEFI 固件的系统的通用 EFI 平台驱动程序。系统必须通过 EFI stub 启动才能使用此功能。efifb 支持带有图形输出协议 (GOP) 显示器的固件,以及仅有通用图形适配器 (UGA) 显示器的旧系统。

支持的硬件

  • iMac 17 英寸/20 英寸

  • Macbook

  • Macbook Pro 15 英寸/17 英寸

  • MacMini

  • 带有 UEFI 固件的 ARM/ARM64/X86 系统

如何使用?

对于 UGA 显示器,efifb 没有任何自动检测机器的功能。

您必须在 elilo.conf 中添加以下内核参数

Macbook :
        video=efifb:macbook
MacMini :
        video=efifb:mini
Macbook Pro 15", iMac 17" :
        video=efifb:i17
Macbook Pro 17", iMac 20" :
        video=efifb:i20

对于 GOP 显示器,efifb 可以自动检测显示器的分辨率和帧缓冲地址,因此这些显示器应该无需任何特殊参数即可正常工作。

接受的选项

nowc

不将帧缓冲映射为写入组合。这可以用来解决在写入大量控制台数据时,其他 CPU 核心上出现的副作用和性能下降问题。

GOP 显示器的选项

mode=n

如果可能,EFI stub 会将显示器模式设置为模式号 n。

<xres>x<yres>[-(rgb|bgr|<bpp>)]

EFI stub 将搜索与指定水平和垂直分辨率以及可选位深度匹配的显示模式,如果找到,则将显示器模式设置为该模式。位深度可以是“rgb”或“bgr”以专门匹配这些像素格式,也可以是一个数字,用于匹配每像素位数的模式。

auto

EFI stub 将选择分辨率最高(水平和垂直分辨率的乘积)的模式。如果存在多个分辨率最高的模式,它将选择颜色深度最高的模式。

list

EFI stub 将列出所有可用的显示模式。然后可以使用上述选项之一为下一次启动选择特定模式。

Edgar Hucek <gimli@dark-green.com>