Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#5384 - Matrox g400 doesn't work after upgrading Xorg to 7.1

Attached to Project: Arch Linux
Opened by Michal Kubicki (mkubicki) - Sunday, 10 September 2006, 20:14 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 10 September 2006, 21:01 GMT
Task Type Bug Report
Category Packages: Current
Status Closed
Assigned To Jan de Groot (JGC)
Architecture not specified
Severity Critical
Priority Normal
Reported Version 0.7.2 Gimmick
Due in Version Undecided
Due Date 2006-09-11
Percent Complete 100%
Votes 0
Private No

Details

I did upgrade Xorg to 7.1 and there is something wrong with mga driver. I use Matrox g400 card and I can see my desktop no longer. My monitor is switching off every time I start X. It looks like a synchronization problem. I set X to start in 1024x768x85hz and it was always fine. Now i have to switch to 640x480x60hz to see anything.
This task depends upon

Closed by  Jan de Groot (JGC)
Sunday, 29 October 2006, 16:52 GMT
Reason for closing:  Fixed
Additional comments about closing:  1.4.4 should resolve the final G400 DRI lockups.
Comment by Jan de Groot (JGC) - Sunday, 10 September 2006, 20:24 GMT
Two things could be the problem here:
- MergedFB patch, which is an old patch originating from the X.Org 6.8 days, could be wrecked in 7.1
- mga_hal support, which was broken and fixed by getting a fixed binding.h from the semi-free drivers from matrox itself

Could you try to recompile xf86-video-mga from abs, removing the patch for mga-mergedfb-xinerama? If that doesn't work out either, you could try to remove the binding patch and remove the line that adds an "USEMGAHAL 1" line to config.h. My guess is that one of these two is the problem in your case.
Comment by Michal Kubicki (mkubicki) - Sunday, 10 September 2006, 21:26 GMT
I have recompiled driver without mga-mergedfb-xinerama, but it did not change anything. Then I was trying to compile it without mga-mergedfb-xinerama and "USEMGAHAL 1" but all I've got is this error:

Making all in src
make[2]: Entering directory `/var/abs/x11-drivers/xf86-video-mga/src/xf86-video-mga-1.4.1/src'
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT clientlx.lo -MD -MP -MF ".deps/clientlx.Tpo" -c -o clientlx.lo clientlx.c; \
then mv -f ".deps/clientlx.Tpo" ".deps/clientlx.Plo"; else rm -f ".deps/clientlx.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT clientlx.lo -MD -MP -MF .deps/clientlx.Tpo -c clientlx.c -fPIC -DPIC -o .libs/clientlx.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_arc.lo -MD -MP -MF ".deps/mga_arc.Tpo" -c -o mga_arc.lo mga_arc.c; \
then mv -f ".deps/mga_arc.Tpo" ".deps/mga_arc.Plo"; else rm -f ".deps/mga_arc.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_arc.lo -MD -MP -MF .deps/mga_arc.Tpo -c mga_arc.c -fPIC -DPIC -o .libs/mga_arc.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_bios.lo -MD -MP -MF ".deps/mga_bios.Tpo" -c -o mga_bios.lo mga_bios.c; \
then mv -f ".deps/mga_bios.Tpo" ".deps/mga_bios.Plo"; else rm -f ".deps/mga_bios.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_bios.lo -MD -MP -MF .deps/mga_bios.Tpo -c mga_bios.c -fPIC -DPIC -o .libs/mga_bios.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dac3026.lo -MD -MP -MF ".deps/mga_dac3026.Tpo" -c -o mga_dac3026.lo mga_dac3026.c; \
then mv -f ".deps/mga_dac3026.Tpo" ".deps/mga_dac3026.Plo"; else rm -f ".deps/mga_dac3026.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dac3026.lo -MD -MP -MF .deps/mga_dac3026.Tpo -c mga_dac3026.c -fPIC -DPIC -o .libs/mga_dac3026.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dacG.lo -MD -MP -MF ".deps/mga_dacG.Tpo" -c -o mga_dacG.lo mga_dacG.c; \
then mv -f ".deps/mga_dacG.Tpo" ".deps/mga_dacG.Plo"; else rm -f ".deps/mga_dacG.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dacG.lo -MD -MP -MF .deps/mga_dacG.Tpo -c mga_dacG.c -fPIC -DPIC -o .libs/mga_dacG.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dga.lo -MD -MP -MF ".deps/mga_dga.Tpo" -c -o mga_dga.lo mga_dga.c; \
then mv -f ".deps/mga_dga.Tpo" ".deps/mga_dga.Plo"; else rm -f ".deps/mga_dga.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dga.lo -MD -MP -MF .deps/mga_dga.Tpo -c mga_dga.c -fPIC -DPIC -o .libs/mga_dga.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dh.lo -MD -MP -MF ".deps/mga_dh.Tpo" -c -o mga_dh.lo mga_dh.c; \
then mv -f ".deps/mga_dh.Tpo" ".deps/mga_dh.Plo"; else rm -f ".deps/mga_dh.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_dh.lo -MD -MP -MF .deps/mga_dh.Tpo -c mga_dh.c -fPIC -DPIC -o .libs/mga_dh.o
if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_driver.lo -MD -MP -MF ".deps/mga_driver.Tpo" -c -o mga_driver.lo mga_driver.c; \
then mv -f ".deps/mga_driver.Tpo" ".deps/mga_driver.Plo"; else rm -f ".deps/mga_driver.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -march=i686 -O2 -pipe -I/usr/include/X11/extensions -MT mga_driver.lo -MD -MP -MF .deps/mga_driver.Tpo -c mga_driver.c -fPIC -DPIC -o .libs/mga_driver.o
mga_driver.c: In function 'MGAFillModeInfoStruct':
mga_driver.c:2678: error: 'MGAMODEINFO_FLATPANEL1' undeclared (first use in this function)
mga_driver.c:2678: error: (Each undeclared identifier is reported only once
mga_driver.c:2678: error: for each function it appears in.)
make[2]: *** [mga_driver.lo] Error 1
make[2]: Leaving directory `/var/abs/x11-drivers/xf86-video-mga/src/xf86-video-mga-1.4.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs/x11-drivers/xf86-video-mga/src/xf86-video-mga-1.4.1'
make: *** [all] Error 2
Comment by Jan de Groot (JGC) - Sunday, 10 September 2006, 21:53 GMT
Could you remove the src directory before retrying? could be that hal support is still enabled. Maybe there's a switch in ./configure to disable it these days.
Comment by Michal Kubicki (mkubicki) - Sunday, 10 September 2006, 22:41 GMT
I did remove src dir. Still can't compile it (the same error). There is no switch to enable or disable hal in ./configure script.
Comment by Jan de Groot (JGC) - Monday, 11 September 2006, 06:13 GMT
I was able to compile without both patches and removing the line that adds the define to config.h.
Comment by Michal Kubicki (mkubicki) - Monday, 11 September 2006, 08:32 GMT
Finally I managed to compile it as You said No patches no USEMGAHAL 1 but it still doesn't work.
Comment by Jan de Groot (JGC) - Monday, 11 September 2006, 09:59 GMT
Can't see any weird things in the logs. You might want to try mga_hal, which you should build as described in the last forum post I did in this thread:
http://bbs.archlinux.org/viewtopic.php?t=25021

