我成功地使用了开源 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
Run Code Online (Sandbox Code Playgroud)
在
/etc/rc.local
Run Code Online (Sandbox Code Playgroud)
前
exit 0
Run Code Online (Sandbox Code Playgroud)
这样做之后,我可以证明 rc.local正在执行(插入一个命令来创建一个有效的目录),但是
cat /sys/class/drm/card0/device/power_profile
Run Code Online (Sandbox Code Playgroud)
返回high而不是low.
同样,将power_profile手动设置为 root(甚至直接执行 rc.local)确实有效。但即使这样high,从挂起状态唤醒后,设置也会恢复。
我尝试过的其他方法没有成功:
/etc/sysfs.conf文件中添加规则/etc/init.d/您有什么理由可以阻止设置 radeon power_profile 从启动并在挂起后保留它?是否有另一个进程覆盖了我的设置?
感谢您的帮助!
PS …
我将 Ubuntu 11.10 与默认视频驱动程序一起使用,因为使用专有驱动程序时,动画/窗口移动/视频播放滞后且缓慢。使用默认驱动程序一切正常,只是一段时间后出现奇怪的图形故障并且卡本身正在燃烧。我不知道确切的温度,但是如果我在使用 Windows 时触摸卡是正常的,但是当我使用 Ubuntu 时它会燃烧(在两种情况下都没有任何压力)。
我知道这是一个常见问题,并且已阅读其他主题但无法解决。无论如何,昨天我找到了一个解决方案 - 我有 2 个图形卡(混合)并且它们都打开了。所以我关闭了一个并安装了 Jupiter 进行电源管理,从那里风扇安静了,我高兴得要命。
但是(:)),昨天晚上我还更新了系统和风扇,它的噪音又回来了。我检查了我是否只使用了 1 个显卡,我是。
c0dehunter@mintBox ~ $ sudo lshw -c video
[sudo] password for c0dehunter:
*-display
description: VGA compatible controller
product: RS780M/RS780MN [Mobility Radeon HD 3200 Graphics]
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 5
bus info: pci@0000:01:05.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm msi vga_controller bus_master cap_list rom
configuration: driver=radeon latency=0
resources: irq:18 memory:c0000000-cfffffff ioport:c000(size=256) memory:fbcf0000-fbcfffff memory:fbb00000-fbbfffff
Run Code Online (Sandbox Code Playgroud)
也许问题是(错误的)从 GPU 读取临时数据?
c0dehunter@mintBox ~ $ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +44.0°C …Run Code Online (Sandbox Code Playgroud)