双显卡笔记本ubuntu下禁用独显

橙三吉。 提交于 2019-11-27 10:16:52
我的笔记本是Dell VOSTRO 3350,有集成的i卡,还有独立的ATI HD6630,但是在运行Ubuntu的时候,因为没有什么需要独显的应用,就想到要关闭独显,只使用集显,省电又降温~

以下操作在我的Dell VOSTRO 3350上是有效的(系统ubuntu 10.10,内核3.0.0-12),理论上适合类似的双显卡切换的笔记本,使用其他笔记本的同学请自行测试可用性,也欢迎反馈~~
准备工作:安装了ATI闭源驱动的请先卸载,在BIOS里禁用了双显卡切换的请先开启

首先在终端下执行这条命令:

sudo 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  #注释掉这句的原因是,
                                 #在Ubuntu 11.10上使用正常,
                                 #在Ubuntu12.04系统上,首次建立文件时使用正常,
                                 #后来更改了些服务,有了这句话反而无法禁用独显了
都建立好以后,执行如下命令:
sudo chmod +x /usr/local/sbin/vgaswitcher /etc/init.d/vgaswitch && sudo update-rc.d vgaswitch defaults

重启就可以禁用掉独显了~
 可以再次执行最开始的命令来查看状态:
sudo cat /sys/kernel/debug/vgaswitcheroo/switch

现在应该是这样了(一个Pwr,另一个Off):
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
这样就好了~有兴趣的同学可以在关闭前后看看机器温度,我的从60度降到40度左右,还是很给力的~~~

 

 

另外一种更简便的方法:

在/etc/rc.local文件的exit 0之前添加以下语句:

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch  #切换到集成显卡
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch  #关掉没有连接的其它显卡

ps:sudo gedit /etc/rc.local

可以使用以上提到的查看显卡的命令查看显卡状态:

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

 

参考:

1.  http://zhyu.me/linux/ubuntu-disabled-independent-graphics-card.html

2.  http://forum.ubuntu.org.cn/viewtopic.php?t=366609

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!