我的 HP Envy 1103-tx 笔记本电脑上的可切换显卡设置存在一些严重问题。
此款笔记本电脑配备:
- 英特尔高清显卡 4000
- AMD Radeon HD 7670M
ATI 卡变得非常热,导致笔记本电脑使用起来不舒服。
为了解决这些问题,我尝试了一些方法,但并没有真正完成:
设置电源配置文件使用
echo "low" > /sys/class/drm/card1/device/power_method
失败并出现Invalid argument
错误。没有设置额外的内核参数。关闭卡
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
最初使用它没有任何作用,在添加radeon.dpm=0
到内核参数后,该命令导致崩溃,出现黑屏和错误日志,硬件重启后修复。
系统信息:
[root@MISTRI ashesh] $ cat /proc/version
Linux version 4.1.6-200.fc22.x86_64 ([email protected]) (gcc version 5.1.1 20150618 (Red Hat 5.1.1-4) (GCC) ) #1 SMP Mon Aug 17 19:54:31 UTC 2015
设备信息:
[ashesh@MISTRI ~] $ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] (rev ff)
可切换显卡信息:
[ashesh@MISTRI ~] $ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[sudo] password for ashesh:
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0
非常感谢您的帮助;我真的想解决这个问题。
PS:我不赞成安装第三方专有驱动程序。
答案1
如果不安装专有驱动程序,就无法解决这个问题。
它们可以通过在终端中运行来安装
sudo apt-get install fglrx-updates
答案2
我有类似的设置(请参阅我的回答为什么我的配备 AMD Radeon HD 76xx 显卡的笔记本电脑在使用 Ubuntu 时会过热?),我可以通过使用这个脚本(我称之为ati-cooldown
):
#!/bin/bash
if [ -f /sys/class/drm/card1/device/power_dpm_state ]; then
cd /sys/class/drm/card1/device/
echo battery > power_dpm_state
echo low > power_dpm_force_performance_level
fi
if [ -f /sys/class/drm/card0/device/power_dpm_state ]; then
cd /sys/class/drm/card0/device/
echo battery > power_dpm_state
echo low > power_dpm_force_performance_level
fi
您需要使用 来运行它sudo
。要恢复正常运行,请使用balanced
而不是battery
和auto
而不是 来创建另一个脚本low
。
这if
是必需的,因为尽管大多数时候 ATI 卡都是编号的card1
,但有时它会被唤醒为card0
--- ,所以我检查并尝试了两者。
当我使用独立 GPU 时,其温度会降至 25°C 左右 ---如果它正在运行,那就是。
答案3
抱歉,但您出于什么原因想要避免使用专有驱动程序?Linux 内核根本无法支持它,制造商的专有驱动程序可以正常运行硬件,这样它就不会过热。
我能想想避免使用专有驱动程序的几个原因,但在这种情况下,这是你唯一的选择。硬件过热是一种安全隐患,如果热量进入你的身体,就会引发癌症。
你唯一的选择是真的想要避免使用专有驱动程序的方法是拆解通用 Linux 驱动程序和专有驱动程序,并合并专有驱动程序中负责风扇的部分。换句话说,如果你擅长编写脚本,你可以尝试这样做,但我一点也不赞同。这只是一个建议的替代方案,但如果你在编写脚本时犯了一个小错误,或者新的代码行不兼容,你可能会在你的腿上放一颗炸弹……或者你可能会烧坏风扇。
我强烈推荐专有驱动程序。它是由制造商编写的,并且已被证明是您使用的最佳选择,否则,制造商为什么要提供它?他们知道发热是 Linux 无法自行修复的一个缺陷,因此他们在驱动程序中修复了它。
我希望这篇文章对您有所帮助,但如果没有,请告诉我们您为什么坚决反对专有驱动程序。
干杯。