# Matrox G200: Help w/ 3D [SOLVED]

## MartyParish

I've been at this for days now. My kids and I would love to try some 3D games, but they are too slow to play. I found that my prob was "direct rendering: No".

I've tried this HOW-TO: http://www.gentoo.org/doc/en/dri-howto.xml with no success.

Could someone please help me get this working?

Here is some relevent info:

Kernel: 2.6.14-ck6

-----------------------------------------------

tux / # dmesg | grep agp

Linux agpgart interface v0.101 (c) Dave Jones

agpgart: Detected an Intel 440BX Chipset.

agpgart: AGP aperture is 64M @ 0x44000000

--------------------------------------------------

tux / # dmesg | grep drm

[drm] Initialized drm 1.0.0 20040925

-------------------------------------------------

tux / # lspci

0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)

0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)

0000:00:0d.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)

0000:00:0f.0 Ethernet controller: Linksys NC100 Network Everywhere Fast Ethernet 10/100 (rev 11)

0000:00:14.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)

0000:00:14.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)

0000:00:14.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)

0000:00:14.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)

0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 03)

--------------------------------------------------

tux root # lsmod

Module                  Size  Used by

drm                    64352  -

-------------------------------------------------

tux / # glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

...

...

--------------------------------------------

Thanks in advance!Last edited by MartyParish on Thu Dec 15, 2005 2:57 pm; edited 1 time in total

----------

## outspoken

can you show what you have marked in your kernel under the device drivers>character devices section...

example of mine:

Device Drivers > Character Devices >

<*> /dev/agpgart (AGP Support)

<*>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support 

<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

<M>   Intel I810

<M>   Intel 830M, 845G, 852GM, 855GM, 865G

<M>     i830 driver

<M>     i915 driver  

I have an Intel based on-board chipset.

----------

## MartyParish

Outspoken, thanks for lending a hand! I've tried a few ways:

The first way, as I took from the 3D HOW-TO:

<M> /dev/agpgart (AGP Support) 

<*>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support 

< >  Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) 

...(then emerged x11-drm and edited my xorg.conf)

Then today I tried DRM in the kernel:

<*> /dev/agpgart (AGP Support) 

<*>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support 

<M>  Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) 

<M>  Matrox g200/g400   

All the debug info from my first post came from the first kernel config above.

thanks again for helping.

----------

## outspoken

 *MartyParish wrote:*   

> 
> 
> Then today I tried DRM in the kernel:
> 
> <*> /dev/agpgart (AGP Support) 
> ...

 

so it is working for you now? =)

----------

## MartyParish

No, I'm stuck. I am currently going through the HOW-TO (http://www.gentoo.org/doc/en/dri-howto.xml) from the top. This time I am updating xorg-x11. I already had 6.8.2-r1, so I didn't do it the first time. The instructions say it is not necessary.

I'm definately still lookin for some help   :Very Happy: 

----------

## outspoken

i just ahve to ask this so that i'm clear on all the events that took place. after setting DRM and G200/400 in the kernel as modules you recompiled and loaded those modules right?

can you check lsmod to verify this just for sanity's sake.  :Wink: 

----------

## MartyParish

Here is the output:

tux marty # lsmod

Module                  Size  Used by

drm                    64352  -

----------

## outspoken

 *MartyParish wrote:*   

> Here is the output:
> 
> tux marty # lsmod
> 
> Module                  Size  Used by
> ...

 

we should be seeing the matrox (mga i believe) module in this list as it was compiled as a module.

```

insmod mga

```

to insert the module.

if that works you want to add it to load at boot by entering it into your /etc/modules.autoload.d/kernel-2.6 file (by simply putting mga on a line by itself).

if this still does not work check to see if you have MTRR enabled in your kernel by doing the following:

```

grep MTRR /usr/src/linux/.config

```

it should return this:

CONFIG_MTRR=y

----------

## MartyParish

Thanks again for your time...it's much appreciated.

I do have MTRR enabled and confirmed it with the command you gave.

Here is what I get with insmod:

tux root # insmod mga

insmod: can't read 'mga': No such file or directory

Then I try modprobe:

tux root # modprobe mga

FATAL: Error inserting mga (/lib/modules/2.6.14-ck6/x11-drm/mga.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Dmesg says:

tux root # dmesg | grep mga

mga: Unknown symbol pci_pretty_name

mga: Unknown symbol pci_pretty_name

I've dug around trying to figure the 'Unknown symbol pci_pretty_name' problem. No solution so far!

----------

## MartyParish

Looks like it's a bug:

https://bugs.gentoo.org/show_bug.cgi?id=109757

 *Quote:*   

> The pci_pretty_name symbol has been removed in the kernel sources for 2.6.13 and
> 
> onwards. This prevents one from loading the appropiate drm module for their card.
> 
> The current snapshot of the x11-drm package has not been patched to deal with this. 
> ...

 

----------

## MartyParish

SOLVED!

I had to manually edit two of the drm source files, as instructed in the "pci_pretty_name cleanups patch". They actually list 11, but they are for the different chipsets.

http://archive.netbsd.se/?ml=dri-devel&a=2005-10&m=1431088

I ended up using the built-in kernel drm, rather than the x11-drm package.

I ended up getting 300fps with glxgears(not great I know). I had been getting around 130 before. 

We can play 3d games now!

----------

## outspoken

sweet! congrats on the workaround there, glad its working for you now.  :Wink: 

----------

