Page 1 of 1

Matrox graphics cards

Posted: Sun Aug 02, 2026 1:33 pm
by xeno74
I have bought the PCI graphics card Matrox G200 G2+/QUADP-PL/7 32MB with 4x DVI. It is an AGP card connected via PCI.

We use the new DRM driver MGAG200 since the kernel 7.2.0-rc4 and the old DRM legacy driver for Matrox g200/g400 graphics cards since the stable long-term kernel 5.10.260.

Image

Image

Image

Image

lspci -vvv

Code: Select all

0001:05:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03) (prog-if 00 [VGA controller])
	Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at c20000000 (32-bit, prefetchable) [size=16M]
	Region 1: Memory at c21000000 (32-bit, non-prefetchable) [size=16K]
	Region 2: Memory at c21800000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at c21010000 [disabled] [size=64K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [f0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Kernel driver in use: mgag200

0001:05:04.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03)
	Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at c22000000 (32-bit, prefetchable) [size=16M]
	Region 1: Memory at c23000000 (32-bit, non-prefetchable) [size=16K]
	Region 2: Memory at c23800000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at c21020000 [disabled] [size=64K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [f0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Kernel driver in use: mgag200

0001:05:08.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03)
	Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at c24000000 (32-bit, prefetchable) [size=16M]
	Region 1: Memory at c25000000 (32-bit, non-prefetchable) [size=16K]
	Region 2: Memory at c25800000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at c21030000 [disabled] [size=64K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [f0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Kernel driver in use: mgag200

0001:05:0c.0 Display controller: Matrox Electronics Systems Ltd. MGA G200 AGP (rev 03)
	Subsystem: Matrox Electronics Systems Ltd. G200 Multi-Monitor
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 128 (4000ns min, 8000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at c26000000 (32-bit, prefetchable) [size=16M]
	Region 1: Memory at c27000000 (32-bit, non-prefetchable) [size=16K]
	Region 2: Memory at c27800000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at c21040000 [disabled] [size=64K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [f0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Kernel driver in use: mgag200
I tested it with Void PPC on my X5000/40 today. Unfortunately, the DRM driver mgag200 can't read the PCI ROM. Maybe only an x86 ROM?

dmesg | grep -i mga

Code: Select all

[    2.302206] [drm] Initialized mgag200 1.0.0 for 0001:05:00.0 on minor 1
[    2.303761] mgag200 0001:05:00.0: [drm] Cannot find any crtc or sizes
[    2.304697] mgag200 0001:05:04.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    2.305792] [drm] Initialized mgag200 1.0.0 for 0001:05:04.0 on minor 2
[    2.308281] mgag200 0001:05:04.0: [drm] Cannot find any crtc or sizes
[    2.308802] mgag200 0001:05:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    2.309319] [drm] Initialized mgag200 1.0.0 for 0001:05:08.0 on minor 3
[    2.309785] mgag200 0001:05:00.0: [drm] Cannot find any crtc or sizes
[    2.310900] mgag200 0001:05:08.0: [drm] Cannot find any crtc or sizes
[    2.311895] mgag200 0001:05:0c.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    2.312633] [drm] Initialized mgag200 1.0.0 for 0001:05:0c.0 on minor 4
[    2.312844] mgag200 0001:05:04.0: [drm] Cannot find any crtc or sizes
[    2.315512] mgag200 0001:05:0c.0: [drm] Cannot find any crtc or sizes
[    2.317178] mgag200 0001:05:08.0: [drm] Cannot find any crtc or sizes
[    2.323318] mgag200 0001:05:0c.0: [drm] Cannot find any crtc or sizes
xrandr detects the ports but reports that they are not connected, even though the cables are plugged in.

Code: Select all

VGA-4-4 disconnected (normal left inverted right x axis y axis)
VGA-3-3 disconnected (normal left inverted right x axis y axis)
VGA-2-2 disconnected (normal left inverted right x axis y axis)
VGA-1-1 disconnected (normal left inverted right x axis y axis)
I also tested it with the stable long-term kernel 5.10.261 with the old legacy DRM drivers for Matrox graphics cards.
I installed the Xorg MGA server xf86-video-mga-2.0.0_3 for the old legacy DRM driver but unfortunately I get only a black screen.

lspci -nnk | grep VGA

Code: Select all

0000:01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cayman PRO GL [FirePro V7900] [1002:6704]
0001:05:00.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. MGA G200 AGP [102b:0521] (rev 03)

Re: Matrox graphics cards

Posted: Sun Aug 02, 2026 8:21 pm
by xeno74
I reported the issue to the kernel developers today.

Link: drm/mgag200: Fix big-endian support