You are not logged in.

#1 2012-11-07 17:21:58

qwertypoke
Member
Registered: 2011-09-06
Posts: 28

Acceleration and DRI for Matrox G550

I have had a hard time getting acceleration and direct rendering working on Matrox G550 on current software. This old hardware seems to be very poorly supported any more. The source for my information is https://bbs.archlinux.org/viewtopic.php?id=137666. I started a new topic for Matrox G550 and possibly other Matrox cards that have the same issues.

I will first list what I have observed and learned.

xorg-server 1.13 does not support XAA acceleration. EXA acceleration support is very faulty. Almost all acceleration options have to be turned off for EXA. Otherwise the server crashes on startup.

    Option "AccelMethod" "EXA"
    Option "EXANoComposite" "True"
#    Option "EXANoUploadToScreen" "True"
    Option "EXANoDownloadFromScreen" "True"

You do not get DRI with this setup -> Video output is horribly jerky.

GLX worked before my last system update. Now glxgears is also not hardware accelerated. I did not try to find out what broke it this time because the direct rendering issue is still a bigger problem.

My guess is that XAA support is not going to return to xorg-server. I also guess that nobody is going to fix the problems with EXA for such old hardware. My solution for now and possibly for ever is to freeze xorg-server 1.12 and some other packages needed for DRI and acceleration. I would not mind being proven wrong in my presumptions. Frozen packages tend to become a problem sooner or later.

I have installed:

xorg-server-1.12.4-1
from /var/cache/pacman/pkg

xf86-video-mga-1.5.0-1
This is from abs. I compiled it with modified PKGBUILD:

./configure --prefix=/usr --enable-dri

mga-dri-7.11.2-3
This is from current repo. Not frozen for now.

xf86-video-vesa-2.3.2-1
from /var/cache/pacman/pkg

xf86-input-evdev-2.7.3-1
from /var/cache/pacman/pkg

/etc/pacman.conf contains:

IgnorePkg   = xf86-input-evdev xf86-video-mga xf86-video-vesa xorg-server

This is also the relevant part of my /var/log/pacman.log. I had to clean it up quite a lot because I made several attempts with different package versions before I realised that I had not yet reinstalled lxdm which had some ill effect on starting the graphical environment.

[2012-11-07 09:59] Running 'pacman -Rs lxdm'
[2012-11-07 10:00] warning: /etc/lxdm/lxdm.conf saved as /etc/lxdm/lxdm.conf.pacsave
[2012-11-07 10:00] warning: /etc/lxdm/Xsession saved as /etc/lxdm/Xsession.pacsave
[2012-11-07 10:00] removed lxdm (0.4.1-18)
[2012-11-07 10:00] Running 'pacman -Rs xorg-server'
[2012-11-07 10:00] removed xorg-server (1.13.0-3)
[2012-11-07 10:00] removed xorg-server-common (1.13.0-3)
[2012-11-07 10:01] Updating font cache... done.
[2012-11-07 10:01] removed xorg-fonts-misc (1.0.1-2)
[2012-11-07 10:01] removed xf86-input-evdev (2.7.3-2)
[2012-11-07 10:01] removed mtdev (1.1.3-1)
[2012-11-07 10:05] Running 'pacman -U /var/cache/pacman/pkg/xf86-input-evdev-2.7.3-1-i686.pkg.tar.xz'
[2012-11-07 10:05] installed mtdev (1.1.3-1)
[2012-11-07 10:05] installed xf86-input-evdev (2.7.3-1)
[2012-11-07 10:05] Running 'pacman -U /var/cache/pacman/pkg/xorg-server-1.12.4-1-i686.pkg.tar.xz'
[2012-11-07 10:05] removed xf86-video-mga (1.6.2-2)
[2012-11-07 10:05] removed xf86-video-vesa (2.3.2-2)
[2012-11-07 10:06] Updating font cache... done.
[2012-11-07 10:06] installed xorg-fonts-misc (1.0.1-2)
[2012-11-07 10:06] installed xorg-server-common (1.13.0-3)
[2012-11-07 10:06] installed xorg-server (1.12.4-1)
[2012-11-07 10:07] Running 'pacman -U /var/cache/pacman/pkg/xf86-video-vesa-2.3.2-1-i686.pkg.tar.xz'
[2012-11-07 10:07] installed xf86-video-vesa (2.3.2-1)
[2012-11-07 10:18] Running 'pacman -U /abs_build_directory/xf86-video-mga-1.5.0-1-i686.pkg.tar.xz'
[2012-11-07 10:18] installed xf86-video-mga (1.5.0-1)
[2012-11-07 10:40] Running 'pacman -S lxdm'
[2012-11-07 10:40] installed lxdm (0.4.1-18)
[2012-11-07 10:44] Running 'pacman -S mga-dri'
[2012-11-07 10:44] installed mga-dri (7.11.2-3)

