s3fb - S3 Trio/Virge 芯片的 fbdev 驱动

支持的硬件

S3 Trio32 S3 Trio64 (及其变体 V+, UV+, V2/DX, V2/GX) S3 Virge (及其变体 VX, DX, GX 和 GX2+) S3 Plato/PX (完全未经测试) S3 Aurora64V+ (完全未经测试)

  • 仅支持 PCI 总线

  • 仅支持由 BIOS 初始化的 VGA 设备

  • 可能无法在大端序上工作

我在 Trio64 (plain, V+ 和 V2/DX) 和 Virge (plain, VX, DX) 上测试了 s3fb,全部在 i386 上。

支持的特性

  • 4 bpp 伪彩色模式 (具有 18 位调色板,两种变体)

  • 8 bpp 伪彩色模式 (具有 18 位调色板)

  • 16 bpp 真彩色模式 (RGB 555 和 RGB 565)

  • 24 bpp 真彩色模式 (RGB 888) (仅在 Virge VX 上)

  • 32 bpp 真彩色模式 (RGB 888) (不在 Virge VX 上)

  • 文本模式 (通过 bpp = 0 激活)

  • 隔行扫描模式变体 (在文本模式下不可用)

  • 双扫描模式变体 (在文本模式下不可用)

  • 在两个方向上平移

  • 挂起/恢复支持

  • DPMS 支持

即使在更高的分辨率下也支持文本模式,但对较低的像素时钟有限制 (最大值通常在 50-60 MHz 之间,具体取决于特定硬件,我从普通的 S3 Trio32 卡获得最佳结果 - 约 75 MHz)。 驱动程序不会强制执行此限制。 文本模式仅支持 8 位宽字体 (硬件限制) 和 16 位高字体 (驱动程序限制)。 在 S3 Trio64 V2/DX 上,文本模式支持已损坏。

有两种 4 bpp 模式。 第一种模式 (如果 nonstd == 0 则选择) 是具有打包像素的模式,高位半字节优先。 第二种模式 (如果 nonstd == 1 则选择) 是具有交错平面 (1 字节交错) 的模式,MSB 优先。 两种模式都仅支持 8 位宽字体 (驱动程序限制)。

挂起/恢复在系统恢复期间初始化视频卡并且设备处于活动状态 (例如由 fbcon 使用) 的系统上有效。

缺少的功能

(别名 TODO 列表)

  • 辅助 (未由 BIOS 初始化) 设备支持

  • 大端序支持

  • Zorro 总线支持

  • MMIO 支持

  • 在更多卡上支持 24 bpp 模式

  • 支持 4 bpp 模式下 fontwidths != 8

  • 支持文本模式下 fontheight != 16

  • 复合和外部同步 (有人可以测试这个吗?)

  • 硬件光标

  • 视频叠加支持

  • 垂直同步

  • 特性连接器支持

  • 加速支持 (类似 8514 的 2D,Virge 3D,总线主控传输)

  • 一些魔法寄存器的更好值 (性能问题)

已知错误

  • 文本模式下的光标禁用不起作用

  • 在 S3 Trio64 V2/DX 上,文本模式已损坏

-- Ondrej Zajicek <santiago@crfreenet.org>