Bug 55784

Summary: [Ubuntu 12.04.1 LTS 32-bit] Unity GUI will hang during bootup with ATI Technologies Radeon X600 (RV380) and VIA Technologies PT880 Ultra chipset
Product: xorg Reporter: mypersonalmailbox1
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: high    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
URL: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1063656
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
BootDmesg.txt
none
CurrentDmesg.txt
none
Dependencies.txt
none
GdmLog.txt
none
Lspci.txt
none
PciDisplay.txt
none
ProcCpuinfo.txt
none
ProcInterrupts.txt
none
ProcModules.txt
none
RelatedPackageVersions.txt
none
setxkbmap.txt
none
UdevDb.txt
none
UdevLog.txt
none
xdpyinfo.txt
none
xkbcomp.txt
none
XorgLog.txt
none
Xrandr.txt
none
Xorg.0.log Ubuntu 12.04.1 LTS 32-bit
none
dmesg.0 Ubuntu 12.04.1 LTS 32-bit
none
kern.log.1 Ubuntu 12.04.1 LTS 32-bit
none
dmesg.0 Ubuntu 12.04.1 LTS 32-bit RV380
none
kern.log.1 Ubuntu 12.04.1 LTS 32-bit RV380
none
Xorg.0.log.old Ubuntu 12.04.1 LTS 32-bit RV380 none

Description mypersonalmailbox1 2012-10-08 23:23:43 UTC
Hi,
 
I recently obtained a mainboard called ASUS P5VD1-X.
This is a little "odd ball" of a mainboard.
It contains an AGP 8X Slot (AGP 1.5V) and a PCI Express Gen 1 x16 Slot (x16 connector, x4 link).
Both AGP and PCI Express are connected to the Northbridge chip, VIA Technologies PT880 Ultra.
PT880 Ultra is one of the last VIA Technologies chipset that supported Intel platform.
A perfect mainboard to do hardware compatibility validation against number of cards and Linux.
I updated the BIOS to the last release version (Revision 0704).
The problem is, booting will stop after displaying Unity GUI default background wallpaper image under Ubuntu 12.04.1 LTS 32-bit.
It won't get to displaying launch bar with icons on the left side of the screen or a title bar on the top part of the screen.
Note that I observed the same exact problem with XFX Radeon HD 5450 512 MB DDR3 SDRAM graphics card (AMD Radeon HD 5450, Cedar PRO).
This bug doesn't seem to occur on Intel, AMD, or NVIDIA chipset-based mainboards for some reason.
 

System Configuration:
 
- Ubuntu 12.04.1 LTS 32-bit
- ASUS P5VD1-X mainboard
  * BIOS Revision 0704
  * VIA Technologies PT880 Ultra (Northbridge)
  * VIA Technologies VT8237R Plus (Southbridge)
- Intel Pentium D
  * 2.66 GHz
  * 533 MHz FSB
- 512 MB DDR 400 DDR SDRAM
  * 256 MB DDR 400 DDR SDRAM DIMM X 2 (in dual channel mode)
-  ATI Technologies Radeon X600 graphics card
  * RV380
  * 128 MB DDR SDRAM
  * PCI Express x16
- Pioneer DVR-111D PATA DVD-RW drive
- PS/2 keyboard
- PS/2 mouse
 
Note that because I cannot boot Ubuntu 12.04.1 LTS 32-bit, the files attached is from Ubuntu 10.04.4 LTS 32-bit.
Other than that, the system configuration is identical.
Please fix this bug as soon as possible.

Regards,
 
