DRI

Comment 37 for bug 1319589

Revision history for this message
In , Freedesktop-jim-j (freedesktop-jim-j) wrote :

I can duplicate this problem with CentOS 7.1.

When I run kernel 3.10.0-229.1.2.el7.centos.plus I don't see (or at least notice) the performance issue after resuming from suspend, however I do receive the same errors. Additionally X will randomly hang (maybe 5% of the time) when I resume, I suspect this may be related to my video card (since those are the only errors I ever see when resuming).

When I run kernel 4.0.0-1.el7.elrepo.x86_64 I do have the performance issue after resuming from suspend (and receive the same errors). For me I see the huge graphics performance hit when I connect to a Windows 7 PC with xfreerdp. It's so slow it's unusable. However if I perform the same xfreerdp connection before I ever suspend/resume my PC it's very fast and responsive.

I found a work around which is to use the "radeon.dpm=0" kernel boot option. I did this by following these steps:
vi /etc/default/grub
-Append "radeon.dpm=0" to the end of the "GRUB_CMDLINE_LINUX" option:
grub2-mkconfig -o /boot/grub2/grub.cfg

Booting with "radeon.dpm=0" switched me to the "profile" pm method as shown with this command:
cat /sys/class/drm/card0/device/power_method
profile

With "radeon.dpm=0" I no longer get any error messages and I no longer have any performance issues after resuming from suspend. Time will tell if it fixes my random hang issue. I haven't checked yet if there's any noticeable power draw difference.

Below I've pasted some relevant hardware and log info.

My hardware:
Motherboard = GA-790FXTA-UD5/GA-790FXTA-UD5, BIOS F3j
CPU = AMD Phenom II X4 910e Deneb Quad-Core 2.6GHz Socket AM3 65W Desktop Processor
Video card = Gigabyte Radeon HD 4550 512 MB DDR3 (AMD RV710)

Two pages with useful information related to radeon power management:
https://wiki.archlinux.org/index.php/ATI#Dynamic_power_management
http://www.x.org/wiki/RadeonFeature/#index3h2

grep -i rv7 /var/log/messages
//With kernel 3.10.0-229.1.2.el7.centos.plus
Apr 29 08:18:58 black kernel: [drm:rv730_stop_dpm] *ERROR* Could not force DPM to low
Apr 29 08:18:58 black kernel: [drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed
//With kernel 4.0.0-1.el7.elrepo.x86_64, note that the error messages have slightly changed (added "[radeon]")
Apr 29 09:21:49 black kernel: [drm:rv730_stop_dpm [radeon]] *ERROR* Could not force DPM to low
Apr 29 09:22:40 black kernel: [drm:rv770_dpm_set_power_state [radeon]] *ERROR* rv770_set_sw_state failed

glxinfo |grep "OpenGL renderer"
OpenGL renderer string: Gallium 0.4 on AMD RV710