我的本子是联想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没有办法启用。