![什么原因导致无法在启动时设置 ATI / radeon power_profile 并在挂起后保留它?](https://linux22.com/image/962036/%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E6%97%A0%E6%B3%95%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E8%AE%BE%E7%BD%AE%20ATI%20%2F%20radeon%20power_profile%20%E5%B9%B6%E5%9C%A8%E6%8C%82%E8%B5%B7%E5%90%8E%E4%BF%9D%E7%95%99%E5%AE%83%EF%BC%9F.png)
我成功使用了开源 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_profile
为low
启动时启动,并在挂起恢复后保留该设置。
步骤 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