善忘技术夹 Logo
善忘技术夹
技术文章 · 1692 阅读

联想Y460在ubuntu10.10下禁用独立显卡 - Coolfire的日志 - 网易博客

From Evernote:


联想Y460在ubuntu10.10下禁用独立显卡 - Coolfire的日志 - 网易博客

Clipped from: http://pangcy007.blog.163.com/blog/static/58694575201141642514761/

ubuntu下联想Y460双显卡禁用独显完美解决方案

联想Y460在ubuntu10.10下禁用独立显卡

默认分类 2011-05-16 16:25:14 阅读26 评论0 字号:大中小 订阅

首先声明:以下方法我认为是安全地,但不保证适合你的机器,操作前注意备份数据,如有意外请操作者自己负责!

我的的笔记本是联想Y460,有集成的i卡,还有独立的ATI HD5650,但是在运行Ubuntu的时候,因为没有什么需要独显的应用,就想到要关闭独显,只使用集显,省电又降温~

以下操作在我的Y460上是有效的(系统ubuntu 10.10,内核2.6.38rc3)(2.6.35.29经测试也可以),理论上适合类似的双显卡切换的笔记本,使用其他笔记本的同学请自行测试可用性,也欢迎反馈~~
准备工作:安装了ATI闭源驱动的请先卸载,在BIOS里禁用了双显卡切换的请先开启
首先在终端下执行这条命令:

cat /sys/kernel/debug/vgaswitcheroo/switch

如果类似这样(主要是两个状态都是Pwr):

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0

就说明你的两块显卡都开着,那么就按照下面的步骤做吧
建立一个脚本/usr/local/sbin/vgaswitcher

#!/bin/bash

if [ ”$(whoami)” != “root” ]; then
echo “Use as root”
exit 1
fi

if [ -z “$1” ]; then
cmd=“OFF”
else
if [ “$1” = “-i” ]; then
cmd=“DIGD”
elif [ “$1” = “-d” ]; then
cmd=“DDIS”
else
cmd=$1
fi
fi

if ([ “$cmd” != “OFF” ] && [ “$cmd” != “DDIS” ] && [ “$cmd” != “DIGD” ]); then
echo “Bad Command!“
exit 1
fi

echo “$cmd” > /sys/kernel/debug/vgaswitcheroo/switch
cat /sys/kernel/debug/vgaswitcheroo/switch

然后再建立一个启动脚本/etc/init.d/vgaswitch

#!/bin/bash

if [ “$1” != “start” ]; then
exit;
fi

/usr/local/sbin/vgaswitcher
/usr/local/sbin/vgaswitcher -i

都建立好以后,执行如下命令:

sudo chmod +x /usr/local/sbin/vgaswitcher /etc/init.d/vgaswitch && sudo update-rc.d vgaswitch defaults

重启就可以禁用掉独显了~
可以再次执行最开始的命令来查看状态:

cat /sys/kernel/debug/vgaswitcheroo/switch

现在应该是这样了(一个Pwr,另一个Off):

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

这样就好了~有兴趣的同学可以在关闭前后看看机器温度,我的从60度降到40度左右,还是很给力的~~~ *[HTML]: HyperText Markup Language