Launchpad has imported 12 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=7358.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2006-06-29T03:33:59+00:00 Xorgbugs wrote:

The FireMV 2400 card is a PCI card with two Radeon M9 chips connected via a PLX
PCI-PCI bridge. The system BIOS only initializes the first M9 but the driver
needs to initialize the second M9, this worked in Xorg 7.0 but doesn't work
anymore in 7.1. The result is the second M9 is completely un initialized and
will hard hang the system as soon as someone tries to access it (like moving the
mouse from screen 2 to 3).

The cause seems that Xorg 7.1 does a better job in detecting PCI-ROMs and finds
the PCI-ROM of the second chip (that is only 2k in size and does not hold the
BIOS, but probably just the chip settings), because it finds the ROM it does not
check if it is a multi device card, and so never initializes the second M9. 

The diff shows a way to work around this problem on my (and only my) system, by
checking for the PCI-ID (2:5.0) of the second M9 and skip the BIOS detection
code and directly go to the multi device detection code. With this patch my card
works correctly. Of course this is no real sollution , it jsut shows that the
card does work, and where to look for a possible real solution. 

diff -ru xorg-server-1.1.0.orig/hw/xfree86/os-support/bus/Pci.c
xorg-server-1.1.0.er/hw/xfree86/os-support/bus/Pci.c
--- xorg-server-1.1.0.orig/hw/xfree86/os-support/bus/Pci.c      2006-05-19
01:51:34.000000000 +0200
+++ xorg-server-1.1.0.er/hw/xfree86/os-support/bus/Pci.c        2006-06-29
00:25:52.000000000 +0200
@@ -1305,16 +1305,21 @@
   PCITAG *pTag;
   int i;

