在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 Core 0和CPU Core 1值与Mac OS X中的CPU Core 1和CPU Core 2值进行比较。

10℃以上可能不是一个非常大的过热灾难,但是当我在我的电脑上做了非常激烈的事情(比如玩Team Fortress 2一段时间)我的CPU在OSX上达到~70℃,并且在Kubuntu上玩了一会儿,我的CPU是~80℃。 我担心温度越高可能会缩短笔记本电脑的使用寿命。

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

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

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

……但那没用。

哦,顺便说一下,我没有使用rEFIt,不是吗?

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

直到昨天!

在另一个关于在Mac上以UEFI模式安装Windows 7的线程中遇到一些非常有前景的信息之后。 那边的人们为Windows 7所需的10h传统支持而苦苦挣扎,并发现为了解决这个问题,可以执行无人值守安装(因为显示在安装期间不起作用)。 即使使用Nvidia驱动程序在UEFI模式下成功启动Ubuntu关键信息是,在启动EFI启动时(同时切换到grub), Apple的固件实际上并未将VGA卡激活为PCI-E总线主控 。 Windows的人解释了如何使用EFI shell来绕过这个问题,这个shell链接Windows启动管理器,以便至少以无人值守模式运行安装程序。 这是个好消息: 在GRUB中这很容易做到

事实上,我现在正在MacBook Pro 7,1(2010年中)在UEFI模式( Xorg.0.log )中运行的Ubuntu Vivid上输入 。 但是,它应该很容易运行或适应任何提供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寄存器:一个用于在video卡上实现总线主控,另一个在video卡的PCI-E桥上启用VGA支持。 因此它实际上与Nvidia驱动程序没有任何关系,并且取决于观点,即使Apple已经过时/残缺/您将其命名为EFI实现。

这就是我解决它的方式。 当然,kudo主要是在MacRumors论坛上的人。 免责声明以下说明按原样提供,不提供任何保证,也不承担任何责任。 请自行承担风险!

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

我不会在这里详细介绍,因为网上有很多文章向您展示如何执行此操作并最终安装Nvidia驱动程序后运行您的机器或使用黑屏的新手驱动程序(例如www.rodsbooks.com) / ubuntu-efi )。

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

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)并记住哪个是哪个。 注意 :这些ID可能在您的计算机上有所不同,具体取决于您的Mac型号和修订版。

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的Additional drivers GUI安装Nvidia驱动程序。 我建议按照本文介绍如何启用亮度控件,因为它不能立即使用。

我的笔记本电脑出现了类似的问题,以下对我有用,希望能帮到你。

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

 sudo add-apt-repository ppa:webupd8team / jupiter
 sudo apt-get update
 sudo apt-get install jupiter

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

 add-apt-repository 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)。

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

我会尽力协助。

首先你是对的。 您不能使用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转/分的速度运行风扇,看看温度在何处稳定。 然后将该温度设置为“high_temp”。

将“max_temp”设置为稍微超出的范围。 不远,但进一步冷却的例子。

下一步将CPU转为省电模式。 让它闲置在风扇仍在6000点。将温度设置为“low_temp”。

最后为最小风扇速度,将其设置为“你喜欢”的东西。 基本上只是足够低,你听不到它。

然后你跑了一会儿看看。 同样,模型的CPU最高温度是105度,因此Linux让它进入80年代没有错。 它不会伤害一件事。 改变风扇的速度,但确保套管冷却器(这是因为它是CPU和GPU的散热器可以在你的腿上变得温暖),这是纯粹的偏好。

对我来说,低50,高60,最高70,效果很好。 但是,这种程度的调整再次尝试。 随着冷却配置我的CPU永远不会超过59.当然它也很响亮。