PDA

View Full Version : Fedora 12, older ATI video, suspend/resume


davidgurvich
23rd October 2009, 08:07 PM
Proprietary xorg driver:
As of October 2009 there are 3 options for an ATI graphics card on Linux, radeon/radeonhd or the proprietary driver from AMD. The last proprietary driver that supported my video card, according to AMD , was the 9.3 catalyst series. These do not work on recent kernels and there is no plan to make them do so. The 9.10 series supposedly works with 2.6.31 kernels but does not support older cards.

Xorg radeon driver:
That means the choices are reduced to radeon or radeonhd. F12 comes with the radeon driver and kms enabled by default. These sort of work until you try to suspend/resume. With the default settings returning from resume or hibernate fails with either a blank screen or vertical lines but the keyboard working. In addition the performance was underwhelming.

Xorg radeonhd driver:
That leaves the radeonhd driver. There were multiple issues with getting this to work. In addition, many features are not yet enabled. Despite all that the radeonhd driver is the one that is currently working the best with the ATI X1300. The performance is roughly double that of the radeon driver. That was tested in two non-scientific ways, glxgears and flash video. Suspend/Hibernate/Resume works with one caveat, the backlight gets set to zero and must be manually reset.

Configuration xorg.conf for radeonhd:
Xorg -configure automatically generated an xorg.conf.new file once xorg-x11-drv-radeonhd was installed. I enabled DRI and used EXA as the AccelMethod. In addition I needed to modify the following in xorg.conf: SubSection "Display"
Viewport 0 0
Depth 24
++ Virtual 1600 1600
EndSubSection
The reason is that the default setting requires more videoram than allocated. I could have chosen any number bigger than my display but chose 1600.

Issues with testing:
The radeonhd driver could not be tested except by actually placing xorg.conf in /etc/X11 and rebooting. I'm not sure why modules could not be unloaded, perhaps selinux had something to do with that. If there should be an issue just remember that you can boot into runlevel 3 by adding '3' to the end of the kernel line in grub. In addition, I recommend disabling "Desktop Effects"/compiz.

davidgurvich
23rd October 2009, 11:32 PM
There are issues with 1.2.5 version of radeonhd which appear to be fixed in 1.3.0. There is no official rpm package yet, but the src.rpm package from koji (http://kojipkgs.fedoraproject.org/packages/xorg-x11-drv-radeonhd/1.2.5/3.14.20090918git.fc12/src/xorg-x11-drv-radeonhd-1.2.5-3.14.20090918git.fc12.src.rpm) is easily modified to build version 1.3.0.

--#define snapshot 0
--%define snapshot 1
++%define snapshot 0
++#define snapshot 1

--Version: 1.2.5
++Version: 1.3.0Then if all the build requirements are met you should be able to build, install and reboot. A very nice spec file.rpmbuild -bb ...
rpm -U ...

AdamW
24th October 2009, 05:36 PM

It would probably be better to tweak the radeon driver, as radeonhd is not really supported in Fedora; we work on and support the radeon driver, radeonhd is really only packaged for research purposes.

Try booting with the radeon driver with the 'nomodeset' parameter. That should improve performance (btw, glxgears is not a benchmark) and may help with the suspend issue. If it does, please file a bug.

davidgurvich
24th October 2009, 08:20 PM
I tried the radeon driver in all manner of combinations. With nomodeset there was an issue with some drivers and Firefox would crash X. Without nomodeset Firefox did not crash X. Regardless the performance was bad and many opengl features are not implemented. In addition, suspend/resume hibernate/resume would crash the system and the performance was poor with the system running hot.

I realize that glxgears is not a benchmark. I also know that if videos are choppy with one driver and not choppy with another, then the other driver works better for video. In addition, if I can suspend/hibernate with modest changes with one driver and cannot with another (no matter what I do), then the one that I can suspend/hibernate with is better for suspend/hibernate. If am worried about heat and one driver causes the system to run hotter then that driver must be better in some other way for me to use it. The radeon driver runs hotter than radeonhd and is worse in every way.

The radeonhd driver, version 1.3.0, works well with everything. Why would I want to use a driver that is inferior in every way for my system? Simply because Redhat supports the radeon driver while Novell supports radeonhd?

davidgurvich
24th October 2009, 11:47 PM
I've seen similar problems with the X1300 on multiple sites with ubuntu and fedora. Also the X1400, X1600 and other mobile r5xx chipsets. None of those had a worthwhile solution only the same questions. After looking at the driver options and testing them out I came to the conclusion that the radeonhd was clearly better for the Thinkpad R60. With a different laptop I may have come to a different conclusion.

AdamW
27th October 2009, 03:23 AM
well, simply because you're more likely to get fixes for problems you encounter with radeon than with radeonhd, if you run Fedora.

del_diablo
27th October 2009, 01:02 PM
well, simply because you're more likely to get fixes for problems you encounter with radeon than with radeonhd, if you run Fedora.

I disagree, its more like you will have to compile less. Setting a small script of "git up &&" whatever it is will do fine. There will just be less packages :P

davidgurvich
28th October 2009, 03:42 AM
Kernel mode setting may be good for newer supported video cards but people with older cards can only consider themselves lucky if they work at all. I have a system with an intel i830, another with an ati x1300, and a powermac with a radeon 9200.

The x1300 is working best, but only by using the radeonhd driver with nomodeset. The powermac only works with the fbdev driver at reduced depth and the i830 has randomly started working except for suspend. What I mean by randomly is that with no system changes on the laptop I ran 'xrandr' with no options, suddenly the screen was correct and Xorg stopped crashing, though suspend still doesn't work.