Title photo
frugal technology, simple living and guerrilla large-appliance repair
Wed, 12 Feb 2014

How I fixed my Fedora 20 system when it stalled before the display manager appeared

This is a rewrite of My Fedora 20 system dies for a day, but I find the culprit. I started the original entry before I figured out the solution, and I wanted to tell it chronologically. And so I do:

Ever since I got suspend/resume working in Fedora 20, I've been rebooting maybe once a week. That's because I love suspend/resume.

I love being able to close to laptop lid to put the machine to sleep and open the lid to wake it up.

But since the battery was running low a few nights ago, I decided to do a full shutdown.

I turned the laptop on the next day, and it wouldn't boot into Fedora proper. I couldn't get to the login screen.

I was able to boot into rescue mode. All my files were there. They looked fine. That's the good news.

But when trying a normal boot, sometime during the process the machine just stalled. There was nothing I can do to get it to finish booting and give me either a console or desktop.

It wasn't the hardware. Live images would boot. Windows 8 would boot. Rescue mode would boot. Just not Fedora itself.

I decided to try booting into a console instead of the the display manager. I did that by changing my runlevel. To boot into runlevel 3, I dropped the number 3 (that's it, just 3) into the boot line by pausing GRUB and temporarily modifying the boot parameters.

With runlevel 3, I had no trouble logging into a console. Then I attempted to start X, and the system stalled. I could see from the error messages on the terminal screen that it was fglrx/Catalyst that was keeping me from getting to the display manager.

I removed Catalyst using AMD's script:

# aticonfig --uninstall

I couldn't get rid of Catalyst with yum because the driver hasn't been packaged by anybody for Fedora 20.

Once I got rid of Catalyst and rebooted, the system started working again. But back under the open-source Radeon driver, the laptop was running 20 to 50 degrees hotter than with the proprietary Catalyst driver.

Rather than reinstall Catalyst right away, I decided to try implementing Radeon DPM (Dynamic Power Management). DPM is a feature of Catalyst that is just coming to the open-source Radeon driver.

I'm running kernel 3.12.10, and Radeon DPM won't be implemented by default until 3.13. For now it has to be switched on with a kernel boot parameter.

The last time I tried forcing DPM in GRUB, I didn't get good results. But this time it worked great.

I tested Radeon DPM by adding radeon.dpm=1 to the GRUB boot line. After booting, the CPU temperatures and fan speeds were comparable to what they were under Catalyst (cooler and slower, respectively), and 3D hardware acceleration was working.

I did get something else from running Radeon instead of Catalyst: The screen dimming/brightening when running on battery power works (unlike with Catalyst). That means the screen dims when the laptop is not being used but brightens up when you start using it again. With Catalyst you had to manually increase brightness after returning to the machine.

So I modified GRUB to take radeon.dpm=1 permanently (instructions forthcoming).

The Linux gods give. And take. With Radeon (and not Catalyst) I lost suspend/resume. I'm not happy about it.

But having a working system again -- and having it without the bother of an unpackaged, closed-source Catalyst driver -- is a fair tradeoff. For now.

And I don't have to nuke Fedora 20.

What I think of the Catalyst situation in Fedora 20: After my less-than-satisfying experience with AMD Catalyst in Fedora 14, I vowed never to run a proprietary video driver again unless it was packaged for my distribution.

In Fedora 20 I did it anyway. I might do it again. But I don't recommend it.

And the relative silence from the Fedora community over the lack of a packaged Catalyst choice for users in Fedora 20 says something about the distribution. It's not a good something in my opinion.

That said, I'm very impressed with Radeon DPM in the 3.12.10 kernel in Fedora 20. I have everything I had with AMD Catalyst except for suspend/resume. Since I really, really love suspend/resume, I'm not as happy as I could be.

Even so, the progress in open-source video for my AMD A4 APU has been very encouraging. Going from no 3D acceleration to what I have now with Radeon DPM is way better than having things go the other way.

Of course this laptop will be a year old next month.

I always say it takes six months to a year for hardware to get really good support from Linux. I guess I find it hard to believe when it's my own hardware, but there it is.