Bug 441070

Summary: mga[G450/G550] Xinerama broken since xorg-server 1.5
Product: [openSUSE] openSUSE 11.3 Reporter: Thorsten Kukuk <kukuk>
Component: X.OrgAssignee: Egbert Eich <eich>
Status: RESOLVED WONTFIX QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Minor    
Priority: P4 - Low CC: christian.bronk, forgotten_HRModrwbKF, sndirsch
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: SaX.log
Xorg.0.log
xorg.conf
Patch against xf86-video-mga-1.4.11 from OpenSuSE 11.3 milestone6

Description Thorsten Kukuk 2008-11-03 14:22:39 UTC
Created attachment 249382 [details]
SaX.log

the X server does not work anymore with the openSUSE 11.0 config, had to go back to xorg-x11-server, xorg-x11-driver-video and xorg-x11-driver-input from 11.0.
Comment 1 Thorsten Kukuk 2008-11-03 14:23:56 UTC
Created attachment 249383 [details]
Xorg.0.log
Comment 2 Thorsten Kukuk 2008-11-03 14:24:16 UTC
Created attachment 249384 [details]
xorg.conf
Comment 3 Stefan Dirsch 2008-11-03 14:48:04 UTC
Section "Device"
  BoardName    "G450 DH G450"
  BusID        "6:0:0"
  Driver       "mga"
  Identifier   "Device[0]"
  Option       "hwcursor" "off"
  Screen       0
  VendorName   "Matrox"
EndSection

Section "Device"
  BoardName    "G450 DH G450"
  BusID	       "6:0:0"
  Driver       "mga"
  Identifier   "Device[1]"
  Option       "hwcursor" "off"
  Screen       1
  VendorName   "Matrox"
EndSection

