Announcement

Collapse
No announcement yet.

G550: Low FPS in glxgears

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • G550: Low FPS in glxgears

    Hi!

    I'm using a Millenium G550 on Mandrake Cooker with XFree86 4.1.0 and the latest Matrox drivers. CPU is a Duron 800.

    When I run glxgears (from XFree86 4.1.0), I only get rather low (?) FPS:

    1684 frames in 5.0 seconds = 336.800 FPS
    1897 frames in 5.0 seconds = 379.400 FPS
    1927 frames in 5.0 seconds = 385.400 FPS
    1884 frames in 5.0 seconds = 376.800 FPS
    1949 frames in 5.0 seconds = 389.800 FPS

    gears from Mesa-demos-4.0 gives the same results.

    glx and DRI is enabled. DRM is also working.

    Are these results normal?

    Thanks,
    Alexander

  • #2
    You don't say what pixel depth you're running at; it makes a big difference.

    Running XFree86 v4.1.0 on a P3/850, my G400MAX gets 676fps at 32bpp and ~1100fps at 16bpp.

    This is with the current (v1.4.3, from last October) Matrox drivers for Linux. I haven't modified the drivers in anyway, nor am I using any sort of tweak utility.

    Comment


    • #3
      Oh, sorry, you're right, I should've mentioned the pixel depth.

      The results were from 24bpp.

      Hmm, what's the difference between a G400MAX and a G550? In other words: Why are your G400MAX results so *much* higher than mine? Besides, I cannot use 32bpp; if I try to, I get an error message saying the 32bpp aren't supported

      Comment


      • #4
        Well, the G400MAX is a better card (don't get me started on Matrox's current product line) than the G550, but it's not[B]that[/B much better.

        Below is a fragment of my XFConfig-4 file. It was generated by Matrox's PowerDesk v1.00.7. As mentioned in my previous post, I am using v1.4.3 of the display drivers.

        Section "Device"
        Identifier "MATROX CARD 1"
        Driver "mga"
        VendorName "Matrox Millennium G400"
        BoardName "Matrox Millennium G400"
        Option "AGPMode" "2"
        BusID "PCI:1:0:0"
        EndSection

        Section "Screen"
        Identifier "Display 1"
        Device "MATROX CARD 1"
        Monitor "Display 1"
        DefaultDepth 24
        DefaultFbBPP 32
        SubSection "Display"
        Depth 24
        Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
        Depth 16
        Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
        Depth 8
        Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
        EndSection

        Section "DRI"
        Mode 0666
        EndSection

        [Edit: Sigh. Sorry about the formatting. I don't how to make this stupid forum software maintain the indentations.]

        Last edited by Steve Snyder; 12 January 2002, 10:59.

        Comment


        • #5
          Well, seems like it really is that much better...

          Thanks for you XF86Config-4 excerpt. Looks pretty much like mine, however I use a custom modeline for 1152x864 to get 105 Hz with my monitor.

          I also use v1.4.3 of the drivers.

          ------ XF86Config-4 -----------------
          Code:
          Section "Files"
              RgbPath	"/usr/X11R6/lib/X11/rgb"
              FontPath   "unix/:-1"
          EndSection
          
          Section "ServerFlags"
              AllowMouseOpenFail
          EndSection
          
          Section "InputDevice"
              Identifier	"Keyboard1"
              Driver	"Keyboard"
              Option	"AutoRepeat"	"250 30"
          
              Option	"XkbRules"	"xfree86"
              Option	"XkbModel"	"pc105"
              Option	"XkbLayout"	"de"
          EndSection
          
          Section "InputDevice"
              Identifier	"Mouse1"
              Driver	"mouse"
              Option	"Protocol"    "IMPS/2"
              Option	"Device"      "/dev/mouse"
              Option	"ZAxisMapping" "4 5"
          EndSection
          
          Section "Module"
              Load	"dbe"
              SubSection	"extmod"
          	#Option	"omit xfree86-dga"
              EndSubSection
              Load	"type1"
              Load	"freetype"
              Load	"glx"
              Load	"dri"
          EndSection
          
          Section "DRI"
          	Mode 0666
          EndSection
          
          Section "Monitor"
              Identifier "monitor1"
              VendorName "Unknown"
              ModelName  "Unknown"
              HorizSync  30-95
          
              VertRefresh 47-160
          
          	Modeline "1152x864@95" 157.00  1152 1184 1776 1808    864 879  893  908
          
          	Modeline "1280x960@80" 157.80 1280 1312 1904 1936 960 978 991 1009 -hsync -vsync
          
          	Modeline "1280x1024@75" 157.80 1280 1312 1904 1936 1024 1043 1056 1076
          
          	Modeline  "1152x864OLD"  137.65 1152 1184 1312 1536 864 866 885 902 -hsync -vsync
          	Modeline  "1024x768OLD"  115.50 1024 1056 1248 1440 768 771 781 802 -hsync -vsync
          
          	Modeline "1152x864xvid"  137.65 1152 1176 1304 1536 864 866 885 902 -hsync -vsync
          	Modeline "1024x768xvid"  115.50 1024 1056 1248 1404 768 771 781 802 -hsync -vsync
          
          	Modeline "1152x864matrox" 157.00 1152 1208 1800 1804 864 879 893 908
          
          	ModeLine "1152x864@105Hz" 148.80 1152 1224 1352 1576 864 865 868 899 +hsync +vsync
          
          EndSection
          
          Section "Device"
              Identifier "Generic VGA"
              Driver     "vga"
          EndSection
          
          Section "Device"
              Identifier  "RIVA TNT2"
              VendorName  "Unknown"
              BoardName   "Unknown"
              Driver      "nvidia"
              Option      "DPMS"
          EndSection
          
          Section "Device"
          	Identifier	"Matrox G550"
          	VendorName	"Matrox"
          	BoardName	"G550"
          	Driver		"mga"
          	VideoRam	32768
          	Option		"AGPMode" "2"
          EndSection
          
          Section "Screen"
              Identifier "screen1"
              Device      "Matrox G550"
              Monitor     "monitor1"
              DefaultColorDepth 24
              Subsection "Display"
                  Depth       8
                  Modes       "1152x864" "1024x768" "800x600" "640x480"
                  ViewPort    0 0
              EndSubsection
              Subsection "Display"
                  Depth       15
                  Modes       "1152x864" "1024x768" "800x600" "640x480"
                  ViewPort    0 0
              EndSubsection
              Subsection "Display"
                  Depth       16
                  Modes       "1152x864@105Hz" "1024x768xvid" "800x600" "640x480"
                  ViewPort    0 0
              EndSubsection
              Subsection "Display"
                  Depth       24
                  Modes       "1152x864@105Hz" "1024x768xvid" "800x600" "640x480"
                  ViewPort    0 0
              EndSubsection
              Subsection "Display"
                  Depth       32
                  Modes       "1152x864@105Hz" "1024x768xvid" "800x600" "640x480"
                  ViewPort    0 0
              EndSubsection
          EndSection
          
          
          Section "ServerLayout"
              Identifier	"layout1"
              Screen	"screen1"
              InputDevice	"Mouse1"	"CorePointer"
              InputDevice	"Keyboard1"	"CoreKeyboard"
          EndSection

          Comment


          • #6

            [Edit: Sigh. Sorry about the formatting. I don't how to make this stupid forum software maintain the indentations.]
            Use "code" in [ and ]. At the end use "/code" in [ and ].

            Comment


            • #7
              Do Duron's have MTRRs? If so, maybe they're misconfigured. The last line pertains to my 32MB G400MAX:

              $ cat /proc/mtrr
              reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
              reg01: base=0xd8000000 (3456MB), size= 64MB: write-combining, count=1
              reg02: base=0xe0000000 (3584MB), size= 32MB: write-combining, count=2

              Have you looked in your /var/log/XFree86.0.log file? The startup messages might show some errors/warnings of interest.

              In the [Screen] section I see that I have "DefaultDepth 24", "DefaultFbBPP 32" where you have "DefaultColorDepth 24". Not sure of this means anything.

              Comment


              • #8
                Code:
                [askwar@teich Debian]$ cat /proc/mtrr 
                reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
                reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
                reg02: base=0xe4000000 (3648MB), size=  32MB: write-combining, count=2
                reg07: base=0xe6000000 (3680MB), size=  32MB: write-combining, count=2
                However, I don't have a clue what that means...

                The only warning/error lines I've got in the log are this:

                Code:
                (--) MGA(0): BIOS at 0xE3FE0000
                (--) MGA(0): Video BIOS info block at offset 0x07CC0
                (WW) MGA(0): Video BIOS info block not detected!
                [...]
                (**) MGA(0): Depth 24, (--) framebuffer bpp 32
                Nothing major, I'd suspect. Interesting is the "Depth..." line. I'll try to set the framebuffer bpp also to 24. Let's see if this does anything at all...

                Thanks for all your help up to now!

                - a little later -

                I've checked the MPlayer documentation, and if I do understand that correctly, MTRR is setup right. And if /proc/cpuinfo can be trusted, Durons (or at least mine) can do MTRR:

                Code:
                [root@teich root]# cat /proc/cpuinfo 
                processor	: 0
                vendor_id	: AuthenticAMD
                cpu family	: 6
                model		: 3
                model name	: AMD Duron(tm) Processor
                stepping	: 1
                cpu MHz		: 807.222
                cache size	: 64 KB
                fdiv_bug	: no
                hlt_bug		: no
                f00f_bug	: no
                coma_bug	: no
                fpu		: yes
                fpu_exception	: yes
                cpuid level	: 1
                wp		: yes
                flags		: fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
                bogomips	: 1608.90
                Also of interest might be the output of lspci -v:

                Code:
                01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 2527 (rev 01) (prog-if 00 [VGA])
                	Subsystem: Matrox Graphics, Inc.: Unknown device 0f84
                	Flags: bus master, medium devsel, latency 64, IRQ 11
                	Memory at e4000000 (32-bit, prefetchable) [size=32M]
                	Memory at e3000000 (32-bit, non-prefetchable) [size=16K]
                	Memory at e2800000 (32-bit, non-prefetchable) [size=8M]
                	Expansion ROM at e3fe0000 [disabled] [size=128K]
                	Capabilities: [dc] Power Management version 2
                	Capabilities: [f0] AGP version 2.0
                Well, I'll try the FrameBuffer thing now.

                Comment


                • #9
                  I just noticed another error message in my X logs:

                  Symbol vbeFree from module /usr/X11R6/lib/modules/drivers/mga_drv.o is unresolved!

                  I'm using the XFree86 version as supplied currently with Mandrake Cooker.

                  Comment


                  • #10
                    I fixed the "Symbol vbeFree...." error message by adding »Load "vbe"« and »Load "int10"« to the Module section.

                    Didn't change anything to the performance, though.

                    Comment


                    • #11
                      Try 16bpp first...

                      AskWar,

                      Try 16 bpp and tell us what numbers you get. The 24 bpp you are using is equivalent to 32 bpp. In 16 bpp you should get about 900 fps with your hardware. The DRI drivers are all optimized for 16bpp and take a major performance hit in 32 bpp. If you are ding anything other than running gears, you have no choice but to use the 16 bit color depth.

                      -Rahul
                      Porsche: MSI K7N2-L, Athlon XP 2100+, G400 32MB DualHead, 1G RAM, 2xMaxtor 20 GB, Gentoo Linux
                      Quicksilver: HP Omnibook 500, PIII 700 MHz, 512MB RAM, 30GB, RedHat Linux 9.

                      Comment


                      • #12
                        With 16bpp, I get about 820 FPS. That's better

                        Thanks.

                        Comment

                        Working...
                        X