This is my /etc/X11/xorg.conf if anybody is interested. I admit it contains a lot of old obscure stuff that could be cleaned out. The card is dual head. I have connected:

Nokia 449Xi, 1024x768, 80 Mhz
and
Sony KDL-26S2010 LCD TV, 1366x768

Section "Module"
   Load        "dbe"  	
   SubSection  "extmod"
      Option    "omit xfree86-dga"  
   EndSubSection
   Load        "type1" # Commented out JTJ 10.4.2010
   Load        "freetype" # Commented out JTJ 10.4.2010
   Load       "glx"
   Load       "dri"
EndSection

Section "Files"
    FontPath   "/usr/share/fonts/misc/"
    FontPath   "/usr/share/fonts/TTF/"
    FontPath   "/usr/share/fonts/Type1/"
    FontPath   "/usr/share/fonts/75dpi/"
    FontPath   "/usr/share/fonts/100dpi/"
    FontPath   "/usr/share/fonts/local/"
EndSection

Section "ServerFlags"
    Option  "AIGLX" "off"
EndSection

Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbModel" "chicony9885"	
    Option "XkbLayout"	"fi"
EndSection

Section "InputDevice"
    Identifier	"Mouse0"
    Driver	"mouse"
    Option "Protocol"    "Auto"
# Comment following out for usb wireless mouse
    Option "Device"      "/dev/input/mouse0"
    Option    "ZAxisMapping"    "4 5"
EndSection

Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "evdev"
        Option      "Name" "Logitech USB RECEIVER"
EndSection

Section "Monitor"
    Identifier  "NOKIA"
    HorizSync   30-65
    ModeLine     "1024x768" 84.0 1024 1040 1136 1312 768 769 772 800 +hsync +vsync 
    VertRefresh 48-120
    Option       "dpms"
EndSection

Section "Monitor"
    Identifier  "TV"
    HorizSync   48.4, 47.4, 47.7
    VertRefresh 60
EndSection

Section "Device"
    Identifier  "G550"
    Driver      "mga"
    VendorName  "Matrox"
    VideoRam    32768
    Option "Crtc2Half" "True"
    Option "DPMS" "true"
    BusID       "PCI:1:0:0"
    Screen           0
EndSection

Section "Device"
    Identifier  "G550 TV"
    Driver      "mga"
    VendorName  "Matrox"
    BusID       "PCI:1:0:0"
    Screen            1
EndSection 

Section "Screen"
    Identifier  "Screen 0"
    Device      "G550"
    Monitor     "NOKIA"
    DefaultDepth 24
    Option "Accel"
    Subsection "Display"
        Depth       8
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
EndSection

Section "Screen"
    Identifier  "Screen 1"
    Device      "G550 TV"
    Monitor     "TV"
    DefaultDepth 24
    Option "Accel"
    Subsection "Display"
        Depth       16
	Modes      "1360x768"
       ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
	Modes      "1360x768"
        ViewPort    0 0
    EndSubsection
EndSection

#Section "ServerLayout"
#    Identifier  "dual_1"
#    Screen "Screen 0" LeftOf "Screen 1"
#    Screen "Screen 1"
#    InputDevice "Mouse1" "CorePointer"
#    InputDevice "Keyboard1" "CoreKeyboard"
#    Option "OffTime" "15"
#EndSection

Section "ServerLayout"
    Identifier  "single_1"
    Screen "Screen 0"
#    Screen "Screen 1"
    InputDevice "Mouse0" "CorePointer"
#    Optical mouse
#    InputDevice "Mouse1" "AlwaysCore" 
    InputDevice "Keyboard1" "CoreKeyboard"
#    Option "OffTime" "15"
EndSection

Section "DRI"
	Mode 0666
EndSection

Last edited by qwertypoke (2013-10-29 17:34:45)

Offline

Board footer

Powered by FluxBB