So you're still using the old Xinerama setup. Could be that this is no longer working. But mergedfb should still, which is our default for Matrox graphics cards for Dualhead since quite some time now. Could you try with "sax2 -r" to generate a Mergedfb configuration?
"sax2 -r -b /usr/share/sax/profile/Matrox_DualHead" forces SaX2 to generate the old Xinerama setup, which aparently no longer works. :-(

BTW, "sax2 -r -m 0=radeonrandr12" gives you a RANDR 1.2 configuration, but I don't consider this driver stable enough to make it the default.
Comment 4 Stefan Dirsch 2008-11-03 15:20:50 UTC
> BTW, "sax2 -r -m 0=radeonrandr12" gives you a RANDR 1.2 configuration, but I
> [...]

I mean "mgarandr12" ...
Comment 5 Thorsten Kukuk 2008-11-03 15:22:58 UTC
Yes, it is the old, true DualHead configuration, which seems not to be possible with Mergedfb.

Mergedfb is configureable as clone or xinerama, but the outcome is completly unuseable. Drawing/refresh does not seem to work at all if you click on "test", the whole screen is unreadable/unuseable.
Comment 6 Stefan Dirsch 2008-11-03 22:05:23 UTC
I'll try to reproduce these issues.
Comment 7 Stefan Dirsch 2008-11-04 17:16:45 UTC
I think I know why MergedFB doesn't work for you. It needs the mga_hal module, which simply doesn't exist on x86_64. This is a WONTFIX. Remains the Xinerama issue ...
Comment 8 Stefan Dirsch 2008-11-05 17:37:19 UTC
Indeed MergedFB doesn't work on x86_64 due to HAL library not available.

  (EE) MGA(0): HALLib not loaded! NOT using "Merged Framebuffer" mode.

Result is cloned mode. Not really interesting for a Dualhead setup. 

The old Xinerama setup doesn't work for me either. At least not on x86_64.

[...]
(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 Maxim, mgag200 Winbond,
        mgag400, mgag550
(II) Primary Device is: PCI 02@00:00:0
(II) resource ranges after xf86ClaimFixedResources() call:
        [0] -1  0       0xffffffff - 0xffffffff (0x1) MX[B]
        [1] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [5] -1  0       0x00000000 - 0x00000000 (0x1) IX[B]
(EE) Screen 0 deleted because of no matching config section.
(II) UnloadModule: "mga"
(EE) Device(s) detected, but none match those in the config file.

Fatal server error:
no screens found
Comment 9 Stefan Dirsch 2008-11-05 17:42:31 UTC
Still works with Xserver and mga driver of 11.0. Verified.
Comment 10 Stefan Dirsch 2008-11-05 18:13:12 UTC
Rebuilding xf86-video-mga 1.4.8 of 11.0 against 11.1 Xserver doesn't help either. Sounds like a regression in the Xserver to me.
Comment 11 Stefan Dirsch 2008-11-07 15:47:48 UTC
Tried also the mga driver from RANDR 1.2 branch. This driver builds, but doesn't work at all. Complete framebuffer distortion. Mouse doesn't work, etc ... Latest git commit January 2008 (probably another given up project).

This might sound rude, but I consider trying to use a Matrox G450 (released in 2000) on x86_64 a corner case. I suggest to use the 11.0 RPMs for now or change graphics card. Let me know which BUS you're using (likely PCI or AGP) and I'll
give you a Dualhead capable graphics card in exchange.

Reassigning to Egbert. I'm sure he wants to look into this at some point.
Comment 12 Egbert Eich 2008-11-07 20:54:16 UTC
Not as long as this is marked critical, I'm on vacation and will go on a business trip tomorrow.
Sorry, I don't want to sound rude but please resolve the severity issue and then assign it to me.
Reassigning back to the original assignee.
Comment 13 Stefan Dirsch 2008-12-16 14:31:05 UTC
*** Bug 457076 has been marked as a duplicate of this bug. ***
Comment 14 Stefan Dirsch 2009-01-03 08:30:39 UTC
*** Bug 463358 has been marked as a duplicate of this bug. ***
Comment 15 Forgotten User HRModrwbKF 2009-01-05 06:55:46 UTC
Dear Stefan Dirsch,

the G450 is still sold in shops today. As I am not a native english speaker, please translate your "corner case" comment. Does it mean: if you install a new linux distribution, buy new hardware? Sounds like KleinWeich if you know what I mean...

Sorry to be rude ...
Comment 16 Stefan Dirsch 2009-01-05 08:12:21 UTC
With corner case I mean only a very small amount of users are still using AGP graphics cards from 2000. If they do they very likely still have a 32bit machine so they can use MergedFB instead of the old Xinerama setup.

I'm aware that Matrox began to offer a PCIe G550 card (indeed I did my tests on
such a card), but I'm really wondering who buys such a graphics card (> 100 EUR), which comes with graphics performance from 2000.

Thus this bugreport has been marked as minor with low priority. Hope you can
understand this.
Comment 17 Christian Deckelmann 2009-03-17 14:21:27 UTC
Is that offer from Comment #11 still valid?
I have updated from 11.0 to 11.1 and my xinerama setup (three heads, 2 on matrox g450, one on mach64) is no longer working.

Or is this a different scenario for which I should open a new bug report?
Comment 18 Stefan Dirsch 2009-03-17 14:56:12 UTC
I think it's the same scenario. Even worse with 3 heads and 2 different graphics drivers. The offer was meant for Thorsten and a two head setup. 3 heads would be rather difficult. Perhaps doable with a special nvidia card using the proprietary driver.
Comment 19 Christian Deckelmann 2009-03-17 15:21:24 UTC
I'd be happy if dual head would work. Right now I have a single head config.
So, is there a chance to get at least dual head working again?
Comment 20 Stefan Dirsch 2009-03-17 15:35:45 UTC
(In reply to comment #19)
> I'd be happy if dual head would work. Right now I have a single head config.
> So, is there a chance to get at least dual head working again?

At this moment not on x86_64 with Matrox. With a different graphics card, yes.
On i586 dualhead with Matrox should still work.
Comment 21 Thorsten Kukuk 2009-03-17 15:47:32 UTC
(In reply to comment #19)
> I'd be happy if dual head would work. Right now I have a single head config.
> So, is there a chance to get at least dual head working again?

There is an easy way to solve this:

Downgrade the following packages to 11.0 and set a lock with zypper:

2 | xorg-x11-server                 | package | (jedes)
3 | xorg-x11-driver-video           | package | (jedes)
4 | xorg-x11-driver-input           | package | (jedes)
5 | xorg-x11-driver-video-radeonhd  | package | (jedes)
6 | xorg-x11-driver-video-unichrome | package | (jedes)

Afterwards, you can use zypper to install updates, but your x11 driver will not be updated. Works fine for me.
Comment 22 Christian Deckelmann 2009-03-17 17:01:12 UTC
Sorry, I should have mentioned that I am using i586. Shall we debug this further in this bug?
Comment 23 Stefan Dirsch 2009-03-17 17:07:40 UTC
If mga dualhead on i586 no longer works for you this is a different issue and needs to be handled seperately.
Comment 24 Stefan Dirsch 2009-05-21 11:48:39 UTC
At least there is some hope to get this feature again.

http://lists.x.org/archives/xorg-devel/2009-May/000828.html
http://lists.x.org/archives/xorg-devel/2009-May/000928.html
Comment 25 Christian Bronk 2010-05-21 07:20:08 UTC
Created attachment 363715 [details]
Patch against xf86-video-mga-1.4.11 from OpenSuSE 11.3 milestone6

This patch fixes the xinerama setup for me. 

My setup: Matrox G550 on a X86_64

Please add this to the current Factory tree.
Comment 26 Stefan Dirsch 2010-05-21 07:45:38 UTC
Christian, may I ask where this patch comes from?
Comment 27 Christian Bronk 2010-05-21 08:01:47 UTC
I`ve found them on the Ubuntu Bugzilla

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-mga/+bug/292214
Comment 28 Stefan Dirsch 2010-08-14 10:27:09 UTC
Likely related to Bug #554947. But no promises that the Xserver fix for that bug fixes also this one ...
Comment 29 Stefan Dirsch 2010-08-14 16:06:44 UTC
Moving to 11.3.
Comment 30 Stefan Dirsch 2010-12-09 05:40:37 UTC
Still anybody using such a card? I don't think so.
Comment 31 Thorsten Kukuk 2010-12-09 07:03:32 UTC
(In reply to comment #30)
> Still anybody using such a card? I don't think so.

Of course does nobody use such a card anymore. How should they if we broke the driver and don't fix it????????
Comment 32 Christian Deckelmann 2010-12-09 07:39:15 UTC
(In reply to comment #31)
> (In reply to comment #30)
> > Still anybody using such a card? I don't think so.
> 
> Of course does nobody use such a card anymore. How should they if we broke the
> driver and don't fix it????????

Correct. I moved my 3 Heads Setup (mga and mach64) setup to a Radeon RV250.
Just to find out that the Radeon doesn´t play well with the mach64.
Which leavs me with 2 heads on the Radeon for now.
Hoped that at some point in time the mga would work again.
As this doesn´t seem to happen, shall I open a bug for the Radeon/Mach64 setup?
Comment 33 Stefan Dirsch 2010-12-09 09:19:18 UTC
Well, things are more complicated. Dualcard support has been broken upstream by the introduction of libpciaccess. Xinerama on one card is also no longer working. Meanwhile each and every driver with any relevance moved to RANDR >= 1.2 (intel, radeon, nouveau; also radeonhd/nv, which are no longer much in use). Even fglrx does and nvidia plans to do so.

There has been some work upstream to fix the dualcard/Xinerama issue, but believe me testing with Matrox/Mach64 will be lowest priority in any case. Most likely testing will be limited with Radeon/Intel/Nvidia cards as combination. Anything which supports KMS. There are no KMS drivers for Matrox/Mach64.

We can reopen the bug and wait until everybody has thrown away his AGP machine
in a few years or face the reality now. Your decision.