Ubuntu 12.04 安装后风扇狂转、机身发热严重,常见于双显卡(Intel 集显 + NVIDIA/AMD 独显)笔记本。内核 2.6.37+ 引入 vgaswitcheroo 机制,可手动切换至集显并关闭独显,大幅降低功耗与温度。本文提供命令行切换与开机自动化方案。
lspci | grep -i vga
# 典型输出:
# 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
# 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 540M]
uname -r
# 需 2.6.37 或更高版本
sudo -i
echo IGD > /sys/kernel/debug/vgaswitcheroo/switch # 切换至集显 (Integrated Graphics Device)
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch # 关闭未连接的独显
cat /sys/kernel/debug/vgaswitcheroo/switch
# 输出示例:
# 0:DIS: :Off:0000:01:00.0 (独显已关闭)
# 1:IGD:+:Pwr:0000:00:02.0 (集显供电中,当前活跃)
sudo gedit /etc/rc.local
# 在 exit 0 之前添加:
echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
# 保存退出
sudo chmod +x /etc/rc.local
Fn 亮度键可能控制错误的背光接口(acpi_video0 vs intel_backlight)。
# 设置初始亮度(数值范围视硬件而定,如 0-976)
echo 500 > /sys/class/backlight/intel_backlight/brightness
# 调整 Gamma 值(降低蓝光、缓解眼疲劳)
xgamma -gamma 0.7
将上述两行加入 /etc/rc.local 实现开机自动生效。
sudo gedit /etc/default/grub
# 找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# 修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force i915.semaphores=1 acpi_osi=Linux acpi_backlight=vendor elevator=noop i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1"
sudo update-grub
sudo reboot
参数说明:i915_enable_rc6 启用 RC6 深度休眠、enable_fbc 帧缓冲压缩、lvds_downclock 降低 LVDS 时钟频率,均可显著降低集显功耗。

通过 vgaswitcheroo 关闭独显、优化集显参数,Ubuntu 12.04 双显卡笔记本温度可下降 10-20°C,风扇噪音大幅降低,续航显著提升。