It's a pretty minor problem, the card has 1 Mb, but svgalib detects 2 Mb. Looking at src/tvga8900.c tvga8900_init(), I think for an 8900B the mask for the memory size should be 0x03, not 0x07. Attached is a patch I made against the svgalib-1.4.1.pre.19990731.tar.gz tvga8900.c. It does the right mask under the card ID switch. There's a comment about how I found CRTC reg 0x1f containing 0x1f, and how the BIOS does the memsize. cd svgalib-1.4.1/src patch