我的本子是聯想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沒有辦法啟用。