After a year and half, I've finally cracked suspend/resume in Linux on the HP Pavilion g6-2210us laptop (AMD A4-4300M APU with AMD Radeon HD 7420G graphics) with the open-source Radeon driver.
I've been able to successfully suspend/resume for some time on this laptop with the closed-source AMD Catalyst driver, but two things have prompted me to give that driver up for the open Radeon driver:
1) AMD Catalyst hasn't been packaged for Fedora since Fedora 19, and we're about to see Fedora 21 released with no indication that things will change. There are at least a couple of workarounds that will get Catalyst/fglrx on your Fedora 20 system, both of which I've written about at length, but I'm tired of doing them. While the Catalyst/fglrx experience is somewhat smoother on distributions that are serious about packaging the driver (Debian and Ubuntu come to mind), breakage is inevitable on fast-moving distros like Fedora that get new Linux kernels all the time.
2) While AMD Catalyst allows the laptop to run cooler at idle (I'm pretty sure it runs at a similar temperature under load), the quality of video -- actual videos in applications like VLC, that is -- is better with the latest Radeon driver than with Catalyst. Briefly, when I'm watching something and the image is "moving," it breaks up horizontally in Catalyst, not at all in Radeon.
But suspend/resume trumps all. Having it with Catalyst kept me ... running Catalyst.
Now that I've cracked the code for successful suspend/resume without Catalyst, the infrequently updated, not-packaged-for-Fedora, closed-source driver is fading in my virtual rear-view mirror.
So how do you get suspend/resume working on this particular HP Pavilion g6 (or similarly equipped) laptop?
There are two changes you need to make in GRUB.
I've been doing test installs again, among them Debian Jessie, and things don't work as well as they should on my HP Pavilion g6-2210us laptop without a couple of firmware packages that can be installed after a little tweaking.
If you use the "regular" Debian images to install, as I did this time, instead of the harder-to-find, unofficial ones with non-free firmware included, after installation you have to first get into your
/etc/apt/sources.list file as root and add the
non-free repositories, update your software sources with
apt, and then install the firmware packages.
First, as root, modify your
contrib non-free to every repo line.
Let me just say that if you hope to use Debian for any length of time, you WILL be mucking with
/etc/apt/sources.list, so you might as well learn it now.
Once you have
non-free added to your lines in
/etc/apt/sources.list, use either
sudo to update your software sources with
sudo isn't in the Debian default (though I always install and configure it immediately with
visudo), I will give the "recipe" below as if you are using
su with the root pasword to get full privileges:
(enter the root password when prompted)
# apt-get update # apt-get install firmware-linux-nonfree firmware-realtek
Then reboot the box, and you are good to go.
The good news is that I can run X in OpenBSD 5.6 on my AMD A4 APU-equipped HP Pavilion g6 laptop. Before now, starting X would cause a kernel panic.
The bad news is that the laptop runs very, very hot.
This OpenBSD misc post explains it:
List: openbsd-misc Subject: Re: Slow performance on Radeon (HD7770) video card From: Jonathan Gray
Date: 2014-06-22 5:12:12 Message-ID: 20140622051212.GC9087 () mail ! netspace ! net ! au [Download message RAW] On Sat, Jun 21, 2014 at 10:32:55PM +0200, Julian Andrej wrote: > Hello, > > i'm getting really low performance on my ATI Radeon HD7770 video card. > glxgears runs at poor 27 fps and videos are stuttering (playback with > mplayer and different -vo options). We don't do acceleration on southern islands or newer Radeon parts because it depends on LLVM, glamor and drm backed EGL. This also requires the gbm part of Mesa which until very recently has only supported Linux and udev/systemd. Yes, even basic 2d acceleration requires this mess because xf86-video-ati only has OpenGL backed glamor acceleration for these parts, they didn't write any normal X style acceleration.
In the default configuration, my cpu is running at 70-80 degrees C as reported by:
$ sysctl hw.sensors
I was able to cool it down about 20 degrees C with this (as root):
# sysctl hw.setperf=0
I'm sure there's a way to get that parameter set automatically on boot, but I leave that to you (or for me another day).
So now I'm getting CPU temps of 50 to 65 degrees C, which is 122 to 149 degrees F. Not horrible, but not anywhere near the 95 to 120 degrees F that I get in Linux.
I did a few other OpenBSD 5.6 tests. I installed the Firefox browser and then the Xfce desktop environment.
Both worked well. Video playback from YouTube stuttered quite a bit. Audio was low, even when boosted via the Xfce volume control.
Then I installed GNOME, which consisted of adding the metapackage and making a couple of configuration changes.
That went well. I had a working GNOME 3 desktop in OpenBSD 5.6. I must say, it is probably more responsive than GNOME 3 in Fedora. It's pretty much like it is in Debian, except for the CPU heat and the fan blowing.
So the combination of excessive heat and fan noise along with poor video performance means I won't be doing much with OpenBSD on this particular laptop.
But it's always instructive to check in on OpenBSD with various hunks of hardware to see how they work together. OpenBSD has always been a project to watch, and I can only hope that hardware compatibility improves as development continues.