Archive

HowTo: Fedora 20 and the FOSS xorg-x11-drv-ati driver

I've been having this problem lately:

My Fedora 20 would freeze; after a while, while using the <em>xorg-x11-drv-ati</em> driver.

Another thing I noticed, was the fan of the card going up and up like crazy.

First thing I did, was install <em>lm_sensors</em>:

yum -y install lm_sensors

And ran the <em>sensors</em> command:

# sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +85.5&deg;C  (crit = +120.0&deg;C, hyst = +90.0&deg;C)

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +38.6&deg;C  (high = +70.0&deg;C)
                       (crit = +90.0&deg;C, hyst = +85.0&deg;C)

Wow! 75.5 ºC on my AMD/Ati card! I know why the freezes happen now! It overheats and crashes!

So, I'll do what you need to do when you have problems: RTFM!

http://xorg.freedesktop.org/wiki/RadeonFeature/#index3h2

Now, there is a hint right there. You can try and control the power profile; but that is not exactly it. You want the system to do it for you.

To immediately lower the temperature on my video card, I recurred to the following commands:

echo profile >  /sys/class/drm/card0/device/power_method
echo low >  /sys/class/drm/card0/device/power_profile

My answer was enabling dpm; by adding <em>radeon.dpm=1</em> to the kernel line at <em>/etc/grub2-efi.conf</em> (in my case).

So, it looks something like this:

linuxefi /vmlinuz-3.12.9-301.fc20.x86_64 root=UUID=6c9b3ffd-c911-4dcb-9425-e44841ab379d ro rootflags=subvol=root vconsole.font=latarcyrheb-sun16  rhgb quiet LANG=en_US.UTF-8 radeon.dpm=1
initrdefi /initramfs-3.12.9-301.fc20.x86_64.img

Update 2014-07-11: It seems that the <em>radeon.dpm</em> solution is preventing 3d acceleration on my vanilla Fedora 20 installation; preventing gdm (all but LightDm) from working. I have to confirm this later by changing this statement.

Ok, now, the next thing is to rebuild my initrd image with dracut; which proved to be really easy:

su -
dracut --force

Basically, if you don't do that, you will be dropped to a shell when booting; just exit that and you're good.