联想Y460在ubuntu10.10下禁用独立显卡 - Coolfire的日志 - 网易博客
From Evernote: |
联想Y460在ubuntu10.10下禁用独立显卡 - Coolfire的日志 - 网易博客Clipped from: http://pangcy007.blog.163.com/blog/static/58694575201141642514761/ |
首先声明:以下方法我认为是安全地,但不保证适合你的机器,操作前注意备份数据,如有意外请操作者自己负责!
我的的笔记本是联想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度左右,还是很给力的~~~
我的的笔记本是联想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度左右,还是很给力的~~~