首先声明下,该文属于参考网络其他相关资料所撰,本人对原资料作了很多测试和实验,下列办法仅适用本人的系统环境,其他仅供参考。
============================================================
本文的原理实质上个人的理解是利用内核控制停止对设备进行供电,以达到禁用显卡功能。
注意需要linux kernel 2.6.38以上的内核才能支持双显卡切换。
-
查看当前使用的显卡
lspci | grep VGA
正常的话会显示出机器使用的两块显卡
[root@localhost ~]# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev ff) -
加载切换显卡模块
mount -t debugfs debugfs /sys/kernel/debug\\需要root权限
-
确认是否支持显卡切换
cat /sys/kernel/debug/vgaswitcheroo/switch
查看是否可以进行显卡切换,正常的输出类似于:
0:DIS: : Pwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
-
切换显卡
echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch\\切换到独立显卡echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch\\切换到集成显卡
-
关闭不用的显卡电源
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
用户登入自动禁用
vim ~/.bashrc \\在最后加入sudo mount -t debugfs debugfs /sys/kernel/debugsudo sh -c "echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch"sudo sh -c "echo OFF > /sys/kernel/debug/vgaswitcheroo/switch"su - \\使用root登入visudo \\在最后加入username ALL=NOPASSWD:/bin/mountusername ALL=NOPASSWD:/bin/umountusername ALL=NOPASSWD:/bin/echousername ALL=NOPASSWD:/bin/sh
说明,本人尝试了很多办法开机自动禁用,无奈网络上的很多办法均不适合本人系统环境,无奈只能使用用户登入自动禁用。
本文出自 “罗老三的运维之路” 博客,转载请与作者联系!