在Mac上具有EFI的专有NVidia驱动程序,以防止过热


13

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

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

摄氏10度可能不是一个很大的过热灾难,但是当我在计算机上做一些特别紧张的事情时(例如,玩Team Fortress 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,是这样吗?

Answers:


19

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

直到昨天!

另一个线程中遇到了一些非常有前途的信息,有关在Mac上以UEFI模式安装Windows 7。那里的人们为Windows 7所需的int 10h旧式支持而苦苦挣扎,发现要解决此问题,可以执行无人值守安装(因为在安装过程中显示不起作用)。即使使用Nvidia驱动程序也要在UEFI模式下成功启动Ubuntu关键信息是,在启动EFI引导(移交给grub时)时,Apple的固件实际上并未将VGA卡激活为PCI-E总线主控。Windows的人解释了如何使用EFI Shell规避此问题,该EFI Shell加载Windows启动管理器,以便至少在无人参与模式下运行安装程序。这是个好消息:在GRUB中很容易做到这一点

实际上,我现在在运行以UEFI模式(Xorg.0.log)启动的Ubuntu Vivid的MacBook Pro 7,1(2010年中)上键入此命令。但是,应该易于在任何提供GRUB EFI版本的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

我不会在这里进行详细介绍,因为网络上有很多文章向您展示了如何执行此操作,并且最终安装了Nvidia驱动程序后的nouveau驱动程序以热的方式运行您的计算机或黑屏(例如,www.rodsbooks.com) / ubuntu-efi)。

但是请注意,以下说明假定您已成功安装并以UEFI模式启动。您可以通过检查是否存在目录/ sys / firmware来进行验证,该目录仅在以EFI模式启动后才创建。

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

我们同时需要图形卡的ID和它所连接的PCI-E桥。在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),并记住是哪个。注意:根据您的Mac型号和版本,这些ID在您的计算机上可能不同。

3.创建GRUB脚本以在引导过程中设置PCI-E寄存器

使用sudo nano /etc/grub.d/01_enable_vga.conf启动文本编辑器,然后复制/粘贴以下内容。 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

4.重新启动并检查

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

 ~$ sudo setpci -s "00:17.0" 3e.b
 08
 ~$ sudo setpci -s "04:00.0" 04.b
 07

5.安装Nvidia驱动程序并享受!

使用Ubuntu的其他驱动程序 GUI安装Nvidia驱动程序。我建议按照本文介绍如何启用亮度控件,因为它不能立即使用。


您是否有可能链接到/etc/X11/xorg.conf文件?
帕特里克

抱歉,写这篇文章几个月后,我卖掉了机器。但是您可以尝试在以下Arch论坛论坛线程中提问bbs.archlinux.org/viewtopic.php?id=162289&p=4
Andreas

1

我的笔记本电脑有类似的问题,以下对我有用,希望对您有所帮助。

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

sudo add-apt-repository ppa:webupd8team / jupiter
sudo apt-get更新
须藤apt-get install jupiter

安装Jupiter之后,我安装了Bumblebee来使我的nvidia卡正常工作,并根据需要在intel和nvidea之间切换,以节省电池寿命并运行更凉爽的风扇。

附件库ppa:bumblebee / stable
sudo apt-get install nvidia-current
sudo apt-get install bumblebee bumblebee-nvidia

重启

然后测试看看是否可以使用

optirun glxspheres

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

此后,我的笔记本电脑平均可运行47摄氏度,电池平均可使用3个小时(这与听音乐和开发/ 3D工作(如使用Blender)有关)。

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


0

我会尽力协助。

首先你是正确的。您不能使用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并以100%的速度运行CPU。然后以6000 RPM的转速运行风扇,并观察温度稳定在哪里。然后将该温度设置为我的“ high_temp”。

将“ max_temp”设置为超出此范围的一点。不远了,但是再过冷却的例子。

下一步将CPU节能。并使其闲置,风扇仍保持在6000。将温度设置为“ low_temp”。

最后,以最低风扇速度将其设置为“您喜欢”。基本上足够低,您听不到。

然后您将其运行一会儿即可看到。同样,该模型的CPU最高温度为105度,因此Linux进入80年代并没有错。不会伤害任何东西。但是,更改风扇速度确实会使机箱保持较低的温度(因为这是CPU和GPU的散热片,在您的腿上会变得很热),这纯粹是首选。

对我来说,低50,高60和最大70效果很好。但是,再次进行这种级别的调整都是可以尝试的。有了冷却配置,我的CPU永远不会超过59。当然,它的声音也很大。


“您还将很快将您的粉丝烧光。” 这是否会打断我的粉丝?还是我误会了?否则,我会尝试的。
stommestack 2013年

以6000全时运行将很快耗尽它们。以更正常的速度(例如3000-4000)运行它们会很好。风扇的峰值应为6000而不是全时运行。
coteyr

我尝试安装它,但没有结果。我的MacBook仍然更热。我能感觉到热。
stommestack 2013年

您是否尝试过以6000手动运行风扇并清理气流路径?我的CPU温度目前为59.5,所有四个内核都为100%。
coteyr

这不是我的气流路径,因为在Mac OS X下它真的很酷。当我用手指按住左alt键时,在Ubuntu中会感到发热。但不是在Mac OS X
stommestack
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.