Multihead desktop based on two or more ATI cards is not working

Bug #302458 reported by Arie Skliarouk
6
Affects Status Importance Assigned to Milestone
xserver-xorg-video-mach64 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

I have two video cards installed:
# lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)
02:02.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] (rev 9a)
#

Eventually, I want to use Xinerama across the two cards, but for now I want to use the Mach64 as a single X-Server.
If I take out the NVidia card, everything works perfectly (out of the Mach64 card). If I put the NVidia card back, then startx fails and following error is reported (in Xorg.0.log):

(**) MACH64(0): Depth 24, (--) framebuffer bpp 32
(==) MACH64(0): Using XAA acceleration architecture
(WW) MACH64: Mach64 in slot 2:2:0 could not be detected!
(II) UnloadModule: "mach64"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

I suspect some IRQ, ports or memory ranges conflict, but unfortunately I am not capable to diagnose it further. If this is the case, the error message above must be more informative.

Revision history for this message
Arie Skliarouk (skliarie) wrote :
Revision history for this message
Arie Skliarouk (skliarie) wrote :
Revision history for this message
Arie Skliarouk (skliarie) wrote :
Revision history for this message
Alberto Milone (albertomilone) wrote :

Currently it is not possible to use other drivers together with NVIDIA's proprietary driver. You can try uninstalling the "nvidia" driver and setting the driver back to "nv" (you will lose 3D acceleration though).

Revision history for this message
Arie Skliarouk (skliarie) wrote :

I uninstalled the binary driver (dpkg --purge nvidia-glx-173), changed "nvidia" to "nv" in the xorg.conf, rebooted, and still get the same error when trying to utilize only the mach64 card.

I don't know whether it is important, but the nvidia card is AGP based and the ATI one - is PCI based.

Find attached the Xorg.0.log after the above changes. Note lack of any nv specific drivers.

Revision history for this message
Alberto Milone (albertomilone) wrote :

1) It looks like you didn't uninstall the nvidia driver correctly:

(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
 compiled for 4.0.2, module version = 1.0.0
 Module class: X.Org Server Extension
(II) NVIDIA GLX Module 173.14.12 Thu Jul 17 18:36:35 PDT 2008
(II) Loading extension GLX

2) What's the output of this command?
sudo aptitude search nvidia

3) I would also like to see the output of this command (do it when both cards are plugged in):
lspci -vv

Revision history for this message
Arie Skliarouk (skliarie) wrote :

1) I did uninstalled the nvidia driver correctly - check the Xorg.0.log file I have attached to my previous comment.

2) aptitude search nvidia
p nvidia-173-kernel-source - NVIDIA binary kernel module source
p nvidia-173-modaliases - Modaliases for the NVIDIA binary X.Org dri
p nvidia-177-kernel-source - NVIDIA binary kernel module source
p nvidia-177-modaliases - Modaliases for the NVIDIA binary X.Org dri
p nvidia-71-kernel-source - NVIDIA binary kernel module source
p nvidia-71-modaliases - Modaliases for the NVIDIA binary X.Org dri
p nvidia-96-kernel-source - NVIDIA binary kernel module source
p nvidia-96-modaliases - Modaliases for the NVIDIA binary X.Org dri
p nvidia-cg-toolkit - NVIDIA Cg Toolkit Installer
p nvidia-common - Find obsolete NVIDIA drivers
v nvidia-glx -
p nvidia-glx-173 - NVIDIA binary Xorg driver
p nvidia-glx-173-dev - NVIDIA binary Xorg driver development file
p nvidia-glx-177 - NVIDIA binary Xorg driver
p nvidia-glx-177-dev - NVIDIA binary Xorg driver development file
p nvidia-glx-71 - NVIDIA binary Xorg driver
p nvidia-glx-71-dev - NVIDIA binary Xorg driver development file
p nvidia-glx-96 - NVIDIA binary Xorg driver
p nvidia-glx-96-dev - NVIDIA binary Xorg driver development file
v nvidia-glx-dev -
p nvidia-kernel-common - NVIDIA binary kernel module common files
v nvidia-kernel-source -
p nvidia-settings - Tool of configuring the NVIDIA graphics dr
p nvidia-xconfig - The NVIDIA X Configuration Tool

