首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Macbookpro 5,1/5,2/5,3上禁用nvidia 9600M GT

如何在Macbookpro 5,1/5,2/5,3上禁用nvidia 9600M GT
EN

Ask Ubuntu用户
提问于 2011-10-28 20:08:32
回答 1查看 5.3K关注 0票数 1

我有一个MacbookPro 5,1/5,2/5,3有两个显卡,在默认情况下,我得到9600 M GT,消耗更多的电池比另一个。我不知道如何使它停用并激活第二个。

布鲁诺回答后的更多细节如下:

我在使用Ubuntu:

  • 11.10内核为3.0.0-15的64位-通用(Zegnus,5,1)
  • 12.04 64位,内核3.2-0-24-泛型(Megagolgoth,5,3)

我安装了rEFIt 0.14和GRUB2 EFI64

我修改了/boot/grub/grub.cfg文件中的条目,添加了

代码语言:javascript
复制
outb 0x750 0

尽管在文件的顶部写着:

代码语言:javascript
复制
DO NOT EDIT THIS FILE

It is automatically generated by grub-mkconfig using templates
from /etc/grub.d and settings from /etc/default/grub

我保存文件,引导,选择条目,然后我有一个黑色屏幕,没有更多的事情发生。

我也尝试过https://help.ubuntu.com/community/UEFIBooting#Selecting_这个_图形_卡片,结果也是一样。

谢谢。

EN

回答 1

Ask Ubuntu用户

发布于 2011-11-26 11:44:24

要禁用Nvidia 9600M GT,必须将以下内容添加到grub菜单项outb 750x0中,即:

代码语言:javascript
复制
menuentry 'Ubuntu, with Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux     --class gnu --class os {
    outb 0x750 0
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd0,gpt5)'
    search --no-floppy --fs-uuid --set=root bc495raf-515r-4r2b-b3de-0ec679a7303a
    linux   /boot/vmlinuz-3.0.0-12-generic root=UUID=bc495raf-515r-4r2b-    b3de-0ec679a7303a ro hpet=force
    initrd  /boot/initrd.img-3.0.0-12-generic
}

此外,在暂停后恢复后关闭电源:

在恢复时,离散图形控制器将被打开并激活。我们需要关闭它并切换回集成GPU。

这可以通过一个非常简单的小程序来完成:

代码语言:javascript
复制
#include <stdio.h>
#include <sys/io.h>

#define PORT_SWITCH_DISPLAY 0x710
#define PORT_SWITCH_SELECT 0x728
#define PORT_SWITCH_DDC 0x740
#define PORT_DISCRETE_POWER 0x750

static int gmux_switch_to_igd()
{
outb(1, PORT_SWITCH_SELECT);
outb(2, PORT_SWITCH_DISPLAY);
outb(2, PORT_SWITCH_DDC);
return 0;
    }

    static void mbp_gpu_power(int state)
{
    outb(state, PORT_DISCRETE_POWER);
    }

int main(int argc, char **argv)
{
if (iopl(3) < 0) {
perror ("No IO permissions");
return 1;
}
mbp_gpu_power(0);
gmux_switch_to_igd();
return 0;
}

将其保存在一个名为igd.c的文件中。用gcc -O2 igd.c -o igd编译它。这将创建一个名为igd的可执行文件。它以超级用户权限执行,它将关闭离散控制器并切换到集成控制器。

现在我们需要在简历上执行这个任务。创建一个名为/etc/pm/sleep.d/10igd的文件

它应包括:

代码语言:javascript
复制
#!/bin/sh
#
/path/to/igd

Where / path /to是将我们在上一步中创建的igd可执行文件放置在何处的路径。

代码语言:javascript
复制
chmod +x /etc/pm/sleep.d/10igd

此文件将在挂起和恢复时执行。正确的做法是,10 and脚本将检查这是否是一个挂起/恢复/冻结/解冻,并且只在需要时执行。就像-现在一样,它会在所有它们上执行。没什么大不了的,在冻结或暂停的时候运行它不会有什么害处。

我得到的一切工作在我的my 5,1:声音,液晶背光,键盘背光,风扇运行低(因为禁用9600M GT),苹果喜欢捷径(CMD+C复制),闪存(几乎稳定).所以问问你是否需要更多的帮助

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/73332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档