fpgahardwareengineer
Comment 1 Michel Dänzer 2012-10-09 13:47:29 UTC
(In reply to comment #1)
> Note that because I cannot boot Ubuntu 12.04.1 LTS 32-bit, the files
> attached is from Ubuntu 10.04.4 LTS 32-bit.

So you can't log in via ssh after the hang? Or get the kernel output and Xorg.0.log.old from /var/log/ after a reboot? Even if not, it sounds like you should be able to at least get the kernel output and log file before logging in...
Comment 2 mypersonalmailbox1 2012-10-10 04:51:24 UTC
Created attachment 68366 [details]
BootDmesg.txt
Comment 3 mypersonalmailbox1 2012-10-10 04:52:01 UTC
Created attachment 68367 [details]
CurrentDmesg.txt
Comment 4 mypersonalmailbox1 2012-10-10 04:52:33 UTC
Created attachment 68368 [details]
Dependencies.txt
Comment 5 mypersonalmailbox1 2012-10-10 04:53:03 UTC
Created attachment 68369 [details]
GdmLog.txt
Comment 6 mypersonalmailbox1 2012-10-10 04:53:39 UTC
Created attachment 68370 [details]
Lspci.txt
Comment 7 mypersonalmailbox1 2012-10-10 04:54:19 UTC
Created attachment 68371 [details]
PciDisplay.txt
Comment 8 mypersonalmailbox1 2012-10-10 04:57:06 UTC
Created attachment 68372 [details]
ProcCpuinfo.txt
Comment 9 mypersonalmailbox1 2012-10-10 04:59:05 UTC
Created attachment 68373 [details]
ProcInterrupts.txt
Comment 10 mypersonalmailbox1 2012-10-10 06:46:02 UTC
Created attachment 68377 [details]
ProcModules.txt
Comment 11 mypersonalmailbox1 2012-10-10 06:46:35 UTC
Created attachment 68378 [details]
RelatedPackageVersions.txt
Comment 12 mypersonalmailbox1 2012-10-10 06:47:07 UTC
Created attachment 68379 [details]
setxkbmap.txt
Comment 13 mypersonalmailbox1 2012-10-10 06:47:42 UTC
Created attachment 68380 [details]
UdevDb.txt
Comment 14 mypersonalmailbox1 2012-10-10 06:48:35 UTC
Created attachment 68381 [details]
UdevLog.txt
Comment 15 mypersonalmailbox1 2012-10-10 06:49:04 UTC
Created attachment 68382 [details]
xdpyinfo.txt
Comment 16 mypersonalmailbox1 2012-10-10 06:49:56 UTC
Created attachment 68383 [details]
xkbcomp.txt
Comment 17 mypersonalmailbox1 2012-10-10 06:50:50 UTC
Created attachment 68384 [details]
XorgLog.txt
Comment 18 mypersonalmailbox1 2012-10-10 06:51:25 UTC
Created attachment 68385 [details]
Xrandr.txt
Comment 19 mypersonalmailbox1 2012-10-10 07:18:25 UTC
(In reply to comment #1)

> (In reply to comment #1)
> > Note that because I cannot boot Ubuntu 12.04.1 LTS 32-bit, the files
> > attached is from Ubuntu 10.04.4 LTS 32-bit.
> 
> So you can't log in via ssh after the hang? Or get the kernel output and
> Xorg.0.log.old from /var/log/ after a reboot? Even if not, it sounds like
> you should be able to at least get the kernel output and log file before
> logging in...

Hi Michel,

I will try to obtain Xorg.0.log.old by switching to a graphics card that can boot Ubuntu 12.04.1 LTS 32-bit from ASUS P5VD1-X mainboard.
The test I have conducted so far was booting from a DVD.
I will attach a hard drive to obtain Xorg.0.log.old.
        By the way, which file stores the output of the kernel?
I am new to the technical aspects of Linux so I don't currently know which file to grab.

Regards,

fpgahardwareengineer
Comment 20 mypersonalmailbox1 2012-10-10 07:20:06 UTC
Hi,

Note tha all the files attached so far were obtained from Ubuntu 10.04.4 LTS 32-bit.

Regards,

fpgahardwareengineer
Comment 21 Michel Dänzer 2012-10-10 09:08:52 UTC
(In reply to comment #19)
> I will try to obtain Xorg.0.log.old by switching to a graphics card that can
> boot Ubuntu 12.04.1 LTS 32-bit from ASUS P5VD1-X mainboard.

You shouldn't need to switch graphics cards. In the worst case, you can disable the radeon driver with something like radeon.disable=1.


>         By the way, which file stores the output of the kernel?

Depends on distro, but should be /var/log/kern.log*
Comment 22 mypersonalmailbox1 2012-10-11 21:12:14 UTC
Created attachment 68456 [details]
Xorg.0.log Ubuntu 12.04.1 LTS 32-bit
Comment 23 mypersonalmailbox1 2012-10-11 21:17:39 UTC
Created attachment 68457 [details]
dmesg.0 Ubuntu 12.04.1 LTS 32-bit
Comment 24 mypersonalmailbox1 2012-10-11 21:20:41 UTC
Created attachment 68458 [details]
kern.log.1 Ubuntu 12.04.1 LTS 32-bit
Comment 25 mypersonalmailbox1 2012-10-11 22:14:16 UTC
Created attachment 68460 [details]
dmesg.0 Ubuntu 12.04.1 LTS 32-bit RV380
Comment 26 mypersonalmailbox1 2012-10-11 22:15:58 UTC
Created attachment 68461 [details]
kern.log.1 Ubuntu 12.04.1 LTS 32-bit RV380
Comment 27 mypersonalmailbox1 2012-10-11 22:16:57 UTC
Created attachment 68462 [details]
Xorg.0.log.old Ubuntu 12.04.1 LTS 32-bit RV380
Comment 28 mypersonalmailbox1 2012-10-11 22:30:03 UTC
(In reply to comment #21)

> (In reply to comment #19)
> > I will try to obtain Xorg.0.log.old by switching to a graphics card that can
> > boot Ubuntu 12.04.1 LTS 32-bit from ASUS P5VD1-X mainboard.
> 
> You shouldn't need to switch graphics cards. In the worst case, you can
> disable the radeon driver with something like radeon.disable=1.
> 
> 
> >         By the way, which file stores the output of the kernel?
> 
> Depends on distro, but should be /var/log/kern.log*

Hi Michel,

I did what I could.
I attached 3 log files to this report when the attached graphics card was ATI Technologes Radeon X600 (RV380).
The actual system I was able to run the system properly was with ATI Technologies Radeon 9550SE (RV350).
Note that Radeon 9550SE is an AGP graphics card.
I did preserve those log files with Radeon 9550SE as well (I just wrote a shell script that will automatically collect the log files I need for filing bug reports.).
Does the current open source ATI Technologies/AMD display device driver has issues with VIA Technologies/SiS chipsets that have PCI Express?
I observed the same issue I am having here (Unity GUI doesn't go past the background wall paper drawn on the screen.) with ECS 761GX-M754 mainboard (SiS 761GX/964 chipset).
SiS 761GX chipset comes with PCI Express x16 slot.
I will file a separate bug report for SiS 761GX chipset with ATI Technologies/AMD graphics cards in the near future.

Regards,

fpgahardwareengineer
Comment 29 mypersonalmailbox1 2012-10-24 03:43:57 UTC
(In reply to comment #21)
> (In reply to comment #19)
> > I will try to obtain Xorg.0.log.old by switching to a graphics card that can
> > boot Ubuntu 12.04.1 LTS 32-bit from ASUS P5VD1-X mainboard.
> 
> You shouldn't need to switch graphics cards. In the worst case, you can
> disable the radeon driver with something like radeon.disable=1.
> 
> 
> >         By the way, which file stores the output of the kernel?
> 
> Depends on distro, but should be /var/log/kern.log*

Hi Michel,

I think I uploaded everything I can do at this point.
When is someone going to look into this bug, and commit to a fix?
I hope developers can test their device drivers against minor chipsets like those from SiS or VIA Technologies in the future before releasing the device driver.
While SiS no longer designs new x86 chipsets, VIA Technologies does still design and manufacture their own chipset for their Nano x86 processor.
In other words, please do more testing other than against Intel, AMD, and NVIDIA chipsets.
If there are more things I can do, let me know.

Regards,

fpgahardwareengineer
Comment 30 Michel Dänzer 2012-10-24 10:13:49 UTC
I'm afraid your expectations are rather unrealistic.
Comment 31 mypersonalmailbox1 2012-10-25 05:25:36 UTC
(In reply to comment #30)
> I'm afraid your expectations are rather unrealistic.

Hi Michel,

Why am I unrealistic?

Regards,

fpgahardwareengineer
Comment 32 mypersonalmailbox1 2012-11-05 03:48:46 UTC
(In reply to comment #21)

Hi Michel,

Are there any plans to fix this bug?
I believe I uploaded all the files you asked for, and I don't see any progress being made by anybody.
I am not trying to pick on you, but I will like to see if something is going to be done to fix this bug.
Is there anything else I can do to help the developers fix this bug?

Regards,

fpgahardwareengineer


> (In reply to comment #19)
> > I will try to obtain Xorg.0.log.old by switching to a graphics card that can
> > boot Ubuntu 12.04.1 LTS 32-bit from ASUS P5VD1-X mainboard.
> 
> You shouldn't need to switch graphics cards. In the worst case, you can
> disable the radeon driver with something like radeon.disable=1.
> 
> 
> >         By the way, which file stores the output of the kernel?
> 
> Depends on distro, but should be /var/log/kern.log*
Comment 33 mypersonalmailbox1 2012-11-05 04:16:14 UTC
(In reply to comment #3)

Hi Emil,

I have done a little more testing with NVIDIA RIVA TNT2 64-based graphics cards since I now have 4 of them available for testing.
Here are my test results.

Compaq desktop computer pulled PWA-G4000PRO:

- NV5M64
- Revision 15 (from lspci -vvv)
- 16 MB SDRAM
- VGA BIOS Version: Unknown at this point
- Manufacturer unknown
- Likely pulled out of Compaq desktop computer (Compaq spare number on the back)
- Booted fine 3 consecutive times with FIC VA-503+ mainboard without any freezes or crashes

ASUS AGP-3800 COMBAT/16M:

- NV6
- Revision 15 (from lspci -vvv)
- 16 MB
- VGA BIOS Version: V 2.05.13
- Booted fine 3 consecutive times with FIC VA-503+ mainboard without any freezes or crashes

VisionTek RIVA TNT2 64-based graphics card (official graphics card name unknown):

- NV5M64
- Revision 15 (from lspci -vvv)
- 16 MB SDRAM
- VGA BIOS Version: V 2.05.13.04
- Will almost always crash during boot screen (occasionally, will get past the boot screen) with FIC VA-503+ mainboard

Dell desktop computer pulled RIVA TNT2 64-based graphics card (official graphics card name unknown):

- NV5M64
- Revision 15 (from lspci -vvv)
- 16 MB SDRAM (I think)
- Manufacturer unknown
- VGA BIOS Version: Unknown at this point
- Will almost always crash during boot screen (occasionally, will get past the boot screen) with FIC VA-503+ mainboard

Please note that all of these NVIDIA RIVA TNT2 64 and Vanta cards will work fine with other systems.
Regarding the freeze pattern, the Ubuntu startup screen's red dots will stop flashing when the freeze occurs.
However, interestingly, if I press buttons on the keyboard like Esc key often, it sometimes doesn't freeze during boot.
Note that the mainboard is somewhat stable since these AGP graphics cards work fine with FIC VA-503+ mainboard.

- NVIDIA
  * GeForce 2 MX
  * GeForce 4 MX
  * GeForce FX 5200
  * GeForce FX 5700
  * GeForce FX 5950 Ultra (probably one of the most powerful graphics card that can be mated with this old mainboard)

- ATI Technologies
  * Rage Pro Turbo
  * Rage 128
  * Rage 128 Pro
  * Radeon
  * Radeon 9250
  * Radeon 9800 Pro

- SiS
  * 305
  * 315

- Matrox
  * G200
  * G400

Since all of these graphics cards will work fine, I don't think you can honestly say that it is on its last leg.
Also note that one RIVA TNT2 64 and one Vanta card work fine whereas two others RIVA TNT2 64 cards will often freeze during boot.
The one that I managed to file a bug report (the system used to collect all the log files) had the VisionTek version of the RIVA TNT2 64 graphics card in it.
Again, all of these cards will work fine in other mainboards, including the 2 that tend to cause the freeze with FIC VA-503+ mainboard.
Regarding the reason for the freeze, I can think of the following.

- Is Nouveau is accessing the VGA BIOS of the card during boot, and the VGA BIOS is a little buggy?
- Does the VGA BIOS's initialization code configuring RIVA TNT2 64 in a certain way that contributes to the freeze with Apollo MVP3 chipset?


Regards,

fpgahardwareengineer
Comment 34 mypersonalmailbox1 2012-11-05 04:18:43 UTC
Hi,

Please disregard Comment #33.
It was meant for a different freedesktop.org bug report.
Sorry about the mishap.
Sometimes, multitasking doesn't work too well. (hahaha)

Regards,

fpgahardwareengineer
Comment 35 Alex Deucher 2012-11-27 15:20:01 UTC
Someone more familiar with this specific chipset will probably have to take a look at this.  This seems more like a chipset or bios bug than a driver bug.  Unfortunately this is a ~10 year old chipset that was never known for stability.  I had a similar old VIA board (PCIE only) and it had a number of problems including that the system wouldn't boot at all with certain cards installed.  You might google for setpci workarounds for these boards.  I vaguely recall some workarounds requiring setpci to adjust certain pci config registers to get certain pci cards to work.
Comment 36 mypersonalmailbox1 2012-11-27 23:50:03 UTC
(In reply to comment #35)

Hi Alex,

I believe VIA Technologies PT880 Ultra chipset was released around 2005.
It is about 7 years old.
Personally, I don't consider anything with PCIe, "old."
I did update the BIOS to the last release version, and the board was made by ASUS, probably a fairly responsible mainboard manufacturer.
I will also add that Radeon HD 4350 and HD 5450 exhibit the exact same problem as Radeon X600 with this mainboard, last time I tested with Ubuntu 12.04 LTS 32-bit.
Furthermore, Radeon X600 (PCIe) is similar to Radeon 9800 Pro (AGP) generationally, and this mainboard works fine with Radeon 9800 Pro.
        Do you have any idea who worked on other VIA Technologies related device drivers?
Do you know the names of the developers/maintainers?
Furthermore, if I wanted to look into the issue myself, how do I analyze what the Linux kernel is doing?
How do I get started on fixing device driver bugs myself with Linux?
As for myself, I have full Xilinx FPGA-based PCI DMA engine design experience (PCI interface portion and DMA engine portion) and Windows device driver (WDM) development experience.
I have used WinDbg in the past to get my Windows device driver working (i.e., To get the device driver to function correctly, and prevent Windows kernel crashes.).
How different will Linux device driver development/bug fix be different than WinDbg?

Regards,

fpgahardwareengineer

> Someone more familiar with this specific chipset will probably have to take
> a look at this.  This seems more like a chipset or bios bug than a driver
> bug.  Unfortunately this is a ~10 year old chipset that was never known for
> stability.  I had a similar old VIA board (PCIE only) and it had a number of
> problems including that the system wouldn't boot at all with certain cards
> installed.  You might google for setpci workarounds for these boards.  I
> vaguely recall some workarounds requiring setpci to adjust certain pci
> config registers to get certain pci cards to work.
Comment 37 Alex Deucher 2012-11-28 00:14:12 UTC
(In reply to comment #36)
> (In reply to comment #35)
> 
> Hi Alex,
> 
> I believe VIA Technologies PT880 Ultra chipset was released around 2005.
> It is about 7 years old.
> Personally, I don't consider anything with PCIe, "old."
> I did update the BIOS to the last release version, and the board was made by
> ASUS, probably a fairly responsible mainboard manufacturer.
> I will also add that Radeon HD 4350 and HD 5450 exhibit the exact same
> problem as Radeon X600 with this mainboard, last time I tested with Ubuntu
> 12.04 LTS 32-bit.
> Furthermore, Radeon X600 (PCIe) is similar to Radeon 9800 Pro (AGP)
> generationally, and this mainboard works fine with Radeon 9800 Pro.

As I understand it, this board is some kind of hybrid AGP and PCIE combination.  I'm not sure how well this hw was validated by the manufacturer, especially with newer asics.  The fact that all PCIE cards seem to fail seems to indicate some sort of chipset problem.

>         Do you have any idea who worked on other VIA Technologies related
> device drivers?

I'm not sure.  You could check the maintainers file in the kernel.

> Do you know the names of the developers/maintainers?
> Furthermore, if I wanted to look into the issue myself, how do I analyze
> what the Linux kernel is doing?
> How do I get started on fixing device driver bugs myself with Linux?
> As for myself, I have full Xilinx FPGA-based PCI DMA engine design
> experience (PCI interface portion and DMA engine portion) and Windows device
> driver (WDM) development experience.
> I have used WinDbg in the past to get my Windows device driver working
> (i.e., To get the device driver to function correctly, and prevent Windows
> kernel crashes.).
> How different will Linux device driver development/bug fix be different than
> WinDbg?

I'm not familiar with WinDbg.  Since you get the hang when the GUI starts up, that would indicate that the problem is related to acceleration, probably DMA.  You can try adding:
Option "NoAccel" "True"
to the device section of your xorg.conf to disable acceleration.  If that works, then you can further narrow down the problem.

Off hand I would guess that perhaps the chipset has problems with MSIs or DMA.  You can try booting with:
pci=nomsi
on the kernel command line in grub to disable MSIs.  If that fixes it, you'll need to add a pci quirk to the kernel to disable MSIs on that chipset.

If the board has problems supporting >32 bit DMA mask, you can try forcing the DMA mask to 32 in the driver:
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index e2f5f88..98945e4 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1043,6 +1043,7 @@ int radeon_device_init(struct radeon_device *rdev,
        if ((rdev->flags & RADEON_IS_PCI) &&
            (rdev->family <= CHIP_RS740))
                rdev->need_dma32 = true;
+       rdev->need_dma32 = true;
 
        dma_bits = rdev->need_dma32 ? 32 : 40;
        r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));


If that works, you'd need to add a PCI quirk for the chipset to limit the PCI DMA mask to 32 bits.
Comment 38 mypersonalmailbox1 2012-11-29 00:30:16 UTC
(In reply to comment #37)

Hi Alex,

My replies are embedded below.

> (In reply to comment #36)
> As I understand it, this board is some kind of hybrid AGP and PCIE
> combination.  I'm not sure how well this hw was validated by the
> manufacturer, especially with newer asics.  The fact that all PCIE cards
> seem to fail seems to indicate some sort of chipset problem.
> 
> 

Yes, PT880 Ultra is a little weird PCI Express/AGP hybrid chipset.
ULi also had such chipset as well (used HyperTransport to link multiple ULi ASICs), but with AGP 3.0 and full PCI Express x16 support.
I own one such board (from ASRock), but it doesn't POST probably because the mainboard got fried by a bad power supply.
I picked up that ASRock board from E-waste collection bin so I shouldn't expect much, either.
    A friend of mine who used to work for Philips Semiconductors once told me that if a PCI device cannot pass PCI-SIG's compatibility testing, one has almost no chance of selling the part to mainstream computer/board manufacturers.
VIA Technologies claims that PT880 Ultra is listed under PCI-SIG's integrator's list.

http://www.via.com.tw/en/products/chipsets/p4-series/pt880_ultra/index.jsp
http://www.pcisig.com/developers/compliance_program/integrators_list/pcie

Just a few hours ago, I added XFX Radeon HD 5450 PCIe graphics card to ASUS P5VD1-X.
As expected, it couldn't boot Ubuntu 12.04 LTS 32-bit.
It hangs up after displaying Ubuntu 12.04 LTS Unity GUI reddish wallpaper (BTW, mouse cursor still can move around the screen correctly.), but I was able to boot Ubuntu 10.04.4 LTS 32-bit from a DVD.
I tested the ACPI S3 State resume, and it resumes reliably.
So I know many developers have negative opinions of VIA Technologies chipset, but at least with Ubuntu 10.04.4 LTS 32-bit, it works perfectly.
Somebody broke the code in Ubuntu 12.04 LTS.


> I'm not sure.  You could check the maintainers file in the kernel.
> 
> I'm not familiar with WinDbg.  Since you get the hang when the GUI starts
> up, that would indicate that the problem is related to acceleration,
> probably DMA.  You can try adding:
> Option "NoAccel" "True"
> to the device section of your xorg.conf to disable acceleration.  If that
> works, then you can further narrow down the problem.
> 
> Off hand I would guess that perhaps the chipset has problems with MSIs or
> DMA.  You can try booting with:
> pci=nomsi
> on the kernel command line in grub to disable MSIs.  If that fixes it,
> you'll need to add a pci quirk to the kernel to disable MSIs on that chipset.
> 
> If the board has problems supporting >32 bit DMA mask, you can try forcing
> the DMA mask to 32 in the driver:
> diff --git a/drivers/gpu/drm/radeon/radeon_device.c
> b/drivers/gpu/drm/radeon/radeon_device.c
> index e2f5f88..98945e4 100644
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -1043,6 +1043,7 @@ int radeon_device_init(struct radeon_device *rdev,
>         if ((rdev->flags & RADEON_IS_PCI) &&
>             (rdev->family <= CHIP_RS740))
>                 rdev->need_dma32 = true;
> +       rdev->need_dma32 = true;
>  
>         dma_bits = rdev->need_dma32 ? 32 : 40;
>         r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));
> 
> 
> If that works, you'd need to add a PCI quirk for the chipset to limit the
> PCI DMA mask to 32 bits.


Regards,

fpgahardwareengineer
Comment 39 Alex Deucher 2012-11-29 00:35:53 UTC
(In reply to comment #38)
> Just a few hours ago, I added XFX Radeon HD 5450 PCIe graphics card to ASUS
> P5VD1-X.
> As expected, it couldn't boot Ubuntu 12.04 LTS 32-bit.
> It hangs up after displaying Ubuntu 12.04 LTS Unity GUI reddish wallpaper
> (BTW, mouse cursor still can move around the screen correctly.), but I was
> able to boot Ubuntu 10.04.4 LTS 32-bit from a DVD.
> I tested the ACPI S3 State resume, and it resumes reliably.
> So I know many developers have negative opinions of VIA Technologies
> chipset, but at least with Ubuntu 10.04.4 LTS 32-bit, it works perfectly.
> Somebody broke the code in Ubuntu 12.04 LTS.

In addition to my suggestions in the previous comment, if this is a regression, you can also try and bisect using git to track down what caused the regression.
Comment 40 mypersonalmailbox1 2012-11-29 22:58:09 UTC
(In reply to comment #39)

> In addition to my suggestions in the previous comment, if this is a
> regression, you can also try and bisect using git to track down what caused
> the regression.

Hi Alex,

I am now preparing a hard drive to perform regression tests.
I got a 80 GB PATA hard drive, and I am planning to create 4 partitions, 2 for Ubuntu 10.04.4 LTS 32-bit and 2 for Ubuntu 12.04.1 LTS 32-bit.
1 partition for each is for stock Ubuntu installation (kernel updates only through Update Manager) and the other one is for Ubuntu with modified Linux kernel for the regression tests.
The modified Linux kernels will be obtained through,

http://kernel.ubuntu.com/~kernel-ppa/mainline/

        Regarding XFX Radeon HD 5450 PCIe graphics card and ASUS P5VD1-X mainboard, everything, including ACPI S3 State resume, works fine on Ubuntu 10.04.4 LTS 32-bit despite PCIe running at x4 mode.
I was able to install Ubuntu 12.04.1 LTS 32-bit with this same graphics card, and during the installation, the graphics rendering was absolutely fine, but if I choose "Run Ubuntu without installing" option (it is worded like that), then Ubuntu get stuck (hang) after it displays the Ubuntu desktop's wallpaper.
The same happens when I boot from the hard drive as well.
I will do more detailed tests with several different ATI Technologies/AMD PCIe graphics cards soon.
        Although I have not done detailed tests with it, but SiS chipset with PCI Express seems to exhibit the exact same problem I saw with VIA Technologies chipset.
I have a mainboard called ECS 761GX-M754 mainboard (SiS 761GX/964 chispet), and if I use it with the same XFX Radeon HD 5450 PCIe graphics card on Ubuntu 12.04 LTS 32-bit, it will also get stuck after displaying the Ubuntu desktop's wallpaper.
I will probably use the same hard drive mentioned above to do the test later, but I will like to let you know about the situation.

Regards,

fpgahardwareengineer
Comment 41 Alex Deucher 2012-11-29 23:01:57 UTC
(In reply to comment #40)

>         Regarding XFX Radeon HD 5450 PCIe graphics card and ASUS P5VD1-X
> mainboard, everything, including ACPI S3 State resume, works fine on Ubuntu
> 10.04.4 LTS 32-bit despite PCIe running at x4 mode.

Depending on what version of the driver was included with 10.04, it may have not had acceleration enabled which would explain why it works ok.  I'd suggest trying the things I suggested in comment 37 before you try anything else.
Comment 42 mypersonalmailbox1 2012-11-29 23:09:57 UTC
(In reply to comment #41)

Hi Alex,

Off topic for this subject, but I uploaded more kernel trace information for Bug 54583.
It is an ACPI S3 State resume related bug for Radeon 9800 Pro and Intel D815EEA2 mainboard.
If you can take a look at it, I will appreciate.


Regards,

fpgahardwareengineer

> (In reply to comment #40)
> 
> 
> Depending on what version of the driver was included with 10.04, it may have
> not had acceleration enabled which would explain why it works ok.  I'd
> suggest trying the things I suggested in comment 37 before you try anything
> else.
Comment 43 mypersonalmailbox1 2012-12-01 08:51:33 UTC
(In reply to comment #41)

Hi Alex,

More updates on the Ubuntu 12.04 LTS 32-bit, XFX Radeon HD 5450 512 MB PCIe graphics card, and ASUS P5VD1-X mainboard.
After I created a 4 partition hard drive for testing purposes, and updating the Ubuntu 12.04's kernel to 3.2.0-34-generic-pae via Update Manager, I decided to run Ubuntu 12.04 in recovery mode.
When recovery mode prompts the user to select various options to do, I chose 'resume.'
Voila, now if I enter my User ID and password at the initial entry screen, it will get past where it used to get hung up (i.e., As previously mentioned, Ubuntu 12.04's default reddish wallpaper was rendered on the background, but it won't get to Ubuntu desktop.), it will display the Ubuntu desktop correctly.
Now the behavior of the OS is identical to my other systems where this bug doesn't exist.
ACPI S3 State resume seems to work reliably when I tested it.
It seems like this bug is specific to Ubuntu 12.04 and/or Unity GUI, and not that of the x.org ATI Technologies/AMD display device driver to which you are one of the authors.
This bug probably didn't get caught during beta testing of Ubuntu 12.04 because VIA Technologies has been very minor during the PCI Express chipset era (They actually still design chipsets for their Nano x86 processor product line, but stopped doing it for Intel/AMD platforms years ago.), and I assume very few people used it or complained about it.
I will try to contact Canonical's developers via launchpad.net to try to get them to fix this bug since it looks like it is specific to Ubuntu 12.04, and not necessarily the fault of x.org ATI Technologies/AMD display device driver.
I will also try to install Linux kernel 3.7-rc7 to one of the experimental hard drive partitions (as discussed previously) that has Ubuntu 12.04 to see if it makes any difference.

Regards,

fpgahardwareengineer

P.S. Take a look at Bug 54583 since I updated it with more Linux kernel messages.

> 
> Depending on what version of the driver was included with 10.04, it may have
> not had acceleration enabled which would explain why it works ok.  I'd
> suggest trying the things I suggested in comment 37 before you try anything
> else.
Comment 44 Martin Peres 2019-11-19 07:37:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/45.

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.