Another option is using gtf to generate modelines, but looking at your logs that doesn't help much I think.
Comment by Michal Kubicki (mkubicki) - Tuesday, 12 September 2006, 11:51 GMT
I managed to compile mga_hal. This time seems to be no synch. problem however I get this error:

(==) Using config file: "/etc/X11/xorg.conf"

X: symbol lookup error: /usr/lib/xorg/modules/drivers/mga_drv.so: undefined symbol: MGAGetBOARDHANDLESize
XIO: fatal IO error 104 (Connection reset by peer) on X server ":0.0"
after 0 requests (0 known processed) with 0 events remaining.

I try the original mga driver from current, with or without patches, but it still doesn't work.
Comment by Jan de Groot (JGC) - Wednesday, 20 September 2006, 07:22 GMT
Try without the mga_hal module again, this time with the latest mga driver. There have been some updates to it, but I can't tell you if they fix your problems for sure.
Comment by 甘露(Lu Gan) (ganlu) - Thursday, 21 September 2006, 00:25 GMT
Gdm starts then fails, after several unsuccessful restart, xorg reports a error message. Doesn't try if startx can start x windows, have to wait to see and report lately when I go home.
Comment by Michal Kubicki (mkubicki) - Thursday, 21 September 2006, 08:45 GMT
I haven't got mga_hal for Xorg 7.1 but mga driver works fine now.
Thx
Comment by 甘露(Lu Gan) (ganlu) - Thursday, 21 September 2006, 11:24 GMT
Could you post your xorg.conf here, thanks. The following is mine.
Comment by 甘露(Lu Gan) (ganlu) - Thursday, 21 September 2006, 12:12 GMT
After installing mesa, it works. I think the bug can be closed. However why I have to install mesa is clueless.
Comment by Michal Kubicki (mkubicki) - Thursday, 21 September 2006, 12:43 GMT
Well... mga seems to work fine, but I've just found, that Direct Rendering doesn't work for some reason.

[kat@myhost ~]$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No
server glx vendor string: SGI
server glx version string: 1.2
[.....]
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.5.1)
[.....]

If the Direct Rendering problem isn't a result of incorrect configuration,  FS#5384  is not ready to be closed.
Comment by Jan de Groot (JGC) - Thursday, 21 September 2006, 18:17 GMT
What does LIBGL_DEBUG=1 glxinfo give?
Comment by Michal Kubicki (mkubicki) - Thursday, 21 September 2006, 21:07 GMT
mga_dri.so is missing.

name of display: :0.0
libGL error: dlopen /usr/lib/xorg/modules/dri/mga_dri.so failed (/usr/lib/xorg/modules/dri/mga_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: mga_dri.so
display: :0 screen: 0
direct rendering: No

Is it part of the matrox driver?
Comment by Jan de Groot (JGC) - Friday, 22 September 2006, 06:55 GMT
OK, my mistake. I took them out so I could work on mga_hal compilation, didn't add it back in after that and used that PKGBUILD as base for xf86-video-mga-1.4.2-1. A fixed driver with DRI drivers will appear in a little while.
Comment by Michal Kubicki (mkubicki) - Friday, 22 September 2006, 11:32 GMT
THX.
Comment by Michal Kubicki (mkubicki) - Sunday, 24 September 2006, 09:19 GMT
The latest mga driver brings DRI, but all OpenGL app. couses computer hangs.
Comment by Jan de Groot (JGC) - Sunday, 24 September 2006, 12:12 GMT
xf86-video-mga 1.4.2 was supposed to fix that.
Comment by Michal Kubicki (mkubicki) - Sunday, 24 September 2006, 12:25 GMT
Well... it did not :)

Loading...