I have had some suggestions, so I thought I'd report back on my complete
lack of progress.
I tried going back to the original 2.4.10 as shipped with Suse 7.3. I set
the line "vga=normal" for lilo and booted it up. Again it started OK in
text mode. Then I started X. Again it was OK, but when I tried to switch
back to the console using Ctrl-Alt-F1, it crashed.
Next I tried the Matrox drivers from their website. The only difference
was that the machine made a nasty beeping noise when it crashed.
I have now gone back to 2.4.4 from Suse 7.2 and it works fine.
My XF86Config has the following lines for the Matrox card:
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"
# The chipset line is optional in most cases. It can be used to override
# the driver's chipset detection, and should not normally be specified.
# Chipset "generic"
# The Driver line must be present. When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module. Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this
section.
Driver "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for. When this line isn't present, a device
# section can only match up with the primary video device. For PCI
# devices a line like the following could be used. This line should not
# normally be included unless there is more than one video device
# intalled.
# BusID "PCI:0:10:0"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
# Device configured by xf86config:
Section "Device"
Identifier "Matrox Millennium G400"
Driver "mga"
Option "NoHal"
#VideoRam 32768
# Insert Clocks lines here if appropriate
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "Matrox Millennium G400"
Monitor "My Monitor"
DefaultDepth 24
Subsection "Display"
Depth 8
Modes "640x480" "800x600" "1024x768" "1280x1024"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "640x480" "800x600" "1024x768" "1280x1024"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
#Modes "640x480" "800x600" "1024x768" "1280x1024"
Modes "1280x1024"
ViewPort 0 0
EndSubsection
EndSection
And an lspci -vvx shows:
01:05.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP
(rev 04) (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc. Millennium G400 32Mb SDRAM
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-