# [Solved] Matrox video terrible performance

## wpkzz

Evening fellow gentooers

I am setting this Dell server machine (T630) and it has an integrated graphics card which lspci detects as:

```

lspci | grep VGA

09:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01)

```

Right now I am running kernel gentoo-sources 4.0.5 and xorg-server 1.16.4. The machine uses UEFI boot and GPT.

I have tried various kernel configurations with very poor results. Right now I get X running with twm or fluxbox without transparency and the performance is abismal.

I am using the kernel module mga as module. If I try to use mgag200 (the one of kernel modesseting, I think) something weird happens: this kernel claims the PCI device and blocks mga, so X cannot start. 

So, right now the relevant parts of my kernel .config are these:

```

Device Drivers --> 

    Graphics Support--->

         <M> /dev/agpart --->

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

          Direct Rendering Manager --->

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

                                               <M>   Matrox g200/g400

             (everything else here off, including    < > Kernel modesetting driver for MGA G200 server engines)            

          Frame Buffer Devices --->

                 <*> Support for frame buffer devices --->

                  [*] Enable Video Mode Handling Helpers                                                  │ │  

  │ │           [*] Enable Tile Blitting Support

                  [*] EFI-based Framebuffer Support 

                (everything else on this section turned off)

```

 I think there is nothing else relevant.

If I turn the kernel modesetting driver for MGA (mgag200) I get the following crash at Xorg.0.log

```

[    20.913] (II) LoadModule: "mga"

[    20.913] (II) Loading /usr/lib64/xorg/modules/drivers/mga_drv.so

[    20.925] (II) Module mga: vendor="X.Org Foundation"

[    20.925]    compiled for 1.16.4, module version = 1.6.3

[    20.925]    Module class: X.Org Video Driver

[    20.925]    ABI class: X.Org Video Driver, version 18.0

[    20.925] (II) LoadModule: "modesetting"

[    20.925] (WW) Warning, couldn't open module modesetting

[    20.925] (II) UnloadModule: "modesetting"

[    20.925] (II) Unloading modesetting

[    20.925] (EE) Failed to load module "modesetting" (module does not exist, 0)

[    20.925] (II) LoadModule: "fbdev"

[    20.925] (WW) Warning, couldn't open module fbdev

[    20.925] (II) UnloadModule: "fbdev"

[    20.925] (II) Unloading fbdev

[    20.925] (EE) Failed to load module "fbdev" (module does not exist, 0)

[    20.925] (II) LoadModule: "vesa"

[    20.925] (WW) Warning, couldn't open module vesa

[    20.925] (II) UnloadModule: "vesa"

[    20.925] (II) Unloading vesa

[    20.925] (EE) Failed to load module "vesa" (module does not exist, 0)

[    20.925] (II) MGA: driver for Matrox chipsets: mga2064w, mga1064sg, mga2164w,

        mga2164w AGP, mgag100, mgag100 PCI, mgag200, mgag200 PCI,

        mgag200 SE A PCI, mgag200 SE B PCI, mgag200 EV Maxim,

        mgag200 ER SH7757, mgag200 eW Nuvoton, mgag200eH, mgag400, mgag550

[    20.925] (--) using VT number 7

[    20.980] (EE) mga: The PCI device 0x534 at 09@00:00:0 has a kernel module claiming it.

[    20.980] (EE) mga: This driver cannot operate until it has been unloaded.

[    20.980] (EE) mga: The PCI device 0x534 at 09@00:00:0 has a kernel module claiming it.

[    20.980] (EE) mga: This driver cannot operate until it has been unloaded.

[    20.980] (EE) No devices detected.

[    20.980] (EE) 

Fatal server error:

[    20.980] (EE) no screens found(EE) 

[    20.980] (EE) 

```

If I either blacklist said module or simply do not build it, then I get X running, but the performance is abismal, even a simple xterm takes a LOT of time to refresh or

scroll down when doing a cat or less command, and top reports that X is using 99.4% of a CPU and 0.1% memory. Moving firefox-bin window is a drag.

Another quite irrelevant question: How does everyone does those nice schemes of the kernel menuconfig? I am the only homo erectus here doing them by hand? 

Greetings and thanks in advance

wpkzzLast edited by wpkzz on Fri Aug 28, 2015 7:39 pm; edited 1 time in total

----------

## Buffoon

While I have no clue how matrox driver works nowadays I'd say if it uses KMS you need to enable it and turn off all framebuffers.

----------

## wpkzz

Dear Buffon:

Turning them all down, including the EFI and so on? I shall try that. I should also mention that I emerged X11 with

```

VIDEO_CARDS="mga"

```

ony. 

I shall try to boot the machine with the SystemRescueCD today and see how it looks. I remember performing much beter. I'll try to check what it is using.

----------

## Ant P.

The "G200" there exists only because it's the the lowest common denominator VGA hardware still produced - it doesn't actually have the G200 3D engine. It's for emergency console access, not running a desktop on your server.

----------

## wpkzz

Yep, Ant P. I have discovered that. It is something I expected. The point is that we wanted (originally) to use the server both as server and desktop machine (is for number crunching calculations on a lab, so the "server" part is not exactly loaded).

We did not thought about it when it was bought, we supposed that all modern computers have a somewhat descent vga card... to our dismay. Any way, here is a configurations that sort of has good performance.

```

Device Drivers --->

        Graphics Support --->

           <*> /dev/agpart ---> (nothing inside this subsection)

         Framebuffer devices --->

             {*} Support for frame buffer devices  --->                                       

                 [*] Enable firmware EDID

             [*] Enable Video Mode Handling Helpers                                             

             [*] Enable Tile Blitting Support  

              [*] EFI-based Framebuffer Support

              <M> Matrox acceleration                                                            

  │ │        [ ]   Millennium I/II support                                                      

  │ │        [ ]   Mystique support                                                           

  │ │        [*]   G100/G200/G400/G450/G550 support                                            

  │ │        < >   Matrox I2C support                                                         

```

and then emerge xorg-drivers with this in make.conf

```

INPUT_DEVICES="evdev" 

VIDEO_CARDS="fbdev modesetting v4l vesa"

```

It is more like try randomly with educated guesses than really solving it, but it is much better now.

Thank to all.

----------

