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

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

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

Bruno 的回复之后有更多详细信息:

我正在使用 Ubuntu:

  • 11.10 64 位,内核 3.0.0-15-generic(Zegnus,MBP 5,1)
  • 12.04 64 位,内核 3.2-0-24-generic(Megagolgoth,MBP 5,3)

我已经安装了 rEFIt 0.14 和 GRUB2 EFI64

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

outb 0x750 0

尽管文件顶部写着:

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_the_graphic_card结果也是一样的。

谢谢。

答案1

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

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。

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

#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

它应该包含:

#!/bin/sh
#
/path/to/igd

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

chmod +x /etc/pm/sleep.d/10igd

此文件将在挂起和恢复时执行。正确完成后,该 10igd 脚本将检查这是否是挂起/恢复/冻结/解冻,并仅在需要时执行。照原样,它会在所有情况下执行。没什么大不了的,在冻结或挂起期间运行它不会有什么坏处。

我的 mbp5,1 上的所有功能都运行正常:声音、LCD 背光、键盘背光、风扇转速低(自从禁用 9600M GT 以来)、类似 Apple 的快捷方式(CMD+C 复制)、Flash(几乎稳定)... 因此,如果您需要更多帮助,请咨询

相关内容