买了笔记本后就安装了Ubuntu 11.04,不过每次进去Ubuntu,电脑都特别热,也没有去找问题的根源。这两天闲下来搜索了以下,发现是因为两个显卡都在工作,发热太厉害,网上也给出了解决办法,就是关闭一个不用的显卡。由于我一开始就安装了AMD的闭源驱动,所以找不到/sys/kernel/debug/vgaswitcheroo文件夹,这是搜索了一阵子才发现是因为闭源驱动造成的。于是卸载了闭源驱动,然后在内核启动的时候加上参数 radeon.modeset=1来开启AMD显卡,这样启动的系统就有了vgaswitcheroo文件夹,然后就可以开关其中一个显卡了。
具体改动:
1. 修改/etc/default/grub,添加radeon.modeset=1参数,然后执行 update-grub
1: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=1"
2. 创建一个可执行的Script,内容如下,这样就可以用用script来控制显卡开关,实际上可以把这个东西作成启动执行的,不过我现在还没有弄。
1: SWITCH=/sys/kernel/debug/vgaswitcheroo/switch
2: if [ $# -eq 1 ]; then
3: if [ "$1" == "low" ]; then
4: echo "Turning on low-power card."
5: sudo sh -c "echo DINT > $SWITCH"
6: elif [ "$1" == "high" ]; then
7: echo "Turning on high-power card."
8: sudo sh -c "echo DDIS > $SWITCH"
9: elif [ "$1" == "off" ]; then
10: echo "Turning off unused card."
11: sudo sh -c "echo OFF > $SWITCH"
12: elif [ "$1" == "st" ]; then
13: cat $SWITCH
14: fi
15: else
16: echo "Commands: [low, high, off]"
17: echo
18: echo "Status:"
19: cat $SWITCH
20: fi
No comments:
Post a Comment