3) Find attached output of lspci -vv attached to this comment

Revision history for this message
Arie Skliarouk (skliarie) wrote :

Interesting observation: When I changed in BIOS option "Primary Display" from "AGP/PCI" to "PCI/AGP", the ATI card worked even in presence of NVidia one. There was no splash screen visible, but I guess this is due to boot process using nvidia framebuffer driver (as this is what was used during the installation).

BTW, where is it set up?

On the other side, when I tried to use only NVidia card I got following in the /var/log/Xorg.0.log:
...
(--) NV: Found NVIDIA GeForce FX 5200 at 01@00:00:0
(II) resource ranges after probing:
        [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]
(II) Loading sub module "int10"
(II) LoadModule: "int10"

(II) Loading /usr/lib/xorg/modules//libint10.so
(II) Module int10: vendor="X.Org Foundation"
        compiled for 1.5.2, module version = 1.0.0
        ABI class: X.Org Video Driver, version 4.1
(II) NV(0): Initializing int10
############And startx got stuck here.
CTRL+C did not work and kill also. kill -9 from remote ssh helped, but the screen remain dark.

Looks to me as some obscure resources conflict somewhere...

Revision history for this message
Alberto Milone (albertomilone) wrote :

As far as I know RandR 1.2 (which the "ati" driver supports) does not support multiple graphics cards yet and this is why the Xserver crashes.

The only solution I'm aware of would be to use 2 NVIDIA cards (supported by the same version of the nvidia driver) with the proprietary driver.

Revision history for this message
Arie Skliarouk (skliarie) wrote :

Xserver is not crashing in case of ATI, just gets stuck.

I just tried to put in Cirrus Logic card (instead of ATI) one and got similar results (when trying to use only the Cirrus Logic card):

(II) Loading /usr/lib/xorg/modules//libint10.so
(II) Module int10: vendor="X.Org Foundation"
        compiled for 1.5.2, module version = 1.0.0
        ABI class: X.Org Video Driver, version 4.1
(II) CIRRUS(0): initializing int10

Then I put two ATI cards (both cards are of PCI type):
# lspci | grep VGA
02:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] (rev 9a)
02:02.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] (rev 9a)
#

The first card works perfectly (in single mode) and the second shows similar problems as above:
(WW) MACH64: Mach64 in slot 2:2:0 could not be detected!
(II) UnloadModule: "mach64"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

Despite of BusID "PCI:2:02:0" specification in the xorg.conf file.

I am starting to suspect the motherboard (MSI 865PE Neo3), as on other machine (ASUS P4S8X-X) I have similar configuration (also two ATI cards of slightly different type) and the dual-screen works there.

In any case find attached result of "lspci -vv" command on the problematic machine with two PCI ATI cards.

Revision history for this message
Alberto Milone (albertomilone) wrote :

I suggested 2 nvidia cards instead of 2 ati cards because the nvidia driver doesn't support RandR 1.2.

What driver are you using on the other PC (with the 2 working ati cards)? ATI's proprietary driver (fglrx) or the open source driver (ati)? Also what distribution (which version) are you using there?

Revision history for this message
Arie Skliarouk (skliarie) wrote :

I don't have 2 nvidia cards I can use.

On the machine with 2 working ati cards file xorg.conf specifies driver "ati" for both cards, not the flgrx one. Looking at xorg.0.log files shows that the "ati" module loaded "mach64" module to handle the cards.

Both cards are of PCI type:
# lspci | grep ati
00:08.0 VGA compatible controller: ATI Technologies Inc 264VT [Mach64 VT] (rev 40)
00:09.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] (rev 9a)
#

The distro is debian and the package is from the unstable branch: xserver-xorg-video-ati of version 1:6.9.0-1+lenny4
I don't know how the version corellates to the version 1:6.9.0+git20081003.f9826a56-0ubuntu2 of ubuntu 8.10.

Revision history for this message
Alberto Milone (albertomilone) wrote :

what's the output of the following command (in Debian)?
xrandr --verbose

