Bug 127731 - No DRM support for Matrox cards
No DRM support for Matrox cards
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2004-07-12 19:43 EDT by Nicola
Modified: 2015-01-04 17:07 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-01-13 17:36:35 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Nicola 2004-07-12 19:43:46 EDT
Description of problem:
Under FC2, no drm support for matrox cards. Used to be there in 2.4 .
Other cards have it (radeon, sis, ...) .

Version-Release number of selected component (if applicable):
Kernel 2.6.6-1.435.2.3

How reproducible:

name of display: :0.0
display: :0  screen: 0
direct rendering: No

Steps to Reproduce:
1. read first lines of glxinfo, or

2. read /var/log/Xorg.0.log :
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: Open failed
[drm] failed to load kernel module "agpgart"
[drm] failed to load kernel module "mga"
(II) MGA(0): [drm] drmOpen failed
(EE) MGA(0): [drm] DRIScreenInit failed.  Disabling DRI.

3. run any 3d program (e.g. screensaver)
Actual results:
No 3D support anymore.

Expected results:
3d support as in FC1 and before.

Additional info:
When compiling kernel from source, the option is not available from
gxconfig but relevant mga source files are present in:

My motherboard chipset - sis 755 is supported. With other cards (e.g.   
radeon) 3d feature should work (not actually tested)

xorg-x11 driver is present in
Comment 1 Mike A. Harris 2004-07-13 05:23:46 EDT
DRM is part of the kernel, not xorg-x11....

reassigning to kernel...
Comment 2 Dave Jones 2004-10-25 23:36:26 EDT
is this still causing a problem with the errata kernel ?
Comment 3 Oli Wade 2004-11-14 20:32:15 EST
This is still an issue with the "2.6.8-1.521" kernel.

If you look in the file
"/usr/src/linux-2.6.8-1.521/drivers/char/drm/Kconfig", the following
seems to be to blame:
config DRM_MGA
        tristate "Matrox g200/g400"
        depends on DRM && AGP && (!X86_64 || BROKEN)
          Choose this option if you have a Matrox G200, G400 or G450
          card.  If M is selected, the module will be called mga.  AGP
          support is required for this driver to work.


I was able to compile the mga.ko module by editing that file.

Afterwards, I copied it to
"/lib/modules/2.6.8-1.521/kernel/drivers/char/drm/" and then did
"modprobe -vf mga". It loaded fine with the following message: "mga:
no version magic, tainted kernel".

Now DRM seems to work fine:

(II) MGA(0): [drm] bpp: 32 depth: 24
(II) MGA(0): [drm] Sarea 2200+664: 2864
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmGetBusid returned ''
(II) MGA(0): [drm] created "mga" driver at busid "PCI:1:0:0"
(II) MGA(0): [drm] added 8192 byte SAREA at 0xffffff0000268000
(II) MGA(0): [drm] mapped SAREA 0xffffff0000268000 to 0x2a97e8d000
(II) MGA(0): [drm] framebuffer handle = 0xf8000000
(II) MGA(0): [drm] added 1 reserved context for kernel
(II) MGA(0): [agp] Mode 0x1f000211 [AGP 0x1106/0x0282; Card 0x102b/0x2527]
(II) MGA(0): [agp] 12288 kB allocated with handle 0x00000001
(II) MGA(0): [agp] WARP microcode handle = 0xf0000000
(II) MGA(0): [agp] WARP microcode mapped at 0x2a97e8f000
(II) MGA(0): [agp] Primary DMA handle = 0xf0008000
(II) MGA(0): [agp] Primary DMA mapped at 0x2a97e97000
(II) MGA(0): [agp] DMA buffers handle = 0xf0108000
(II) MGA(0): [agp] DMA buffers mapped at 0x2a97f97000
(II) MGA(0): [drm] Added 128 65536 byte DMA buffers
(II) MGA(0): [agp] agpTexture handle = 0xf0908000
(II) MGA(0): [agp] agpTexture size: 2816 kb
(II) MGA(0): [drm] Registers handle = 0xfa000000
(II) MGA(0): [drm] Status handle = 0xffffff000027d000
(II) MGA(0): [agp] Status page mapped at 0x2a98797000
(II) MGA(0): [dri] visual configs initialized
(II) MGA(0): Memory manager initialized to (0,0) (1600,2399)
(II) MGA(0): Largest offscreen area available: 1600 x 1199
(II) MGA(0): Reserved back buffer at offset 0xea6000
(II) MGA(0): Reserved depth buffer at offset 0x15f9000
(II) MGA(0): Reserved 2768 kb for textures at offset 0x1d4c000
(II) MGA(0): Using XFree86 Acceleration Architecture (XAA)
        Screen to screen bit blits
        Solid filled rectangles
        Solid filled trapezoids
        8x8 mono pattern filled rectangles
        8x8 mono pattern filled trapezoids
        Indirect CPU to Screen color expansion
        Screen to Screen color expansion
        Solid Lines
        Dashed Lines
        Scanline Image Writes
        Offscreen Pixmaps
        Setting up tile and stipple cache:
                32 128x128 slots
                19 256x256 slots
(==) MGA(0): Backing store disabled
(==) MGA(0): Silken mouse enabled
(**) Option "dpms"
(**) MGA(0): DPMS enabled
(II) MGA(0): Using overlay video
(II) MGA(0): X context handle = 0x00000001
(II) MGA(0): [drm] installed DRM signal handler
(II) MGA(0): [DRI] installation complete
(II) MGA(0): [drm] Mapped 128 DMA buffers
(II) MGA(0): [drm] dma control initialized, using IRQ 217
(==) MGA(0): Direct rendering enabled

I ran glxgears for a few minutes and got a consistent 403FPS. I have
an Abit AV8 motherboard and a Matrox G550 graphics card.
Comment 4 Oli Wade 2004-11-22 07:26:21 EST
It seems that this might be fixed in 2.6.10.

See: http://www.x86-64.org/lists/discuss/msg05878.html

"Reenable MGA DRI on x86-64"
Comment 5 Oli Wade 2005-01-13 17:30:00 EST
DRM works for me again with updated kernel "2.6.10-1.737_FC3"!

Note You need to log in before you can comment on or make changes to this bug.