Vassilis Virvilis wrote: > Antonino A. Daplas wrote: > >> If you can somehow dump the registers of the working and non-working >> mode, >> we might be able find a pattern. >> >> If you don't know how to dump the register contents, let me know and I'll >> send you a userspace utility to do that. >> >> > > I found dumpreg from the svgalib distribution (svgalib-bin in debian). > Is this > sufficient? It might not be sufficient as it won't be able to recognize savage extended VGA registers. > If not could you please send me the userspace utility you > mentioned > the other day? > Ok, attached, it's a quick hack. Before using it open the file savagedump.c and look for the following defines: #define PCI_ID 0x8d04 /* put the PCI id of the device here */ #define PCI_PBASE 0xdfe80000 /* put the start address of the PCI resource here */ and replace the above values with your own. First do "lspci -n | grep "Class 0300" and you'll get something like this: 01:00.0 Class 0300: 5333:8d04 Use the last 4 digit ID for the PCI_ID (ie 8d04): Then do lspci -v -n 5333:8d04 (using instead the vendor:device that you got) and you should get something like this: 01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266] (prog-if 00 [VGA]) Subsystem: Asustek Computer, Inc.: Unknown device 807b Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 16 Memory at dfe80000 (32-bit, non-prefetchable) [size=512K] Memory at d0000000 (32-bit, prefetchable) [size=128M] Expansion ROM at dfe70000 [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Capabilities: [80] AGP version 2.0 Look for the (32-bit, non-prefetchable) string, the 32-bit hex number is what you're going to use for your PCI_PBASE. Once you've done all of the above, compile the app: gcc -o savagedump savagedump.c You can now run savagedump as root inside X or the console. Better if you run it in xterm with X at different modes and with "UseBIOS" set to True and False. ./savagedump > /tmp/savagedump.txt Send me the files you got, or you may examine it on your own to find a pattern. Tony PS: This utility dumps only the CRTC and Sequencer registers. Hopefully that's enough. If not, we can revise it so it dumps all registers.