Revision history for this message
Arie Skliarouk (skliarie) wrote :

[~]$ xrandr --verbose
Xlib: extension "RANDR" missing on display ":0.0".
RandR extension missing
[~]$

I don't need RANDR extension as the dual-screens setup is not subjected to resolution changes or such.

Revision history for this message
Arie Skliarouk (skliarie) wrote :

I did an test today - took the harddisk (with debian unstable) from the other, working machine, plugged it into the new machine, booted, adjusted BusID parameters in xorg.conf and X-Windows worked! On both screens in Xinerama configuration as on the other machine.

Find attached resulting xorg.conf.

I don't want to mess the ubuntu install, but if you think it is worthwhile to install the debian's package on top of ubuntu one, tell me. Could be the debian added some patch that is not present in ubuntu's version?

Revision history for this message
Arie Skliarouk (skliarie) wrote :

I installed the xserver-xorg-* packages from debian-unstable onto ubuntu 8.10 and now the dual-screen setup works for me.

In case there will be updated xserver-xorg packages for ubuntu 8.10, I will check them.

Bryce Harrington (bryce)
Changed in xserver-xorg-video-mach64:
status: New → Confirmed
Revision history for this message
Tormod Volden (tormodvolden) wrote :

There will probably not be any updated packages for Intrepid. Please test Jaunty to see if the issue is the same. There is however bug 311748 which looks similar.

Revision history for this message
Arie Skliarouk (skliarie) wrote :

I have upgraded my system to ubuntu 9.04 (Jaunty Jackalope), which overwrote the debian packages I have installed on top of ubuntu 8.10, and got to the same point as with clean ubuntu 8.10 install:
Only the first ATI videocard (out of 3) works. The other two screen indicate "No signal" situation.

Then I have installed the same packages as before (taken from debian unstable) and regained support of three ATI cards multihead:
x11-common_1%3a7.3+18_all.deb
xserver-xorg_1%3a7.3+18_i386.deb
xserver-xorg-core_2%3a1.4.2-10_i386.deb
xserver-xorg-input-kbd_1%3a1.3.1-1_i386.deb
xserver-xorg-input-mouse_1%3a1.3.0-1_i386.deb
xserver-xorg-video-ati_1%3a6.9.0-1+lenny4_i386.deb
xserver-xorg-video-mach64_6.8.0-1_i386.deb
xserver-xorg-video-r128_6.8.0-1_i386.deb
xserver-xorg-video-radeon_1%3a6.9.0-1+lenny4_i386.deb

It should be pretty popular configuration - multihead desktop based on ATI cards. Does the configuration work out-of-the-box for other ubuntu users but not me??

Revision history for this message
Nase (davidbertram) wrote :

not the same, but also trouble with two ati cards.

HD3450
HD3850

I can use the first one out of the box.. the best thing for the second card was to switch monitor energy mode from standby to active.
but no screen, better, this happened when both screens did not show any screen at all.. ended with hardware reset to reboot.

Mainboard is MSI K9A2-CF
BIOS: 1.A

using "X -configure" from rescue root console
and starting X with the new conf "X -config /root/xorg.conf.new"
seemed more helpfull than loosing hours with manual editing xorg.conf..

but both ways did not lead anywhere for now.
i could just attach both screens to card 1.. but I want to activate TV-out from, at best, both cards.. somewhere in future :D

i tried getting dual screen with one monitor attached to each card, but no success.
not with fglrx and not with mesa... radeonhd is next to try

another thing is, that i cannot install ubuntu 9.04 64 bit right now.. another problem.
I do hope it wont just turn out to be a buggy BIOS or just a bad/defect MoBo..

Dave

Revision history for this message
Nase (davidbertram) wrote :

for permanent use of the new xorg.conf

just copy the generated xorg.conf.new from /root to /etc/X11/xorg.conf

Bryce Harrington (bryce)
tags: added: hardy
Bryce Harrington (bryce)
tags: added: intrepid
yo uo uo uo (yo2121)
information type: Public → Public Security
information type: Public Security → Public
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

​​​​this driver has been removed from Ubuntu, closing the bugs

Changed in xserver-xorg-video-mach64 (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.