什么原因导致无法在启动时设置 ATI / radeon power_profile 并在挂起后保留它?

什么原因导致无法在启动时设置 ATI / radeon power_profile 并在挂起后保留它?

我成功使用了开源 radeon 驱动程序,并使用 KMS-power_profiles(见下面的链接)对显卡进行电源管理,以防止过热。但我无法在启动时设置 power_profile 并在挂起后保留它 - 所以每次启动或唤醒笔记本电脑时我都必须手动执行此操作。

askubuntu 和其他地方提出了几个关于在启动时设置它的问题,我尝试了所描述的所有方法,但没有成功。我是 (Ubuntu) Linux 的新手,但我相信我正确地遵循了说明。由于我无法作为新用户对答案发表评论,并且在网上搜索了几个小时也没有帮助,所以我将其作为新问题发布。请帮忙 :)

我正在使用:Ubuntu 12.04 x64 上的 ATI Mobility Radeon HD 4250(系列 R600)和 AMD RS880 上的 Gallium 0.4 = 安装时附带的默认开源驱动程序。

最常描述的方法是

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

/etc/rc.local

exit 0

完成此操作后,我可以证明 rc.local正在执行(插入一个命令来创建一个有效的目录),但是

cat /sys/class/drm/card0/device/power_profile

返回high而不是low

再次,以 root 身份手动设置power_profile(甚至直接执行 rc.local)确实有效。但即使如此,high从挂起状态唤醒后也会恢复到该设置。

我尝试过但没有成功的其他方法:

  • /etc/sysfs.conf安装 sysfsutils 包并向文件添加规则
  • 放入脚本/etc/init.d/

您能想到什么原因导致无法在启动时设置 radeon power_profile 并在挂起后保留它吗?是否有其他进程覆盖了我的设置?

感谢您的帮助!

PS:我不想使用专有驱动程序进行电源管理,因为它会带来其他严重的问题。

参考:

答案1

我仍然不知道为什么其他解决方案对我不起作用,但最终找到了使用 pm-utils 的有效解决方案。我不确定这是否是最好的方法,但它满足了我的所有愿望:将 radeon 设置power_profilelow启动时启动,并在挂起恢复后保留该设置

步骤 1:创建钩子

gksudo gedit /usr/lib/pm-utils/power.d/radeon-power_profile

第 2 步:填写所需设置

#!/bin/sh

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

exit 0

步骤 3:使其可执行

sudo chmod +x /usr/lib/pm-utils/power.d/radeon-power_profile

就是这样 :)

答案2

alt-f2:

gksudo gedit /etc/init.d/ati-power-save

在 ati-power-save 文件中写入:

#!/bin/sh

# ATI power save
echo profile > /sys/class/drm/card0/device/power_method
echo low > /sys/class/drm/card0/device/power_profile

保存并运行以下命令:

sudo chmod +x /etc/init.d/ati-power-save 
sudo update-rc.d ati-power-save defaults 99

如此处所述

相关内容