Bug 31882

Summary: Fatal ACPI error when booting with HD5970x2 crossfire configuration
Product: xorg Reporter: earthforce_1
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: christopher.m.penalver, earthforce_1
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description earthforce_1 2010-11-23 22:06:18 UTC
This was filed to the ubuntu mailing list as
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/678148
and I was requested to file it here.

I freshly installed stock Ubuntu 10.10 x86_64 build on a GA-X58A-UD7 motherboard and two HD5970 GPUs in the recommended slots, with the crossfire adapter.  (The motherboard is advertised as having crossfire support).   When I boot I will get an immediate black or purple screen hang unless I enable nomodeset in the grub command line.  This is not necessary with a single GPU, and everything works fine.

Even with the nomodeset option, the boot sequence hard hangs with Radeon ACPI access error.   Interestingly enough, this also happens when I try to boot the rescue kernel that does not use X.

I also have to pause the live install CD to select nomodeset or it will also hang.  The install works correctly when one of the GPUs are removed.
--------------------------------------------------------
Comment 1 earthforce_1 2010-11-23 22:07:01 UTC
This bug is 100% reproducible with this hardware configuration.
Comment 2 Alex Deucher 2010-11-23 22:16:33 UTC
According to the dmesg on the ubuntu bug you are using the closed source fglrx driver:

[   13.886553] fglrx_pci 0000:05:00.0: irq 59 for MSI/MSI-X
[   13.886931] [fglrx] Firegl kernel thread PID: 1605
[   13.887201] [fglrx] IRQ 59 Enabled
[   13.968122]   alloc irq_desc for 60 on node -1
[   13.968123]   alloc kstat_irqs on node -1
[   13.968129] fglrx_pci 0000:06:00.0: irq 60 for MSI/MSI-X
[   13.968525] [fglrx] Firegl kernel thread PID: 1606
[   13.968806] [fglrx] IRQ 60 Enabled
[   14.160452] [fglrx] Gart USWC size:1280 M.
[   14.160454] [fglrx] Gart cacheable size:508 M.
[   14.160457] [fglrx] Reserved FB block: Shared offset:0, size:1000000 
[   14.160459] [fglrx] Reserved FB block: Unshared offset:f87c000, size:484000 
[   14.160460] [fglrx] Reserved FB block: Unshared offset:3fff4000, size:c000 

Please remove fglrx if you want to use the open source radeon drivers.
Comment 3 earthforce_1 2010-11-25 05:22:10 UTC
Apologies, I think there is a misunderstanding here...

The snapshot you are seeing is taken *after* I removed the second GPU and installed fglrx.  I couldn't get the system to boot at all after a fresh install with the radeon drivers with two GPUs present in the system, even without starting X.  It hangs on boot.

I *do* want to use the closed source drivers, I *wish* I could get the same performance out of the the radeon drivers or I would be using them.  Performance is the reason why I was trying out a crossfire configuration.

Question: Why do I need the nomodeset grub option for the two GPU configuration?  That suggests to me that even on boot the GPU is being misconfigured.
Comment 4 John Bridgman 2010-11-25 13:28:40 UTC
The bug is currently filed against the radeonhd driver, which AFAIK does not have HD5xxx support *or* support for kernel modesetting (which would explain why you needed the nomodeset option). 

That said, unless you specifically selected the radeonhd driver it's more likely that you would have been using the Radeon driver. I don't remember if the kernel in Ubuntu 10.10 includes support for HD5xxx although I'm pretty sure it does - what i don't know is if that kernel code has ever been tested on a dual-GPU HD5970 and I *really* doubt that it has ever been tested on a dual 5970 (4 GPUs). 

Can you confirm which open source driver you were using ? If it was Radeon then you should probably reclassify the bug ticket accordingly.
Comment 5 earthforce_1 2010-11-25 17:04:11 UTC
I will have a chance to reinstall the card this weekend and post /usr/sbin/dmesg generated from the live CD, which I am 99% sure is using (and installs) the Radeon driver.  Is there anything helpful (commands, logs, etc) I can attach that would be helpful?

What I don't understand is why it boots the live CD ok, but hard hangs post install.  I am just a bit hesitant to install/remove the GPU too many times, it is a bear to get in and I worry about damaging the motherboard, socket or GPU but if you have a useful non-destructive experiment I could do that would help debug this I am willing to reinstall and give it a try.

I remember the last message being printed before the hard hang was a radeon ACPI error message, and not a RadeonHD, so I am reclassifying it - sorry about that. When I get a chance I will reboot into the live CD and confirm this. The installer picks the driver automagically - There isn't any alternatives offered, except for click to install fglrx unless there is some hidden advanced settings I am unaware of. 

https://help.ubuntu.com/community/RadeonDriver

The Ubuntu live CD booted just fine with only one CPU and no closed source drivers.  I did not need "nomodeset" for the single GPU - the installer and post install first boot went just fine, and I was able to subsequently able to subsequently install fglrx.

It was only when I added a second GPU that things turned evil, and the open source driver failed to work.

I concur with your comments about it probably not being tested with dual HD5970s.  (It has been tested now, by me!)  But AMD now has crossfire settings on their Linux catalyst drivers, so it is a configuration they support or at least plan on supporting soon.  I have seen 

I think I was one of the first on the planet outside of AMD to try running even a single HD5970 under linux back in March, (Needed for X-Plane9 to run on max settings at 2590x1600) and I filed a bug for it:
 
http://www.mail-archive.com/ubuntu-x-swat@lists.launchpad.net/msg50573.html

Fortunately things were fixed just in time for Ubuntu 10.04, and there are more than a few other Linux users running with this card.  The drivers seem stable as long as you are using only one card at a time.

Others are trying to work with multiple HD5970s under Linux without much luck either:
http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=137959

but clearly some other cards have been working under crossfire for a long time:

http://www.phoronix.com/scan.php?page=article&item=amd_crossfire_linux&num=1
Comment 6 Alex Deucher 2010-11-25 19:01:12 UTC
You can ignore the ACPI error.  It's for an ACPI method that only exists on certain laptops.
Comment 7 Christopher M. Penalver 2016-02-25 21:37:08 UTC
As per https://bugs.launchpad.net/ubuntu/+source/linux/+bug/678148/comments/23 .

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.