zoukankan      html  css  js  c++  java
  • ubuntu开机自动关闭独显,使用集成显卡

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


    ################################
    #欢迎交流讨论,如有转载,请注明来源
    http://www.cnblogs.com/elta/
    ################################

  • 相关阅读:
    WCF 入门例子
    C#傻瓜日志类
    ajax长链接拉实现
    linux命令备忘
    .Net 并发异步处理总结
    grafana初始化密码(转载)
    Android 调用照相机拍照
    自定义android控件EditText 自定义边框 背景
    JSON 请求的实现过程
    [转]Android开发教程:shape和selector的结合使用
  • 原文地址:https://www.cnblogs.com/elta/p/3288364.html
Copyright © 2011-2022 走看看