^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) s3fb - fbdev driver for S3 Trio/Virge chips
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Supported Hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) S3 Trio32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) S3 Trio64 (and variants V+, UV+, V2/DX, V2/GX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) S3 Virge (and variants VX, DX, GX and GX2+)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) S3 Plato/PX (completely untested)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) S3 Aurora64V+ (completely untested)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - only PCI bus supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - only BIOS initialized VGA devices supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - probably not working on big endian
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) I tested s3fb on Trio64 (plain, V+ and V2/DX) and Virge (plain, VX, DX),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) all on i386.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Supported Features
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) * 4 bpp pseudocolor modes (with 18bit palette, two variants)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * 8 bpp pseudocolor mode (with 18bit palette)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) * 16 bpp truecolor modes (RGB 555 and RGB 565)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * 24 bpp truecolor mode (RGB 888) on (only on Virge VX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * 32 bpp truecolor mode (RGB 888) on (not on Virge VX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * text mode (activated by bpp = 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * interlaced mode variant (not available in text mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) * doublescan mode variant (not available in text mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * panning in both directions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * suspend/resume support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) * DPMS support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Text mode is supported even in higher resolutions, but there is limitation to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) lower pixclocks (maximum usually between 50-60 MHz, depending on specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) hardware, i get best results from plain S3 Trio32 card - about 75 MHz). This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) limitation is not enforced by driver. Text mode supports 8bit wide fonts only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) (hardware limitation) and 16bit tall fonts (driver limitation). Text mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) support is broken on S3 Trio64 V2/DX.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) There are two 4 bpp modes. First mode (selected if nonstd == 0) is mode with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) packed pixels, high nibble first. Second mode (selected if nonstd == 1) is mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) with interleaved planes (1 byte interleave), MSB first. Both modes support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 8bit wide fonts only (driver limitation).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Suspend/resume works on systems that initialize video card during resume and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) if device is active (for example used by fbcon).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Missing Features
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) (alias TODO list)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) * secondary (not initialized by BIOS) device support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) * big endian support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) * Zorro bus support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) * MMIO support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) * 24 bpp mode support on more cards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) * support for fontwidths != 8 in 4 bpp modes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) * support for fontheight != 16 in text mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) * composite and external sync (is anyone able to test this?)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) * hardware cursor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) * video overlay support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) * vsync synchronization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) * feature connector support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) * acceleration support (8514-like 2D, Virge 3D, busmaster transfers)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) * better values for some magic registers (performance issues)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Known bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) * cursor disable in text mode doesn't work
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) * text mode broken on S3 Trio64 V2/DX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) --
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Ondrej Zajicek <santiago@crfreenet.org>