-  /* fall back to the old code if the OS code fails */
-  if (pciOSHandleBIOS) {
-       n = pciOSHandleBIOS(Tag, basereg, buf, len);
-       if (n)
-               return n;
-  }
+  /* MEGA DIRTY FOR ME ONLY TEST HACK */
+
+  if ( !((PCI_BUS_FROM_TAG(Tag) == 2) && (PCI_DEV_FROM_TAG(Tag) == 5) &&
(PCI_FUNC_FROM_TAG(Tag) == 0))) {
+    /* fall back to the old code if the OS code fails */
+    if (pciOSHandleBIOS) {
+       n = pciOSHandleBIOS(Tag, basereg, buf, len);
+       if (n)
+                       return n;
+    }

-  n = handlePciBIOS( Tag, basereg, buf, len );
-  if (n)
-      return n;
+    n = handlePciBIOS( Tag, basereg, buf, len );
+    if (n)
+       return n;
+
+  }

   num = pciTestMultiDeviceCard(PCI_BUS_FROM_TAG(Tag),
                               PCI_DEV_FROM_TAG(Tag),

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/0

------------------------------------------------------------------------
On 2006-06-29T03:37:09+00:00 Xorgbugs wrote:

Created attachment 6072
the patch from the bug report

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/1

------------------------------------------------------------------------
On 2006-06-29T04:18:59+00:00 Airlied-freedesktop wrote:

can you attach the ROM output of the second ROM?

echo 1 > /sys/path_to_rom
then cat /sys/path_to_rom > /tmp/test.bin

it should be 2K...

I'm just trying to figure out how to fix this nicely from Linux or from
X.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/2

------------------------------------------------------------------------
On 2006-06-29T04:48:33+00:00 Xorgbugs wrote:

(In reply to comment #2)
> can you attach the ROM output of the second ROM?
> 
> echo 1 > /sys/path_to_rom
> then cat /sys/path_to_rom > /tmp/test.bin

Technically no problem, but can we go around posting ATI roms on the net without
being sued by ATI ?

> it should be 2K...

ls -l shows its full length as specified in the BAR register, but reading it
will return only 2k (which is specified in the ROM header after the AA 55).

> 
> I'm just trying to figure out how to fix this nicely from Linux or from X.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/3

------------------------------------------------------------------------
On 2006-06-29T04:53:16+00:00 Airlied-freedesktop wrote:

(In reply to comment #3)
> (In reply to comment #2)
> > can you attach the ROM output of the second ROM?
> > 
> > echo 1 > /sys/path_to_rom
> > then cat /sys/path_to_rom > /tmp/test.bin
> 
> Technically no problem, but can we go around posting ATI roms on the net 
> without
> being sued by ATI ?

okay send me a copy by direct e-mail [email protected].

> 
> > it should be 2K...
> 
> ls -l shows its full length as specified in the BAR register, but reading it
> will return only 2k (which is specified in the ROM header after the AA 55).
> 
> > 
> > I'm just trying to figure out how to fix this nicely from Linux or from X.

The problem is we can't trust any length field in a ROM we always discover a ROM
that lies through its arse.. I'm wondering if some sort of listing might be
needed. I'll think about it a bit, also why the old X code works and Linux
kernel doesn't..



Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/4

------------------------------------------------------------------------
On 2006-06-30T09:01:57+00:00 Xorgbugs wrote:

I found out another problem, I move the card to the final machine and got the
following error from handlePciBIOS(...);

"Cannot find empty range to map base to"

This was because it tried to find a 64MB range in from 0xe800_0000 -
0xe080f_ffff.  This range was the range for everything but the framebuffer. 

The cause was that it tried to find a place to put the BIOS but used the lenght
of BAR0 (the framebuffer of 64MB). 

The reason seemed to be that in HandlePciBios() there is the following
code;

  Acc1 = pciReadLong(Tag, PCI_CMD_STAT_REG);
  pciWriteLong(Tag, PCI_CMD_STAT_REG, (Acc1 & ~PCI_ENA));

  for (i = 0; i < num; i++) {
    Acc2 = pciReadLong(pTag[i], PCI_CMD_STAT_REG);
    pciWriteLong(pTag[i], PCI_CMD_STAT_REG, (Acc2 | PCI_ENA));

    n = handlePciBIOS( pTag[i], 0, buf, len );

    pciWriteLong(pTag[i], PCI_CMD_STAT_REG, Acc2);
    if (n)
      break;
  }
  pciWriteLong(Tag, PCI_CMD_STAT_REG, Acc1);
  return n;


There you can see the handlePciBIOS is always called with 0 as the region
number, when i change this to basereg (which is passed as an argument) it 
works. 

Also i tried to replace handlePciBIOS with pciOSHandleBIOS but that did not
work. So it seems the second chip can only be initialized by the handlePciBIOS
function.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/5

------------------------------------------------------------------------
On 2007-02-27T01:32:42+00:00 Daniel Stone wrote:

Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA
contact so bugs don't get lost in future.

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/6

------------------------------------------------------------------------
On 2007-03-14T10:03:32+00:00 Xorgbugs wrote:

Ok I got the server working with DRI but it is very tricky. I made two
xorg.conf files one for head 1&2 and one for head 3&4. The one for head
1&2 is a "normal" mergedfb config, the one for head 3&4 needs the Option
"BiosLocation" "primary:0xc000" else it will not work.

Now the real tricky part is that the order of starting the servers is
important, first head 3&4 then head 1&2, and you have to wait with the
starting of head 1&2 until you have a picture on head 3&4. I start my
servers like this;

/usr/bin/Xorg :1 vt07 -noreset -br -dpms -config /etc/X11/xorg_1.conf &
sleep 10
/usr/bin/Xorg :0 vt07 -noreset -br -dpms -config /etc/X11/xorg_0.conf &

After that I get two 1600x600 3D accelerated screens on 4 monitors. If
you need something like one screen you will need DMX i guess.

I will attach the config files later.


Reply at: 
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1091380/comments/7

------------------------------------------------------------------------
On 2007-03-14T10:04:48+00:00 Xorgbugs wrote:

Created attachment 9141
Xorg config file for head 1&2

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/8

------------------------------------------------------------------------
On 2007-03-14T10:05:15+00:00 Xorgbugs wrote:

Created attachment 9142
Xorg config file for head 3&4

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/9

------------------------------------------------------------------------
On 2007-03-14T10:06:29+00:00 Xorgbugs wrote:

(In reply to comment #5)

The patching from comment #5 is not needed in Xorg 7.2, it works with
the BiosLocation option.


Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/10

------------------------------------------------------------------------
On 2012-12-17T19:08:47+00:00 Chris Bainbridge wrote:

Just to note that Xorg still fails on the FireMV 2400, I filed a bug on
Launchpad before discovering this bug report
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380

[TBH, I didn't realise this card was unsupported, or so old and rare.. I
guess there is little chance of the driver being fixed now that the more
popular and modern eyefinity cards support multiple monitors and with
better performance]

Reply at: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
ati/+bug/1091380/comments/14


** Changed in: xserver-xorg-driver-ati
       Status: Unknown => Confirmed

** Changed in: xserver-xorg-driver-ati
   Importance: Unknown => High

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xserver-xorg-video-ati in Ubuntu.
https://bugs.launchpad.net/bugs/1091380

Title:
  Xorg fails to start on ATI FireMV 2400 quad monitor video card

Status in X.org XServer - ATI gfx chipset driver:
  Confirmed
Status in “xserver-xorg-video-ati” package in Ubuntu:
  New

Bug description:
  Using Ubuntu Precise with all latest updates.

  [with FireMV 2400 must boot kernel with "nomodeset" otherwise it will
  hang, bug #1091382 ]

  X.Org X Server 1.11.3
  Release Date: 2011-12-16
  X Protocol Version 11, Revision 0
  Build Operating System: Linux 2.6.42-23-generic x86_64 Ubuntu
  Current Operating System: Linux tove 3.2.0-34-generic #53-Ubuntu SMP Thu Nov 
15 10:48:16 UTC 2012 4
  Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-34-generic 
root=UUID=8415d962-23c8-4b89-9400-e0
  Build Date: 29 August 2012  12:12:33AM
  xorg-server 2:1.11.4-0ubuntu10.8 (For technical support please see 
http://www.ubuntu.com/support)
  Current version of pixman: 0.24.4
          Before reporting problems, check http://wiki.x.org
          to make sure that you have the latest version.
  Markers: (--) probed, (**) from config file, (==) default setting,
          (++) from command line, (!!) notice, (II) informational,
          (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
  (==) Log file: "/var/log/Xorg.0.log", Time: Thu Dec  6 21:16:17 2012
  (==) Using config file: "/etc/X11/xorg.conf"
  (==) Using system config directory "/usr/share/X11/xorg.conf.d"
  (II) [KMS] drm report modesetting isn't supported.
  [tcsetpgrp failed in terminal_inferior: Operation not permitted]
    XRANDR name: DVI-1
    Connector: DVI-I
    CRT1: INTERNAL_DAC1
    DFP1: INTERNAL_TMDS1
    DDC reg: 0x60
    XRANDR name: DVI-0
    Connector: DVI-I
    CRT2: INTERNAL_DAC2
    DFP2: INTERNAL_DVO1
    DDC reg: 0x64
  finished output detect: 0
  Unhandled monitor type 0
  finished output detect: 1
  finished all detect
  Unhandled monitor type 0
  Entering TV Save
  Save TV timing tables
  s

  At this point the system hangs or reboots. When hung there is no
  response to ping so I guess the GPU has hung the kernel.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
  ProcVersionSignature: Ubuntu 3.2.0-34.53-generic 3.2.33
  Uname: Linux 3.2.0-34-generic x86_64
  .tmp.unity.support.test.0:

  ApportVersion: 2.0.1-0ubuntu15
  Architecture: amd64
  CompizPlugins: 
[core,bailer,detection,composite,opengl,decor,mousepoll,scale,regex,imgpng,vpswitch,workarounds,wall,compiztoolbox,resize,place,gnomecompat,session,expo,move,ezoom,unitymtgrabhandles,staticswitcher]
  CompositorRunning: None
  Date: Mon Dec 17 18:35:45 2012
  DistroCodename: precise
  DistroVariant: ubuntu
  DkmsStatus:
   virtualbox, 4.1.12, 3.2.0-32-generic, x86_64: installed
   virtualbox, 4.1.12, 3.2.0-33-generic, x86_64: installed
   virtualbox, 4.1.12, 3.2.0-34-generic, x86_64: installed
  ExtraDebuggingInterest: Yes,
  GraphicsCard:
   Advanced Micro Devices [AMD] nee ATI ES1000 [1002:515e] (rev 02) (prog-if 00 
[VGA controller])
     Subsystem: Dell PowerEdge T105 Embedded ATI ES1000 [1028:0225]
   Advanced Micro Devices [AMD] nee ATI FireMV 2250 [1002:719b] (prog-if 00 
[VGA controller])
     Subsystem: Advanced Micro Devices [AMD] nee ATI Device [1002:0602]
     Subsystem: Advanced Micro Devices [AMD] nee ATI Device [1002:0603]
  MachineType: Dell Inc. PowerEdge T105
  MarkForUpload: True
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-34-generic 
root=UUID=8415d962-23c8-4b89-9400-e00e4ad9a25f ro
  SourcePackage: xserver-xorg-video-ati
  UpgradeStatus: Upgraded to precise on 2010-10-30 (778 days ago)
  XorgConf:
   Section "ServerFlags"
   Option "NoTrapSignals" "true"
   EndSection
  dmi.bios.date: 07/30/2009
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: 1.4.4
  dmi.board.name: 0RR825
  dmi.board.vendor: Dell Inc.
  dmi.board.version: A00
  dmi.chassis.type: 7
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: 
dmi:bvnDellInc.:bvr1.4.4:bd07/30/2009:svnDellInc.:pnPowerEdgeT105:pvr(none):rvnDellInc.:rn0RR825:rvrA00:cvnDellInc.:ct7:cvr:
  dmi.product.name: PowerEdge T105
  dmi.product.version: (none)
  dmi.sys.vendor: Dell Inc.
  nvidia-installer.log:

  version.compiz: compiz 1:0.9.7.8+bzr3121-0ubuntu1
  version.ia32-libs: ia32-libs 20090808ubuntu36
  version.libdrm2: libdrm2 2.4.32-1ubuntu1
  version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.4-0ubuntu0.2
  version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental 
8.0.4-0ubuntu0.2
  version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.4-0ubuntu0.2
  version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu10.8
  version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1.2
  version.xserver-xorg-video-ati: xserver-xorg-video-ati 
1:6.14.99~git20111219.aacbd629-0ubuntu2
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4.2
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 
1:0.0.16+git20111201+b5534a1-1build2

To manage notifications about this bug go to:
https://bugs.launchpad.net/xserver-xorg-driver-ati/+bug/1091380/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to