Mac 上带有 EFI 的专有 NVidia 驱动程序,可防止过热

Mac 上带有 EFI 的专有 NVidia 驱动程序,可防止过热

我在 2010 年中期的白色 MacBook 上安装了双启动 Mac OS X 10.8 和 Kubuntu 12.10 64x。(型号标识符:MacBook7,1。如果有必要的话,我已将 RAM 从 2GB 升级到 8GB。)我在 Kubuntu 上安装了专有的 NVIDIA 驱动程序。

从 Kubuntu 中的温度监控小部件来看,我的温度似乎比 Mac OS X 下高约 10℃。在 Mac OS XI 中使用温度监控器。我正在将 Kubuntu 中的 CPU 核心 0 和 CPU 核心 1 的值与 Mac OS X 中的 CPU 核心 1 和 CPU 核心 2 的值进行比较。

10℃以上可能不是什么大问题,但当我在电脑上做一些非常激烈的事情时(比如玩团队要塞2在 OSX 上玩了一会儿,CPU 温度就到了~70℃;在 Kubuntu 上玩了一会儿,CPU 温度就到了~80℃。我担心过高的温度会缩短笔记本的使用寿命。

我做了一些研究,发现可能是我在 BIOS 模式下安装了它,导致发热。我无法在 EFI 模式下安装它,因为专有的 NVidia 驱动程序无法工作(已经尝试过,但屏幕变黑)。有人知道如何让专有的 NVidia 驱动程序在 EFI 模式下工作吗?

编辑:好的,即使没有办法在 EFI 模式下使用专有的 nvidia 驱动程序(似乎没有办法做到这一点,我没有得到任何答案),如果可以在 BIOS 模式下修复加热问题,我就会很高兴。我至少怎样才能在 BIOS 模式下修复加热问题?我尝试将其放入 xorg.conf 中的设备部分以启用省电:

     Option         "DPMS" "1"
     Option         "RegistryDwords" "EnableBrightnessControl=1; PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3"

...但那没有用。

哦,顺便说一下,我没有使用 rEFIt,可能是这样吗?

答案1

对我来说,在加载 Nvidia 驱动程序的情况下以 UEFI 模式启动 Ubuntu 时,X 启动时也总是会出现众所周知的黑屏。

那是昨天的事!

在遇到一些非常有希望的信息之后另一个线程关于在 Mac 上以 UEFI 模式安装 Windows 7。那里的人们为 Windows 7 所需的 int 10h 旧版支持而苦恼,并发现为了解决这个问题,可以执行无人值守安装(因为安装期间显示器不工作)。即使使用 Nvidia 驱动程序,也要在 UEFI 模式下成功启动 Ubuntu 的关键信息在启动 EFI 启动时(同时交给 grub),苹果的固件实际上并没有激活 VGA 卡作为 PCI-E 总线主控。Windows 的工作人员解释了如何使用 EFI shell 来绕过这个问题,该 shell 会链式加载 Windows 启动管理器,以便至少在无人值守模式下运行安装程序。以下是好消息:在 GRUB 中很容易做到这一点

实际上,我现在正在一台 MacBook Pro 7,1(2010 年中)上输入这篇文章,该电脑运行着以 UEFI 模式启动的 Ubuntu Vivid(Xorg.0.log)。但是,它应该很容易在任何提供 EFI 版本 GRUB 的 Linux 发行版上运行或适配,例如 Ubuntu 14.04.2 LTS。

~$ dmesg | grep -i efi
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-15-generic.efi.signed root=UUID=7843c644-e6f4-4d64-9317-0b854cb524f2 ro quiet splash intremap=off acpi_osi=! acpi_osi=Darwin nomodeset vt.handoff=7
[    0.000000] efi: EFI v1.10 by Apple
[    0.000000] efi:  ACPI=0xbf96a000  ACPI 2.0=0xbf96a014  SMBIOS=0xbf71a000

长话短说,我们必须设置两个 PCI-E 寄存器:一个用于启用显卡上的总线控制,另一个用于启用显卡 PCI-E 桥上的 VGA 支持。因此,这实际上与 Nvidia 驱动程序无关,而且根据观点,甚至与 Apple 过时/残缺/随便你怎么说的 EFI 实现也无关。

这就是我解决问题的方法。当然,主要要感谢 MacRumors 论坛上的那些人。 免责声明以下说明按原样提供,不提供任何担保,我也不承担任何责任。请自行承担风险!

  1. 使用 Nvidia 驱动程序在 UEFI 模式下安装 Ubuntu

我不会在这里详细介绍,因为网上有很多文章向您展示了如何做到这一点,并最终导致 nouveau 驱动程序在安装 Nvidia 驱动程序后使您的机器发热或黑屏(例如www.rodsbooks.com/ubuntu-efi)。

但请注意,以下说明假设您已成功安装并以 UEFI 模式启动。您可以通过检查目录是否存在来验证这一点/系统/固件仅在 EFI 模式启动后创建。

  1. 找到正确的 PCI-E 总线标识符

我们需要显卡和它所连接的 PCI-E 桥的 ID。在 shell 中发出以下命令:

~$ sudo lshw -businfo -class bridge -class display
pci@0000:00:00.0              bridge         MCP89 HOST Bridge
pci@0000:00:03.0              bridge         MCP89 LPC Bridge
pci@0000:00:0e.0              bridge         NVIDIA Corporation
pci@0000:00:15.0              bridge         NVIDIA Corporation
pci@0000:00:16.0              bridge         NVIDIA Corporation
pci@0000:00:17.0     >!!<     bridge         MCP89 PCI Express Bridge
pci@0000:04:00.0     >!!<     display        MCP89 GeForce 320M

查看 (1) 显示行和 (2) 显示行之前的桥接行。记下桥接设备 (此处为 00:17.0) 和显示设备 (此处为 04:00.0) 的 PCI-E 总线 ID (格式 XX:YY.Z),并记住哪个是哪个。笔记:这些 ID 在您的机器上可能会有所不同,具体取决于您的 Mac 型号和版本。

  1. 创建 GRUB 脚本,用于在启动期间设置 PCI-E 寄存器

使用以下方式启动文本编辑器sudo nano /etc/grub.d/01_enable_vga.conf并复制/粘贴下面的内容。确保将所有 4 行粘贴到该文件中!代替 00:17.0与步骤 2 中记下的桥接设备的 PCI-E ID 一致。代替 04:00.0与步骤 2 中记下的显示设备的 PCI-E ID 一致。

cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF

最后,使创建的文件可执行,并使用以下命令更新 grub 配置文件命令。

~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub
  1. 重启并检查

如果重新启动后,寄存器值已设置为 8(桥接设备)和 7(显示设备),则一切正常:

 ~$ sudo setpci -s "00:17.0" 3e.b
 08
 ~$ sudo setpci -s "04:00.0" 04.b
 07
  1. 安装 Nvidia 驱动程序并享受!

使用 Ubuntu 的附加驱动程序GUI 安装 Nvidia 驱动程序。我建议遵循本文关于如何启用亮度控制,因为它开箱后就不能用了。

答案2

我的笔记本电脑也遇到过类似的问题,以下方法对我有用,希望可以帮到你。

首先,使用 Jupiter 帮助解决了大多数过热和电池寿命问题。
我的笔记本电脑平均运行温度为 50 摄氏度,在安装 Jupiter 之前运行温度为 68 摄氏度。

sudo 添加 apt-repository ppa:webupd8team/jupiter
sudo apt-get 更新
sudo apt-get 安装 jupiter

安装 Jupiter 之后,我安装了 Bumblebee,以使我的 nvidia 卡工作,并根据需要在 intel 和 nvidea 之间切换,以节省电池寿命并降低运行温度。

添加 apt 存储库 ppa:bumblebee/stable
sudo apt-get 安装 nvidia-current
sudo apt-get 安装 bumblebee bumblebee-nvidia

重启

然后测试看看它是否适用于

光学球体

要安装 Bumblebee GUI: https://askubuntu.com/a/170596/207851

此后,我的笔记本电脑平均运行温度为 47 摄氏度,电池平均可持续使用 3 小时(这是在听音乐和使用 Blender 等开发/3D 工作的情况下)。

祝你好运,希望这能有所帮助

答案3

我将尽力协助。

首先你是对的。你不能使用 EFI 模式和专有驱动程序。不仅如此,很多其他东西也会变得一团糟。目前,获得支持的最佳选择是在 BIOS 模式下安装。

现在说说热量。请记住,OS X 运行时温度较低,因为他们知道他们的“裆部加热器”在较高温度下会令人不快。也就是说,它们会过度冷却,所以您可以坐着不动,膝盖上放着 17 英寸的散热器。也就是说,您可以在 Linux 中控制一些东西,这样您也可以过度冷却(并保持温度较低)。

本守则非常好。编译它、运行它,并将其设置为在启动时启动,您应该会得到“更好”的结果。

您还可以手动控制风扇速度。

第一的

echo 1 > /sys/devices/platform/applesmc.768/fan1_manual  
echo 1 > /sys/devices/platform/applesmc.768/fan2_manual  

然后将速度回传给风扇控制器

echo 6000 > /sys/devices/platform/applesmc.768/fan1_input  
echo 6000 > /sys/devices/platform/applesmc.768/fan2_input  

6000 是您要设定的 RPM 速度(在上面的脚本中)。6000 是“官方”最大值。在此速度下,您会听到熟悉的起飞声音,并且 17 英寸散热器会变得非常冷。您还会很快烧坏风扇。2000 是最小值。我经常以 2000 运行,即使在玩游戏时也很少看到超过 3000。当然,这意味着它比在 OS X 中运行更热。

该型号 CPU 的官方最高温度为 105 摄氏度。因此您有足够的回旋余地。

PS:为了确保安全,请清洁你的呼吸道。

PPS 这是我的 mbpfan 配置,我用它来过度冷却(相当多),但它使笔记本电脑保持凉爽,比 OS X 凉爽得多。

[general]   
min_fan_speed = 3200    # default is 2000  
max_fan_speed = 6200    # default is 6200  
low_temp = 45       # try ranges 55-63, default is 63  
high_temp = 60          # try ranges 58-66, default is 66  
max_temp = 62           # do not set it > 90, default is 86  
polling_interval = 7    # default is 7  

我的做法是运行一些会真正占用 CPU 的程序,让 CPU 以 100% 的负载运行。然后让风扇以 6000 RPM 的速度运转,看看温度稳定在哪里。然后将该温度设置为我的“high_temp”。

将“max_temp”设置为稍高于该值的值。不要太高,但要高于过冷示例。

接下来将 CPU 调至省电模式。让风扇保持 6000 的转速,让 CPU 处于闲置状态。将该温度设置为“low_temp”。

最后,将风扇最低转速设置为“您喜欢”的转速。基本上,只要低到您听不到声音即可。

然后运行一段时间,看看效果。同样,该型号的 CPU 最高温度为 105 度,因此 Linux 让它达到 80 度并没有错。这不会造成任何损害。但是,改变风扇速度确实可以让外壳更凉爽(因为它是 CPU 和 GPU 的散热器,放在你的膝盖上会变得相当热),这纯粹是个人喜好问题。

对我来说,最低 50、最高 60 和最高 70 效果很好。但同样,这种调整水平完全取决于个人喜好。在这种过度冷却配置下,我的 CPU 温度从未超过 59。当然,它也相当响亮。

答案4

我正在将 Linux Mint 20 xfce 安装到 2010 年中期的 MacBook Pro 上。

我已按照这些步骤操作,我的 PCI 桥和视频的数字 ID 实际上与此处列出的相同(17 和 4)。我在 /etc/grub.d 中添加了脚本,但重新启动后,虽然“setpci”显示“setpci -s“04:00.0”04.b=7”行正在应用,但“setpci -s“00:17.0”3e.b=8”似乎没有,因为“setpci -s“00:17.0”3e.b”返回 02。

更奇怪的是,从根 shell 来看,“setpci -s“00:17.0”3e.b=8”确实适用,而“setpci -s“00:17.0”3e.b”返回 08。

我害怕切换到 nvidia 驱动程序,因为担心会出现黑屏?

感谢任何指导...

相关内容