我的本子是联想y470p-ise,因为是有双显卡,而ubuntu在开机后,双显卡默认是同时工作,会产生巨大的发热,导致很不爽。而且在ubuntu下基本我也不用独显,所以有开机关闭独显的需求。
ubuntu自己就就可以驱动我的显卡,可以通过cat来查看显卡信息
elta@elta:~$ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[sudo] password for elta:
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
IGD是集显,DIS是独显。现在可以看到我集成显卡的状态是Pwr,就是开启;独显的状态是off,就是关闭。
以前知道关闭集显的命令,加了个脚本,每次开机要手动敲(因为要sudo权限运行,导致我之前一直都不知道怎么给它加成开机启动)。现在创建了一个系统服务,让它每次可以开机自动运行。
我就简单的贴一下代码吧。
文件路径为:elta@elta:~$ cat /etc/init.d/graphic
#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=graphic
DESC="config graphic to use iga only" case "$1" in
igd)
echo "Turn on all graphic"
(echo ON > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
echo "Use IGD"
(echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
echo "Turn DIS OFF"
(echo OFF > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
sleep 0.2
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
both)
echo "Turn on all graphic"
(echo ON > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
echo "Use DIS"
(echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
echo "Use IGD"
(echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
status)
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
stop)
;;
*)
echo "Usage: $NAME {igd|both|status}" >&2
exit 1
;;
esac exit 0
通过创建上面的文件,就创建了一个叫graphic的系统服务。这个名字是可以随便改的。然后我们通过运行
elta@elta:~$ sudo service graphic start
Use IGD
done
Turn DIS OFF
done
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
但是现在仍然是需要手动的,为了实现自动运行,我们在文件/etc/rc.local中加入服务启动命令service graphic start ,以后每次开机系统就会自动关闭独显了。
下面是我的rc.local文件
elta@elta:~$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing. service graphic igd exit 0
修改记录:
13.08.30:修改graphic文件和rc.local文件内容,修改了命令名称,添加了both命令,用户恢复双显卡同时使用,但这并没有实际意义,因为active的显卡仍然是集显。但是发现了一个问题,我用的内核是3.8.0-25,这个内核无法切换到只用独显,独显的active没有办法启用。