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 设备

  • 可能无法在大端上工作

我在 i386 上测试了 Trio64(普通版、V+ 和 V2/DX)和 Virge(普通版、VX、DX)上的 s3fb。

支持的功能

  • 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>