![使用 Radeon 驱动程序和 11.10 后暂停后恢复会出现故障。除了使用“unity --replace”之外,还有什么更好的修复方法吗?](https://linux22.com/image/1037591/%E4%BD%BF%E7%94%A8%20Radeon%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%92%8C%2011.10%20%E5%90%8E%E6%9A%82%E5%81%9C%E5%90%8E%E6%81%A2%E5%A4%8D%E4%BC%9A%E5%87%BA%E7%8E%B0%E6%95%85%E9%9A%9C%E3%80%82%E9%99%A4%E4%BA%86%E4%BD%BF%E7%94%A8%E2%80%9Cunity%20--replace%E2%80%9D%E4%B9%8B%E5%A4%96%EF%BC%8C%E8%BF%98%E6%9C%89%E4%BB%80%E4%B9%88%E6%9B%B4%E5%A5%BD%E7%9A%84%E4%BF%AE%E5%A4%8D%E6%96%B9%E6%B3%95%E5%90%97%EF%BC%9F.png)
我使用的是 Ubuntu Oneiric,并一直保持更新。我的 GPU 是 Radeon HD6970,我为其使用了开源 Radeon 驱动程序。我对“默认环境”所做的唯一更改是强制 GPU 使用低功率配置文件,方法是将“echo "low" > /sys/class/drm/card0/device/power_profile”添加到 /etc/rc.local。
每当我通过 Ubuntu 的电源/设置菜单暂停机器时,它都会正常休眠。但是唤醒后,会出现明显的图形故障。例如,窗口移动明显不够流畅,浏览器中的内容无法读取。按 Alt+F2 并输入“unity --replace”,尽管将所有窗口移到左上角,但可以解决这个问题。
现在我正在寻找一种更优雅,或者至少更自动化的方法来完成这项工作。在 IRC 上,我被告知要么修复驱动程序问题,要么在 pm-utils 脚本中添加上述命令。我不确定如何做后者,更不用说前者了。
有任何想法吗?
答案1
使用 pm-utils,您可以使用一个简单的脚本来更改电源配置文件,如下所示:
只需使用以下命令:
sudo gedit /usr/lib/pm-utils/power.d/ati
将此文本复制到 ati 文件中:
#!/bin/sh
case $1 in
true) echo low > /sys/class/drm/card0/device/power_profile ;;
false) echo high > /sys/class/drm/card0/device/power_profile ;;
*) exit $NA ;;
esac
exit 0
并使用此命令使其可执行:
sudo chmod +x /usr/lib/pm-utils/power.d/ati
对我来说很管用。使用电池时,我使用低配置;使用交流电时,我使用高配置。
您可以使用此配置文件(https://wiki.archlinux.org/index.php/ATI):
- “default” 使用默认时钟,不改变电源状态。这是默认行为。
- “自动”根据系统是否使用电池供电,在“中”和“高”功率状态之间进行选择。当显示器处于 dpms 关闭状态时,将选择“低”功率状态。
- “low” 强制 GPU 始终处于低功耗状态。请注意,“low” 可能会导致某些笔记本电脑出现显示问题;这就是为什么 auto 仅在显示器关闭时使用“low”的原因。
- “mid” 强制 GPU 始终处于“mid” 功率状态。当显示器处于 dpms 关闭状态时,将选择“low” 功率状态。
- “high” 强制 GPU 始终处于“high”功率状态。当显示器处于 dpms 关闭状态时,将选择“low”功率状态。